Amazon Simple Notification Service logo

Amazon Simple Notification Service

Amazon Simple Notification Service

UpFreeOpen Sourcecloudby Amazon Web Services62· JavaScript· MIT

Amazon SNS is the AWS pub/sub service — fans out messages to email, SMS, HTTP, Lambda, SQS, and more.

Visit site ↗Source ↗Health checked 9h ago
Use it when

One publish fans out to many subscriber types

Watch for

Delivery acknowledgment is not guaranteed (HTTP subscriptions can drop)

First check

Call SNS.createTopic to create a topic, subscribe to add endpoints (email, SQS, Lambda), and publish to send. SNS fans out to every subscriber automatically.

Auth
api_key
CORS
No
HTTPS
Yes
Signup
Required
Latency
10 ms
Protocol
REST
Pricing
paid
Stars
62

Uptime · 30-day window

Probes: 1Uptime: 100%Avg latency: 10ms

GitHub activity

62JavaScriptMIT17 open issuesLast commit 110d ago
01

About this API

SNS and SQS are the two pillars of AWS messaging — SQS is point-to-point queueing, SNS is pub/sub. A producer publishes a message to a topic, and SNS replicates and delivers to every subscriber. Subscriber types are remarkably diverse: email, SMS, mobile push (APNs, FCM), HTTP/S callbacks, SQS, Lambda, Kinesis Firehose, and more.

The classic pattern is SNS + multiple SQS for fanout: one event publishes to SNS, which pushes into several SQS queues so independent consumers can process it. Combined with subscription filter policies (JSON-based filtering on message attributes), each consumer only receives the subset of messages it cares about. FIFO topics are a newer feature offering ordered fanout — not as powerful as Kafka for dedicated stream processing, but appropriate for many in-AWS workloads.

02

What you can build

  • 1Send alert emails and SMS to operators
  • 2Push mobile notifications (APNs / FCM)
  • 3Fan out one message to multiple SQS queues
  • 4Receive CloudWatch alarm events
03

Strengths & limitations

Strengths

  • One publish fans out to many subscriber types
  • Subscription filter policies let subscribers receive only relevant messages
  • FIFO topics support ordered fanout

Limitations

  • Delivery acknowledgment is not guaranteed (HTTP subscriptions can drop)
  • SMS pricing varies by destination country and adds up internationally
04

Example request

Generic template — replace <endpoint> with the real path from the docs.
curl https://github.com/mermade/aws2openapi/<endpoint> \
  -H "Authorization: Bearer $API_KEY"
# Some providers use X-Api-Key instead — verify in the docs.
05

Getting started

Call SNS.createTopic to create a topic, subscribe to add endpoints (email, SQS, Lambda), and publish to send. SNS fans out to every subscriber automatically.

06

FAQ

SNS or SQS?+

SQS is a queue — multiple consumers compete for messages. SNS is broadcast — every subscriber receives each message. Combine them: SNS fanning out into many SQS queues.

How big is the free tier?+

1M publishes/month free. HTTP/S delivery is $0.60 per million. SMS is priced separately by destination country.

Subscriber isn't receiving messages — what now?+

Verify the subscription is confirmed (email subscribers must click confirm), and check whether the filter policy is filtering messages out.

07

Technical details

CORS: NoHTTPS: YesSignup: YesOpen source: Yes
Auth type
api_key
Pricing
paid
Protocols
REST
SDKs
python, javascript, java, go, ruby, csharp
Response time
10 ms
Last health check
5/12/2026, 7:36:34 AM
08

Endpoints

Parsed from the OpenAPI spec. Showing 12 of 84 non-deprecated endpoints.

GET
/#Action=AddPermission
TopicArn:query*Label:query*AWSAccountId:query*ActionName:query*Action:query*+1 more
POST
/#Action=AddPermission
Action:query*Version:query*
GET
/#Action=CheckIfPhoneNumberIsOptedOut
phoneNumber:query*Action:query*Version:query*
POST
/#Action=CheckIfPhoneNumberIsOptedOut
Action:query*Version:query*
GET
/#Action=ConfirmSubscription
TopicArn:query*Token:query*AuthenticateOnUnsubscribe:queryAction:query*Version:query*
POST
/#Action=ConfirmSubscription
Action:query*Version:query*
GET
/#Action=CreatePlatformApplication
Name:query*Platform:query*Attributes:query*Action:query*Version:query*
POST
/#Action=CreatePlatformApplication
Action:query*Version:query*
GET
/#Action=CreatePlatformEndpoint
PlatformApplicationArn:query*Token:query*CustomUserData:queryAttributes:queryAction:query*+1 more
POST
/#Action=CreatePlatformEndpoint
Action:query*Version:query*
GET
/#Action=CreateSMSSandboxPhoneNumber
PhoneNumber:query*LanguageCode:queryAction:query*Version:query*
POST
/#Action=CreateSMSSandboxPhoneNumber
Action:query*Version:query*

72 more endpoints not shown. See the OpenAPI spec for the full list.

09

Tags

10

More from Amazon Web Services