# Upstash QStash vs Amazon SQS

Canonical: https://inetgeek.com/compare/qstash-vs-amazon-sqs/

Every value below is read from Upstash QStash's and Amazon SQS's own documentation. See https://inetgeek.com/methodology/ for how.

## At a glance

| Criterion | Upstash QStash | Amazon SQS |
| --- | --- | --- |
| Free tier | Yes | Yes |
| Pricing model | Per message rather than per operation, metered against a daily ceiling on the free plan and priced at $1 per 100,000 on Pay as You Go, with monthly bandwidth caps alongside — 50 GB on the smaller plans, 1 TB and 5 TB above. | Per request, not per message: every API action counts, and a 1 MiB payload is billed as 16 requests. FIFO queues cost $0.50 per million against standard's $0.40 in us-east-1, and fair queue requests add $0.10 per million on top of the standard rate. |
| Included per month | 1,000 messages a day on the free plan. Pay as You Go is $1 per 100,000 messages with no daily cap; fixed plans run $180 a month for 1M a day and $420 for 10M. | 1,000,000 requests a month free, permanently and across all regions. Beyond that, standard queues are $0.40 per million in us-east-1, falling to $0.30 above 100 billion and $0.24 above 200 billion. |
| Maximum message size | 1 MB on the free plan, 10 MB on Pay as You Go and 50 MB on the fixed plans. | 256 KB per message. A single request carries 1 to 10 messages up to 1 MiB total, and each 64 KB chunk of payload is billed as one request. |
| Dead letter queue | Supported | Supported |

## Where they differ

### Pricing model

- Upstash QStash: Per message rather than per operation, metered against a daily ceiling on the free plan and priced at $1 per 100,000 on Pay as You Go, with monthly bandwidth caps alongside — 50 GB on the smaller plans, 1 TB and 5 TB above. ([source](https://upstash.com/pricing/qstash))
- Amazon SQS: Per request, not per message: every API action counts, and a 1 MiB payload is billed as 16 requests. FIFO queues cost $0.50 per million against standard's $0.40 in us-east-1, and fair queue requests add $0.10 per million on top of the standard rate. ([source](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AWSQueueService/current/us-east-1/index.json))

### Included per month

- Upstash QStash: 1,000 messages a day on the free plan. Pay as You Go is $1 per 100,000 messages with no daily cap; fixed plans run $180 a month for 1M a day and $420 for 10M. ([source](https://upstash.com/pricing/qstash))
- Amazon SQS: 1,000,000 requests a month free, permanently and across all regions. Beyond that, standard queues are $0.40 per million in us-east-1, falling to $0.30 above 100 billion and $0.24 above 200 billion. ([source](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AWSQueueService/current/us-east-1/index.json))

### Maximum message size

- Upstash QStash: 1 MB on the free plan, 10 MB on Pay as You Go and 50 MB on the fixed plans. ([source](https://upstash.com/pricing/qstash))
- Amazon SQS: 256 KB per message. A single request carries 1 to 10 messages up to 1 MiB total, and each 64 KB chunk of payload is billed as one request. ([source](https://aws.amazon.com/sqs/pricing/))

## Which should you choose?

Pick Upstash QStash if HTTP-first workloads that want scheduling and delay measured in months rather than a day, without running a consumer process.

Pick Amazon SQS if AWS-resident systems that want a queue with a permanent free million requests a month and no capacity to plan — SQS scales without a throughput setting to choose.

Consider something else: Upstash QStash — The free plan is capped per day rather than per month, so a single burst can exhaust it while a monthly allowance elsewhere would absorb the same volume.

Consider something else: Amazon SQS — Billing is per request rather than per message, and a 1 MiB payload counts as sixteen, so chatty polling or large messages cost far more than the message count suggests.

## Documented by only one

- Message retention: Upstash QStash: Dead letter queue retention of 3 days on the free plan, 7 days on Pay as You Go, 30 days and 3 months on the fixed plans.
- Maximum delay: Upstash QStash: 7 days on the free plan; 1 year on Pay as You Go and unlimited on the fixed plans.

## Questions this comparison answers

**Should I choose Upstash QStash or Amazon SQS?**

Pick Upstash QStash if HTTP-first workloads that want scheduling and delay measured in months rather than a day, without running a consumer process.
Pick Amazon SQS if AWS-resident systems that want a queue with a permanent free million requests a month and no capacity to plan — SQS scales without a throughput setting to choose.
