API Gateway: REST vs HTTP API cost (2026)

Akal Cloud 7 min read

Quick answer

REST APIs are $3.50 per million calls at the first tier and HTTP APIs are $1.00, so 3.5x cheaper. That gap holds only for small payloads, because HTTP APIs are metered in 512 KB increments and standard REST APIs are not metered by size at all. AWS's own example bills a single 4.5 MB upload as nine requests, which makes it $9.00 per million against $3.50. The crossover sits just above 1.5 MB per call.

HTTP APIs cost less than REST APIs per request. That is the whole reason they exist, and it is the line every comparison stops at. It is also not reliably true: an HTTP API meters large payloads in 512 KB increments and a REST API does not, so past about 1.5 MB per call the cheap option becomes the expensive one. AWS publishes the arithmetic for both, in the same worked examples.

Is API Gateway free?

For a year, up to a limit, if the account is new. The API Gateway pricing page states the allowance: "the Amazon API Gateway free tier includes one million API calls received for REST APIs, one million API calls received for HTTP APIs, and one million messages and 750,000 connection minutes for WebSocket APIs per month for up to 12 months."

Separately, accounts opened since the middle of 2025 get credits rather than a carve-out: "starting July 15, 2025, new AWS customers will receive up to $200 in AWS Free Tier credits, which can be applied towards eligible AWS services, including Amazon API Gateway." Those credits behave like any other credit, which is its own subject: how AWS credits actually apply.

After that, there is no idle charge. "With Amazon API Gateway, you only pay when your APIs are in use. There are no minimum fees or upfront commitments." An API definition that receives no traffic costs nothing, which is the opposite of the load balancer it often replaces: an idle ALB still bills by the hour.

How much does an API Gateway REST API cost?

$3.50 per million calls at the bottom tier, falling as volume grows. AWS's worked example for a small API: "Amazon API Gateway API call charges = 5 million * $3.50/million = $17.50". Its example for a very large one walks all three tiers:

"Amazon API Gateway API call charges = 333 million * $3.50/million = $1,165.50 667 million * $2.80/million = $1,867.60 14 billion * $2.38/million = $33,320.00"
REST API monthly volumeRate per million
First 333 million$3.50
Next 667 million$2.80
Next 19 billion$2.38

Data transfer out is on top, at EC2 rates. The same example continues: "total size of data transfers = 3 KB * 5 million = 15 million/KB = 14.3 GB. Amazon API Gateway data transfer charges = 14.3 GB * $0.09 = $1.29." On a chatty API with small responses the request charge dominates. On an API returning megabytes, transfer does: the 15-billion-call example pays $36,353.10 in request charges and $5,149.84 in transfer.

How much cheaper is an HTTP API?

3.5x on the headline rate. AWS's HTTP API example: "300 million * $1.00/million = $300", then "132 million * $0.90/million = $118.8", for a "Total = $418.8 ($0.97 per million)".

Monthly volumeHTTP API per millionREST API per million
First 300 million$1.00$3.50 (first 333 million)
Above 300 million$0.90$2.80, then $2.38

For a typical JSON API with small payloads, that is the end of the analysis and the HTTP API wins on cost by a factor of three or more. The next section is where it stops being the end of the analysis.

Why can an HTTP API bill more requests than you sent?

Because HTTP APIs are metered by size and REST APIs are not. The pricing page states it as a footnote: "HTTP APIs are metered in 512 KB increments." The consequence only becomes visible in AWS's second worked example, for an upload API:

"25 call/minute * 60 minutes/hour * 24 hours/day * 30 days/month * 4.5 MB/512 KB/request = 9,720,000 requests per month * $1/million = $9.72"

Read the multiplier: 4.5 MB divided by 512 KB. Each single API call is billed as nine requests. At $1.00 per million that call costs $9.00 per million calls, against $3.50 per million on a REST API, which has no size increment at all on a standard endpoint.

Payload per callHTTP API billable requestsHTTP API cost per million callsREST API cost per million calls
Up to 512 KB1$1.00$3.50
1 MB2$2.00$3.50
1.5 MB3$3.00$3.50
2 MB4$4.00$3.50
4.5 MB9$9.00$3.50

The crossover sits a little above 1.5 MB, where a call needs a fourth 512 KB increment. Below it the HTTP API is cheaper, above it the REST API is, and nothing on the comparison pages says so.

