AWS SNS (Simple Notification Service) provides pub/sub messaging with delivery to SQS, Lambda, HTTP endpoints, email, SMS, and mobile push. The cost varies dramatically by delivery channel — SQS and Lambda deliveries are cheap, while SMS can be expensive. Understanding channel-specific pricing prevents bill surprises.
TL;DR: SNS publishes cost $0.50 per million requests. Delivery costs vary: SQS/Lambda deliveries are free, HTTP/S costs $0.60 per million, email costs $2.00 per 100K, and SMS costs $0.00645 per message (US). For system-to-system messaging, SNS is extremely cheap. For user-facing SMS notifications, costs add up fast.
SNS Pricing by Component
Publishing
| Component | Cost |
|---|---|
| Publish requests | $0.50 per million |
| 64 KB chunk | Each 64 KB = 1 request |
| Free tier | 1M publishes/month (first 12 months) |
Delivery Pricing by Channel
| Delivery Channel | Cost |
|---|---|
| SQS | Free |
| Lambda | Free |
| HTTP/S endpoints | $0.60 per million |
| Email/Email-JSON | $2.00 per 100,000 |
| Kinesis Data Firehose | Based on Firehose pricing |
| Mobile push (APNs, FCM) | $0.50 per million |
SMS Pricing (Selected Countries)
| Country | Cost per SMS |
|---|---|
| United States | $0.00645 |
| United Kingdom | $0.04000 |
| Germany | $0.07920 |
| India | $0.02723 |
| Australia | $0.04920 |
SMS is the most expensive SNS channel. 100,000 SMS to US numbers costs $645.
Real-World Cost Examples
| Use Case | Monthly Cost |
|---|---|
| Microservice pub/sub: 50M messages to SQS | $25.00 (publish only) |
| Alert system: 1M messages to Lambda + 10K emails | $0.70 |
| User notifications: 500K SMS (US) | $3,225 |
| Mobile push: 10M notifications | $5.50 |
Cost Optimization Tips
1. Use SNS Message Filtering
Without filtering, every subscriber receives every message and you pay for each delivery. Message filtering lets subscribers receive only relevant messages, reducing delivery costs.
2. Prefer SQS/Lambda Subscribers
SQS and Lambda deliveries are free. Route messages through SQS for fan-out instead of HTTP endpoints when possible.
3. Batch SMS with Amazon Pinpoint
For high-volume SMS, Amazon Pinpoint offers campaign management and potentially lower per-message costs with dedicated origination numbers.
4. Use SNS FIFO Topics Only When Needed
FIFO topics cost the same but have lower throughput limits (300 publishes/second vs unlimited for Standard). Use Standard topics unless ordering matters.
Related Guides
- AWS SQS Pricing: Standard vs FIFO Queue Costs
- AWS Lambda Pricing Guide
- AWS API Gateway Pricing Guide
- AWS CloudWatch Pricing Guide
FAQ
Is SNS cheaper than EventBridge for pub/sub?
For simple fan-out to AWS services, SNS is cheaper ($0.50/million publishes vs $1.00/million events for EventBridge). EventBridge adds value with content-based filtering rules and third-party integrations.
How do I reduce SMS costs with SNS?
Use Transactional SMS type only for critical alerts (OTP codes). Use Promotional type for marketing (cheaper in some regions). Consider alternatives like email or mobile push for non-critical notifications.
Does SNS have a permanent free tier?
Partially. The first 1 million publishes/month and 1,000 email deliveries are free for the first 12 months only. SQS and Lambda deliveries remain free always.
Lower Your SNS Costs with Wring
Wring helps you access AWS credits and volume discounts to lower your SNS costs. Through group buying power, Wring negotiates better rates so you pay less per notification.
