Skip to content
Calcrivo

SQS Cost Calculator

Price an SQS queue from message volume, payload size and batch size, and quantify how much batching up to 10 messages saves.

Inputs

messages
KB

Each 64 KB of payload in a call counts as one billed request.

messages
receives

Redeliveries after a visibility timeout count again.

calls

Long polling with a 20 s wait cuts these sharply.

USD
USD

Estimated Monthly Cost

$4.48

Billed Requests per Month

12,200,000

Cost Without Batching

$23.68

Saving From Batching

$19.20

Cost per Million Messages

$0.22

Billed Requests per Message

0.61

Step by step

  1. Values used

    Messages per month = 20,000,000 messages; Average message size = 8 KB; Messages per API call = 10 messages; Receive attempts per message = 1 receives; Empty receive calls per month = 200,000 calls; Queue type = Standard — at-least-once, best-effort order; Standard price per million requests = 0.4000 USD; FIFO price per million requests = 0.5000 USD; Apply the 1 M request free tier = Yes

  2. SQS Cost

    billed requests = (send calls + receive calls + delete calls) × ceil(batch payload KB ÷ 64) + empty receives, where send calls = messages ÷ batch size.

  3. Batching benefit

    batching saving = cost at batch size 1 − cost at your batch size; the ceiling is a 10x reduction in call count.

  4. Estimated Monthly Cost

    = 4.48

  5. Billed Requests per Month

    = 12,200,000

  6. Cost Without Batching

    = 23.68

  7. Saving From Batching

    = 19.20

  8. Cost per Million Messages

    = 0.22

  9. Billed Requests per Message

    = 0.61

How it works

SQS bills per API request, not per message, and every message normally costs three requests over its life: send, receive and delete. Batching folds up to ten messages into one call, but a request is metered per 64 KB, so ten 8 KB messages in one call bill as two requests rather than one — batching still wins, just not by the full factor of ten. Long polling matters because an empty ReceiveMessage is a billed request that delivers nothing. Confirm the standard and FIFO per-million rates for your region. At scale SQS looks nearly free per message and then surprises people, because the bill tracks API calls: a poller on a one-second loop against an idle queue burns 2.6 million billed empty receives a month for no work at all.

Formulas

SQS Cost

billed requests = (send calls + receive calls + delete calls) × ceil(batch payload KB ÷ 64) + empty receives, where send calls = messages ÷ batch size.

billed request
One API call carrying up to 64 KB — larger calls bill per 64 KB chunk
batch size
Messages folded into a single Send/Receive/Delete call, maximum 10
empty receive
A ReceiveMessage call that returns nothing but is still billed

Batching benefit

batching saving = cost at batch size 1 − cost at your batch size; the ceiling is a 10x reduction in call count.

Frequently Asked Questions

How is SQS Cost calculated?

billed requests = (send calls + receive calls + delete calls) × ceil(batch payload KB ÷ 64) + empty receives, where send calls = messages ÷ batch size. SQS bills per API request, not per message, and every message normally costs three requests over its life: send, receive and delete. Batching folds up to ten messages into one call, but a request is metered per 64 KB, so ten 8 KB messages in one call bill as two requests rather than one — batching still wins, just not by the full factor of ten. Long polling matters because an empty ReceiveMessage is a billed request that delivers nothing. Confirm the standard and FIFO per-million rates for your region.

Why does SQS Cost matter?

At scale SQS looks nearly free per message and then surprises people, because the bill tracks API calls: a poller on a one-second loop against an idle queue burns 2.6 million billed empty receives a month for no work at all.

What values do I need to enter?

This calculator takes 9 inputs: Messages per month, Average message size, Messages per API call, Receive attempts per message, Empty receive calls per month, Queue type, Standard price per million requests, FIFO price per million requests, Apply the 1 M request free tier. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.

How much does long polling actually save?

A short-polling consumer looping every 100 ms makes about 26 million calls a month per poller. The same consumer with a 20-second WaitTimeSeconds makes at most about 130,000. On an idle or bursty queue that is the difference between a rounding error and a real line item.

Is FIFO worth the extra 25%?

Only if you genuinely need ordering or deduplication. FIFO also caps throughput at 300 API calls per second per message group without batching, so it constrains design as well as cost — many workloads are better served by a standard queue plus an idempotent consumer.

You might also need