REST APIs have one size meter of their own, and it applies only when response streaming is switched on: "streaming enabled REST APIs are metered in 10MB response payload increments." AWS's example rounds a 65 MB response up: "65MB per request / 10MB request increment = 6.5 request(s). RoundUp (6.5) = 7 billable request(s)."

What do API Gateway WebSocket APIs cost?

Two meters, messages and connection time, and neither maps to the request count you would estimate from. AWS's chat example: "total messaging cost = 18,000,000/1,000,000 * $1.00 (per million) = $18" and "total connectivity cost = 21,600,000/1,000,000 * 0.25 (cost per million) = $5.40".

Connection minutes accumulate whether or not anybody is talking. A thousand users connected twelve hours a day is 21.6 million connection minutes a month before a single message. Messages carry their own increment: "you may send and receive messages up to 128 Kilobytes (KB) in size. Messages are metered in 32KB increments, so a 33KB message is metered as two messages."

One useful exemption: "WebSocket control frame messages, such as ping and pong, are not metered and do not incur charges." Keepalives are free, so the cost of holding a connection open is the connection-minute meter alone.

What does API Gateway caching cost?

An hourly charge per stage, sized in gigabytes, and it runs whether or not the cache is hit. From the pricing example: "if your API needs 1.5 GB of cache for its data, you can provision a 1.6 GB cache at $0.038/hr. $0.038 * 24 = $0.912/day".

That is about $27.75 a month for the 1.6 GB size in AWS's example, per stage. AWS is clear it is per stage: "you can optionally provision a dedicated cache for each stage of your APIs. After you specify the size of the cache you require, you will be charged the following hourly rates for each stage's cache." A dev, staging and prod stage each with a cache is three of those charges. Caching is a REST API feature. AWS's feature comparison marks caching Yes for REST APIs and No for HTTP APIs, alongside the AWS WAF row, which is marked the same way.

Which features do you lose by choosing an HTTP API?

AWS gives a one-sentence decision rule in the REST and HTTP API comparison:

"Choose REST APIs if you need features such as API keys, per-client throttling, request validation, AWS WAF integration, or private API endpoints. Choose HTTP APIs if you don't need the features included with REST APIs."

Two of those have cost consequences rather than functional ones. Per-client throttling with API keys is the mechanism that stops one customer generating the requests you are billed for, and there is no equivalent on an HTTP API. And AWS WAF cannot be attached to an HTTP API at all, so if a rate-based rule is how you keep bot traffic off a public endpoint, that pushes you to REST regardless of the per-request price.

What else lands on the bill with an API Gateway API?

The pricing page lists the neighbours: "you may incur additional charges if you use API Gateway in conjunction with other AWS services or transfer data out of AWS", naming data transfer, AWS PrivateLink, AWS Lambda and Amazon CloudWatch.

Private APIs are the case where the neighbour is mandatory. "There are no data transfer out charges for Private APIs. However, AWS PrivateLink charges apply when using Private APIs in API Gateway." AWS's example prices it: "VPC Endpoint charges = 720 hours * $0.01/AZ/hr = $7.20" plus "VPC Endpoint data processing charges = 15.7 GB * $0.01/GB = $0.16", for a private API whose own request charge was $17.50. Multiply the endpoint charge by the number of Availability Zones you deploy into, which is the trap covered in VPC endpoint cost: gateway vs interface.

On the compute side, an API backed by Lambda pays Lambda's duration meter on top, and since August 2025 that includes initialization time on every cold start: see do Lambda cold starts cost money. On the observability side, access logs and execution logs go to CloudWatch Logs at the usual per-GB ingestion rate, which for a high-volume API can exceed the API Gateway charge itself.

How should you choose between REST and HTTP APIs?

  • Small JSON payloads, no API keys, no WAF: HTTP API. It is 3.5x cheaper and there is no catch at that size.
  • Uploads or responses above about 1.5 MB: price both. The 512 KB increment turns the cheap option into the expensive one, and AWS's own example shows a 4.5 MB call billing as nine.
  • Public endpoint needing rate limiting: REST API. The per-request premium is smaller than one abusive client.
  • Long-lived connections: count minutes, not messages. On a WebSocket API the connection meter usually beats the message meter, in the same way that a provisioned meter beats a per-request one on DynamoDB.
  • Check for caches on non-production stages. They bill hourly per stage whether the stage gets traffic or not.
Share LinkedIn X Hacker News Reddit

See this on your own bill

Akal Cloud connects in about two minutes and shows the same numbers against your real AWS accounts.

Get started on AWS Marketplace

Related reading