# Amazon SNS Pricing: Cost Per Message (2026 Guide)

By Marielos Chévez · 2026-10-31 · Source: https://www.activepieces.com/blog/amazon-sns-pricing-cost-per-message-2026-guide

---
<aside class="tldr"><p class="tldr-label">Summary</p><p>Amazon SNS charges per publish, then per delivery to each endpoint type, with SMS rates varying by destination country and no pricing tiers.</p><ul><li>Brazil $0.03 SMS, Australia $0.04, UK $0.05, Germany $0.10719 per message.</li><li>At 200 million publishes, deliveries cost roughly two-thirds of $717.33 monthly.</li><li>10,000 US texts cost about $64.50 per month.</li></ul></aside>

## Amazon SNS pricing today in one table

### The direct answer

Amazon SNS is **pay-as-you-go with no plans or tiers**.

A monthly free tier absorbs small volumes, and the invoice is driven by delivery channel, so the same publish can cost almost nothing when it feeds a queue or a workflow tool like [Activepieces](https://www.activepieces.com) and a lot when it reaches a phone, depending on who receives it.

![Identical envelopes, one into a tiny tray, one into a huge cash register](https://ap-marketing-media.fra1.cdn.digitaloceanspaces.com/uploads/90c40565-f16d-48a9-8ae6-bd96a689e5e6/amazon-sns-pricing-cost-per-message-2026-guide-i-92b75231.webp)

Amazon SNS pricing is the pay-as-you-go charging model for AWS's Simple Notification Service, in which you pay per publish, per delivery to each endpoint type (such as SMS, HTTP, email or mobile push), and for data transfer and FIFO topic extras, after a monthly free tier.

SNS is AWS's managed publish/subscribe service: you publish once to a topic, and it fans the message out to queues, functions, web endpoints, inboxes and phones.

Billing starts at the publish and then adds a charge for each kind of delivery, which is why a client invoice built on publish counts alone will be wrong.

### The pricing table, with descriptive cells

The table below lays out every pricing dimension with its rate basis, what that rate covers and where it stops. Read the rate column as a list of separate meters, because each one can land on a different client's line.

I've kept the cells descriptive and left exact amounts to the AWS pricing page, since they vary by region and change.

| Dimension | Rate | What is included | Limit |
|---|---|---|---|
| Standard publish | Per publish request | Topic fan-out, unordered | Larger payloads count as more than one request |
| FIFO publish | Per publish request, priced apart from standard | Ordering and deduplication | Ordering applies within a message group |
| FIFO subscription | Per delivery to each subscription | Ordered delivery to queues | Queue endpoints only |
| SQS/Lambda | No separate delivery charge | Delivery to queues and functions | Data transfer can still bill |
| HTTP/S | Per delivery | Delivery to your endpoint | Data transfer out bills separately |
| Email | Per message delivered | Delivery to the inbox | Intended for notifications, not marketing |
| Mobile push | Per notification delivered | Delivery through the platform service | Depends on each push platform |
| SMS | Per message, set by destination country | Carrier delivery | Account spend quotas apply |
| Payload limit | Not a charge | A cap on one message | Exact cap is on the pricing page |
| Free tier | Monthly allowance | Small volumes on some channels | Does not cover every channel |

### Why Amazon SNS has no pricing tiers

None of these rows has a plan to buy, so nothing is bundled and nothing shields you from a spike in one channel.

If you run several clients through one account, the free tier and the cheap queue deliveries are **quietly subsidizing whichever client sends the most SMS**.

[Activepieces](https://www.activepieces.com) puts its meter in a different place: it charges 1 credit per run, so a ten-step alert flow costs what the two-step workaround did, and breaking a client's flow into smaller, more reliable steps is never penalized the way it is under Zapier's per-task or Make's per-module billing.

The next sections price each of those channels separately so you can assign them correctly.

## Monthly SNS bills at realistic message volumes

The delivery channel sets the invoice. At 100 million messages a month, the same publish count can cost a few hundred dollars on queues or hundreds of thousands on SMS.

Read the gaps between the lines, because each gap is a cost you must bill to whoever chose that channel.

### SNS pricing for queue and function fan-out

Publishes are the smallest part of a fan-out bill. In [CloudCostKit's calculator](https://cloudcostkit.com/calculators/aws-sns-cost-calculator/), a 200-million-publish month carries $100 in publishes, $137.33 in data transfer and $480 in deliveries.

viz type=stackrank title="Where an SNS bill goes, by cost component" unit="$ per month" source="CloudCostKit - https://cloudcostkit.com/calculators/aws-sns-cost-calculator/"00 for publishes and 
Deliveries are therefore **about two-thirds of the $717.33 total**, so adding one more subscriber to a topic raises the bill more than doubling the publishers would. Price the subscriber count, not the publish count.

### SNS pricing for HTTP and email delivery

Five customer endpoints means five billable deliveries for one event, because HTTP and email are billed per delivery, not per publish.

The same CloudCostKit split shows why this matters: delivery is the line that scales with fan-out, and it's the one a flat client retainer rarely covers.

If a client's integrations push to many external URLs, quote them a per-endpoint rate. Otherwise your shared account absorbs the growth.

### Transactional SMS at 10,000 texts a month

At roughly $0.00645 per US transactional message, **10,000 texts cost about $64.50 a month**, though AWS says SMS prices are for guidance only and change frequently, so check your usage reports.

That's modest, but it's already more than the $100 publish line above buys per thousand-dollar equivalent of work, and it moves with destination country.

A client who texts abroad is on a different price list, so itemize SMS by country on the invoice. Leaving it in a blended rate means US-only clients quietly subsidize the international ones.

## Hidden SNS costs and limits

International texts are one of several charges a blended rate hides: payload size, subscriber count, SMS routing, data transfer and FIFO are each priced apart from the publish.

The table gives each rate or limit and what it does to the invoice, so price clients on the effect column, not the publish count.

| Item | Rate or limit | Effect |
|---|---|---|
| 64 KB request chunks | Each 64 KB billed as one request | Large payloads multiply request charges |
| Per-subscriber delivery | Counted for every subscriber | Fan-out multiplies the cost of one publish |
| SMS by country | Brazil $0.03, Australia $0.04 | Destination mix sets the SMS bill |
| Spend quota | Account-level monthly SMS cap | Campaigns stall when it is hit |
| Data transfer | $0.09/GB | Internet delivery adds a per-GB charge |
| FIFO | $0.30/M plus $0.017/GB | Ordering carries a premium |

The sections below put figures on each row.

A 200 KB message bills as four requests, not one. Each subscriber delivery is counted too, so ten endpoints make one publish ten deliveries. Quote clients per subscriber, or the heavy fan-out accounts ride on the light ones.

![One message split into four chunks fanning out to ten endpoints](https://ap-marketing-media.fra1.cdn.digitaloceanspaces.com/uploads/cbe312cb-3193-42d9-b588-d8536f02fdb0/amazon-sns-pricing-cost-per-message-2026-guide-i-a8b07198.webp)

### SMS: country rates, sandbox, spend quota and number fees

In the [AWS SNS rate comparison](https://yoonkyu-lee.github.io/sms-api-pricing/aws-sns-sms-pricing.html), Canada is $0.007 per text, **Brazil $0.03, Australia $0.04, the United Kingdom $0.05** and India $0.071, revealing that geographic distribution of your user base fundamentally shapes your SMS budget. Germany is $0.10719.

![What an SNS text costs by destination country](https://ap-marketing-media.fra1.cdn.digitaloceanspaces.com/uploads/1ee1f769-11ef-4349-b977-b4e4a307e00c/amazon-sns-pricing-cost-per-message-2026-guide-d-9f425a04.svg "Source: AWS SNS rate comparison")

A German text costs about fifteen times a Canadian one, so a flat per-text price loses money on German traffic.

New accounts start in the sandbox, which only texts verified numbers, and the spend quota stops sending at the cap. Dedicated number fees come on top.

Per [EgressCost and CalcChef](https://egresscost.com/aws/cross-region-data-transfer/), internet egress is $0.09 per GB, cross-region transfer $0.02 per GB, and delivery to us-east-2 $0.01 per GB. Keeping subscribers in the publisher's region avoids the cross-region charge, so bill the client who insists on spreading endpoints.

![What AWS data transfer adds to an SNS bill per GB](https://ap-marketing-media.fra1.cdn.digitaloceanspaces.com/uploads/7cd9ed59-6236-46c7-a22c-dbf6a25e3195/amazon-sns-pricing-cost-per-message-2026-guide-p-3b517273.svg "Source: EgressCost and CalcChef")

FIFO costs $0.30 per million requests plus $0.017 per GB. Ordering is a premium feature, so charge it only to the client who needs strict sequence.

## Amazon SNS against its closest alternatives on price

For a client who only fans events out to queues and functions, SNS is the cheapest of the four. Once that client's invoice is mostly SMS, it is the worst fit.

The table shows the meter each vendor runs on, taken from their own pricing pages, without rate figures; read it for which unit you can bill a client against.

| | Price per million messages | Free tier | Per-delivery vs per-publish | SMS handling | Cost at 50M messages a month |
|---|---|---|---|---|---|
| SNS | Low per publish, with delivery fees added by channel | Monthly free allowance | Both: publish plus delivery by channel | Built in, priced by destination country | Small for queues, large once SMS or push joins |
| Google Cloud Pub/Sub | Billed by data volume, not message count | Monthly free allowance | Volume published and volume delivered | None | Moves with payload size |
| Azure Event Grid | Per operation | Monthly free operations | Per event operation | None; hand off to another service | Tracks event count closely |
| Twilio SMS | Per message segment, no per-million rate | Trial credit only | Per message sent | The core product, with carrier fees by country | Almost entirely an SMS bill |

Only SNS and Twilio put a country-specific price on text messages, so those two are where a shared account can hide a cross-subsidy.

Google [Cloud](https://cloud.google.com/pubsub/pricing) Pub/Sub is Google's messaging service and charges by bytes, so a client sending large payloads costs more than one sending many small ones.

Azure Event Grid, Microsoft's event routing service, charges per operation, which makes invoices easy to forecast. If your clients send large messages, SNS's per-publish pricing is the friendlier meter.

When a client needs sender registration, delivery reporting or a specific country's routing, Twilio is usually the better fit, since it sells SMS as its main product. SNS wins when texts are occasional alerts inside an AWS stack.

Past that, a dedicated provider is the better choice, and the client should carry its cost directly.

## Cutting an SNS bill without changing architecture

Until a client reaches that point, the shared account can still be made cheaper by working down this list, largest saving first.

The order follows what each channel costs per delivery, so the top items shrink the lines that were driving the invoice in the earlier examples.

1. Move SMS to email or mobile push wherever the message isn't time-critical. Text delivery is priced by destination country, so this removes the biggest and most volatile line.
2. Batch publishes so one request carries several messages. The saving is real but modest, because request charges were never the main cost.
3. Add filter policies so subscribers receive only the messages they use. Every skipped delivery to HTTP or push is a charge that never happens.
4. Trim payloads so messages stay under the size boundary that triggers extra request units.
5. Keep publishers, topics and subscribers in one region, which removes cross-region data transfer.
6. Set budgets and SMS spend quotas, which save nothing directly but cap the damage from a runaway loop.

**Stopping a bad month is worth more than shaving a good one, so the last item belongs on every account.**

When one topic fans out to many subscribers and most of them discard what they receive, filtering pays the most. You're billed for deliveries, so a message nobody acts on is pure cost, and a shared account hides that waste inside one client's usage.

Batching is the smaller lever, worth doing in code that already publishes in bursts.

Set the SMS spend quota per account, and set a budget alert at a fraction of the client's retainer, not at the ceiling. An alarm that fires at the limit reports a loss after the fact.

![Alert bell on a gauge placed well below the ceiling](https://ap-marketing-media.fra1.cdn.digitaloceanspaces.com/uploads/e8dfd6a2-9ba7-4b1a-82df-13348a2efbd0/amazon-sns-pricing-cost-per-message-2026-guide-i-e1b479ab.webp)

One that fires early lets you invoice the overage to the client before the shared account absorbs it.

## Publishing to Amazon SNS from Activepieces workflows

The early warning only pays off if someone can send it. Activepieces lets a non-engineer trigger an SNS publish from a CRM, a form or a schedule, and MoneyGram, Moneypenny, Alan and FundingSocieties run it in production.

Every message is still billed by SNS at the rates above.

### What the integration does

Activepieces builds flows out of a trigger, steps and an action, drawing on 746 integrations in an MIT-licensed core, and the Amazon SNS integration supplies an action that publishes to your topic, so SMS notifications can be triggered directly from automated workflows without custom code.

The flow below was built for Discord, not SNS, but it shows the shape.

It has a trigger on the left, a configuration panel on the right with a connection and a cap on how many items each run pulls, and a router that decides which branch fires.

![Activepieces workflow builder displaying a multi-step automation flow with Discord integration and configuration panel.](https://ap-marketing-media.fra1.cdn.digitaloceanspaces.com/uploads/9a2f9453-5d17-431e-bd52-2c6241d6bb0a/best-wix-alternatives-for-2026-a-guide-to-scalin-0b5edc00.webp)

Swap the final Discord step for an SNS publish and you have the same structure for your alerts.

That cap matters for your invoice. A flow that publishes on every trigger sends as many messages as it's triggered, and you pay for each at its channel's rate.

Activepieces adds no SNS fees of its own, and it doesn't make SMS to an expensive country any cheaper.

Its own bill is separate: 1 credit per run however many steps the flow has, with 1,000 credits a month on the free plan and 10,000 on Plus at $20 a month.

### When it's worth using and when direct SDK calls are better

If the person who owns the trigger isn't the person who writes code, use it. That might be an account manager who wants a threshold alert from the CRM, or an ops lead who wants a scheduled usage notice.

They can change the rule without a ticket.

Direct SDK calls are better when publishing sits inside your product's hot path. They also win when you need tight control over retries and message attributes, or when volume is high enough that you want the publish logic in version-controlled code.

Treat Activepieces as a convenience for who can pull the lever, not a way to lower the cost of pulling it. Flows are unlimited on every plan, including free, so only runs move its side of the bill.

## Monday checklist for pinning down your SNS cost

Start with last month's bill grouped by usage type, because that shows which delivery channel is charging you. The channel, not the publish count, decides what a given topic costs.

### Read the bill by usage type

Open AWS Cost Explorer, the billing console's reporting view, filter to SNS, and group by usage type. Look for whether SMS lines or delivery lines (HTTP, mobile push, data transfer) are the larger share.

<blockquote class="pull"><p>The channel, not the publish count, decides what a given topic costs.</p></blockquote>

If SMS leads, group again by destination country, since that's where a single chatty client can cost more than everything else combined.

Where your total and the bill disagree, you've found a line item you didn't know you were running, and that's the one to price into the client's invoice. Look up the current rates for your region on the AWS pricing page to recompute each line.

![Connections in Builder](https://ap-marketing-media.fra1.cdn.digitaloceanspaces.com/uploads/d8d04b82-6618-463f-84b1-265c56fc6d0e/what-is-a-webhook-payload-structure-and-examples-b1415806.webp)

### Setting SNS budget alarms and SMS quotas

Create a budget alarm scoped to SNS so overspend reaches a person before the invoice does. Then review the account's SMS spend quota, the monthly ceiling SNS enforces on text messages.

If it sits far above what you actually send, a runaway loop or a misconfigured client can spend into that headroom, and a shared account makes everyone else pay for it.

The workflow below catches the alarm as a webhook, reads a stored connection by its external ID, and posts to a Slack channel.

What to take from it: the alert lands where the account owner already works, and the credential lives in one connection rather than pasted into each step.

Before you rely on it, fill in the external ID field, and decide whether a failed step should retry or continue, since a silent failure here means a silent alarm.

Put a quarterly reminder on the calendar to compare the SNS pricing page against your table. Rates and free allotments change, and a retainer priced on last year's numbers quietly shifts margin to or from the client.

## Frequently asked questions

### Is Amazon SNS free?

Only at low volume: AWS includes a monthly free allotment for publishes and some deliveries, and past it you pay per request and per delivery channel.

Quote a client on the channels they use, because SMS and mobile push stop being free long before email-style or queue deliveries do.

### Does SNS charge for failed deliveries?

It depends on the channel, so check the current pricing page for each one. A failed SMS can still cost you, since carriers and destinations differ, and retries to an HTTP endpoint add to delivery volume.

Budget for failures as a share of sends, and don't assume a bounce is free.

### Is SNS cheaper than SQS?

Not as a rule, because they bill different things. SNS charges for publishing and for each delivery by channel, while SQS charges for requests.

Delivering from SNS to an SQS queue is usually among the cheapest SNS paths, but you then pay SQS request costs when consumers read the messages. Compare the whole path, not one service's headline rate.

### Do SNS prices differ by AWS region?

Yes. Rates for requests, data transfer and some deliveries vary by region, and SMS pricing varies mainly by destination country.

If a client's workload runs in a different region from the one you priced, redo the estimate rather than reusing the old one. Otherwise your own account absorbs the difference.

### How do I estimate SNS cost before launch?

Estimate by channel, not by publish count. For each topic, list the expected publishes, the subscribers per message, the delivery type of each subscriber, the average payload size, and for SMS the destination countries.

Price each delivery line separately, add data transfer and any FIFO extras, then add a margin for retries and growth. Review it whenever rates change, so no client quietly rides on your account.

## Related reading

- [Amazon Lambda Pricing: Cost Breakdown for 2026](https://www.activepieces.com/blog/amazon-lambda-pricing-cost-breakdown-for-2026)
- [Amazon S3 Pricing: The Complete 2026 Guide to Costs](https://www.activepieces.com/blog/amazon-s3-pricing-the-complete-2026-guide-to-costs)
- [Amazon Bedrock Pricing (2026): Models and Token Costs](https://www.activepieces.com/blog/amazon-bedrock-pricing-2026-models-and-token-costs)

## References

- [CloudCostKit](https://cloudcostkit.com/calculators/aws-sns-cost-calculator/)
- [AWS SNS rate comparison](https://yoonkyu-lee.github.io/sms-api-pricing/aws-sns-sms-pricing.html)
- [EgressCost and CalcChef](https://egresscost.com/aws/cross-region-data-transfer/)
