Amazon Simple Queue Service logo

Amazon Simple Queue Service

Amazon Simple Queue Service

UpFreeOpen Sourcecloudby Amazon Web Services62· JavaScript· MIT

Amazon SQS is AWS-managed distributed message queue — at-least-once Standard queues and exactly-once FIFO queues.

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

No ops — scales to any throughput automatically

Watch for

Standard queues are at-least-once — duplicates possible

First check

Call SQS.createQueue via the AWS SDK; sendMessage to publish, receiveMessage to consume, deleteMessage when done. Configure Lambda triggers to skip polling.

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

Uptime · 30-day window

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

GitHub activity

62JavaScriptMIT17 open issuesLast commit 110d ago
01

About this API

SQS is one of AWS's oldest services (2006). It solves the classic 'app A produces, app B consumes async' problem fully managed — no RabbitMQ or Kafka to deploy, no HA or scaling to worry about. Standard queues offer near-unlimited throughput with at-least-once delivery and no order guarantee; FIFO queues guarantee order and exactly-once with lower throughput.

The key concept is visibility timeout: when a consumer reads a message, that message is hidden from other consumers temporarily. If the consumer calls deleteMessage in time, consumption succeeded; otherwise the message becomes visible again and another consumer retries. This makes 'automatic retry on failure' a built-in capability. Pair with a dead-letter queue to catch poison messages, and you have a production-grade async framework. SQS commonly pairs with Lambda — Lambda automatically polls SQS and triggers your function, the most common serverless async pattern.

02

What you can build

  • 1Decouple microservices so producers and consumers scale independently
  • 2Buffer spiky traffic to protect downstream services
  • 3Trigger Lambda for async batch processing
  • 4Power task distribution systems
03

Strengths & limitations

Strengths

  • No ops — scales to any throughput automatically
  • Visibility timeout retries failed consumers automatically
  • FIFO queues guarantee order and dedup

Limitations

  • Standard queues are at-least-once — duplicates possible
  • Message size capped at 256 KB (use S3 + reference for larger)
  • FIFO limited to 3,000 msg/s (30,000 with batching)
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 SQS.createQueue via the AWS SDK; sendMessage to publish, receiveMessage to consume, deleteMessage when done. Configure Lambda triggers to skip polling.

06

FAQ

How big is the free tier?+

Always free: 1M requests/month. Beyond that, Standard queues are ~$0.40 per million requests.

Standard or FIFO?+

FIFO when you need order or dedup; otherwise Standard offers higher throughput at lower cost.

What's the max message size?+

256 KB. For larger payloads, put the body in S3 and send a reference — the Extended Client Library automates this.

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
11 ms
Last health check
5/12/2026, 7:36:34 AM
08

Endpoints

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

GET
/{AccountNumber}/{QueueName}/#Action=AddPermission
Label:query*AWSAccountIds:query*Actions:query*AccountNumber:path*QueueName:path*+2 more
GET
/{AccountNumber}/{QueueName}/#Action=ChangeMessageVisibility
ReceiptHandle:query*VisibilityTimeout:query*AccountNumber:path*QueueName:path*Action:query*+1 more
GET
/{AccountNumber}/{QueueName}/#Action=ChangeMessageVisibilityBatch
Entries:query*AccountNumber:path*QueueName:path*Action:query*Version:query*
GET
/{AccountNumber}/{QueueName}/#Action=DeleteMessage
ReceiptHandle:query*AccountNumber:path*QueueName:path*Action:query*Version:query*
GET
/{AccountNumber}/{QueueName}/#Action=DeleteMessageBatch
Entries:query*AccountNumber:path*QueueName:path*Action:query*Version:query*
GET
/{AccountNumber}/{QueueName}/#Action=DeleteQueue
AccountNumber:path*QueueName:path*Action:query*Version:query*
GET
/{AccountNumber}/{QueueName}/#Action=GetQueueAttributes
AttributeNames:queryAccountNumber:path*QueueName:path*Action:query*Version:query*
GET
/{AccountNumber}/{QueueName}/#Action=ListDeadLetterSourceQueues
NextToken:queryMaxResults:queryAccountNumber:path*QueueName:path*Action:query*+1 more
GET
/{AccountNumber}/{QueueName}/#Action=ListQueueTags
AccountNumber:path*QueueName:path*Action:query*Version:query*
GET
/{AccountNumber}/{QueueName}/#Action=PurgeQueue
AccountNumber:path*QueueName:path*Action:query*Version:query*
GET
/{AccountNumber}/{QueueName}/#Action=ReceiveMessage
AttributeNames:queryMessageAttributeNames:queryMaxNumberOfMessages:queryVisibilityTimeout:queryWaitTimeSeconds:query+5 more
GET
/{AccountNumber}/{QueueName}/#Action=RemovePermission
Label:query*AccountNumber:path*QueueName:path*Action:query*Version:query*

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

09

Tags

10

More from Amazon Web Services