AWS API Gateway pricing,
HTTP vs REST vs WebSocket.
Pricing verified against aws.amazon.com/api-gateway/pricing, 9 June 2026
Amazon API Gateway sells three products under one name, and they are priced very differently. HTTP API costs $1.00 per million requests, REST API costs $3.50 per million, and WebSocket APIs meter messages and connection minutes separately. Below: every published tier, all eight cache sizes with monthly costs, regional rate variation, the data transfer charge that nearly doubles most bills, and worked examples from 1 million to 1 billion requests.
Δ Quick verdict
HTTP API is 3.5x cheaper than REST API ($1.00 vs $3.50 per million) and covers most new workloads: Lambda proxies, JWT auth, CORS, plain routing. Pay the REST premium only for usage plans, VTL transformation, response caching, request validation, or native WAF. Use WebSocket APIs for two-way realtime traffic.
Tool / AWS-only calculator
Model your exact workload: API type, volume, payload, cache size, with the per-line math shown.
Which API Gateway type should you use?
| Your workload | Use | First-tier price (US East) |
|---|---|---|
| Lambda or HTTP backends, JWT/OIDC auth, CORS, plain proxy routing | HTTP API | $1.00 / million requests |
| API keys with usage plans, VTL transformation, response caching, request validation, native WAF | REST API | $3.50 / million requests |
| Two-way realtime: chat, live dashboards, multiplayer, notifications | WebSocket API | $1.00 / million messages + $0.25 / million connection minutes |
Full pricing tables, June 2026 (US East, N. Virginia)
HTTP API request tiers
| Volume band | Price per million requests | Notes |
|---|---|---|
| First 300 million requests / month | $1.00 | Headline rate, applies to the vast majority of workloads |
| Over 300 million requests / month | $0.90 | 10% discount kicks in at the 300 millionth request |
REST API request tiers
| Volume band | Price per million requests | Notes |
|---|---|---|
| First 333 million requests / month | $3.50 | 3.5x the HTTP API rate |
| Next 667 million (333M to 1B) | $2.80 | 20% tier discount |
| Next 19 billion (1B to 20B) | $2.38 | Still 2.6x HTTP API's over-300M rate |
| Over 20 billion requests / month | $1.51 | Deepest published discount |
WebSocket API
| Dimension | Price | Notes |
|---|---|---|
| Messages, first 1 billion / month | $1.00 per million | Metered in 32 KB increments; a 33 KB message bills as 2 |
| Messages, over 1 billion / month | $0.80 per million | 20% tier discount |
| Connection minutes | $0.25 per million | ~43,800 minutes for one connection held open all month |
A connection held open 24/7 costs about 43,800 connection minutes/month, roughly $0.011. 10,000 always-on connections cost ~$109.50/month in connection minutes before any messages.
REST API caching: all 8 sizes with monthly cost
Caching is a REST API exclusive, billed per hour for as long as the cache is provisioned, hit or not. There is no free tier for caching. Monthly figures below assume a 730-hour month.
| Cache memory size | Price per hour | Price per month (730 hrs) |
|---|---|---|
| 0.5 GB | $0.020 | $14.60 |
| 1.6 GB | $0.038 | $27.74 |
| 6.1 GB | $0.200 | $146.00 |
| 13.5 GB | $0.250 | $182.50 |
| 28.4 GB | $0.500 | $365.00 |
| 58.2 GB | $1.000 | $730.00 |
| 118 GB | $1.900 | $1,387.00 |
| 237 GB | $3.800 | $2,774.00 |
US East (N. Virginia) rates. Some regions price caches higher, e.g. the 0.5 GB cache is $0.028/hr in Asia Pacific (Tokyo) and South America (Sao Paulo). A forgotten staging cache is one of the most common surprise line items on AWS bills.
Price by region: US East is the floor
| Region | HTTP API / M (first 300M) | REST API / M (first 333M) | WS messages / M | WS conn-min / M |
|---|---|---|---|---|
| US East (N. Virginia) | $1.00 | $3.50 | $1.00 | $0.25 |
| US West (Oregon) | $1.00 | $3.50 | $1.00 | $0.25 |
| Asia Pacific (Mumbai) | $1.05 | $3.50 | $1.00 | $0.25 |
| EU (Ireland) | $1.11 | $3.50 | $1.14 | $0.29 |
| EU (London) | $1.16 | $3.50 | $1.19 | $0.30 |
| EU (Frankfurt) | $1.20 | $3.70 | $1.14 | $0.29 |
| Asia Pacific (Sydney) | $1.29 | $3.50 | $1.30 | $0.33 |
| Asia Pacific (Tokyo) | $1.29 | $4.25 | $1.26 | $0.32 |
| South America (Sao Paulo) | $1.59 | $4.25 | $1.55 | $0.39 |
First-tier rates from AWS's published per-region price list, fetched 9 June 2026. HTTP API runs up to 59% more expensive in Sao Paulo than in N. Virginia; REST API holds $3.50 in most large regions but rises to $4.25 in Tokyo and Sao Paulo. Data transfer rates also vary by region.
Data transfer: the charge that doubles the bill
Every byte API Gateway returns to the internet is billed at EC2 data transfer rates, $0.09/GB in US East. AWS accounts get 100 GB of data transfer out free each month, aggregated across all services, which most production accounts exhaust elsewhere. On payload-heavy APIs, transfer rivals or exceeds the request fees:
| Avg response payload | GB at 100M req/mo | Transfer cost ($0.09/GB) | % of HTTP API total |
|---|---|---|---|
| 1 KB | 95 GB | $8.58 | 8% |
| 5 KB | 477 GB | $42.92 | 30% |
| 10 KB | 954 GB | $85.83 | 46% |
| 20 KB | 1,907 GB | $171.66 | 63% |
| 50 KB | 4,768 GB | $429.15 | 81% |
| 100 KB | 9,537 GB | $858.31 | 90% |
GB = requests x payload KB / 1,048,576. Percentages assume HTTP API request fees of $100 at 100M requests. Private APIs incur no data transfer out charges; AWS PrivateLink fees apply instead. By contrast, Cloudflare charges $0 egress.
The math at 1M, 10M, 100M and 1B requests (10 KB payloads)
■ 1M requests / month
■ 10M requests / month
■ 100M requests / month
■ 1B requests / month
US East (N. Virginia) list rates, no free tier applied, no caching. GB computed as requests x 10 KB / 1,048,576. Model your own payload and cache in the AWS calculator.
The costs AWS does not show you upfront
Data transfer out
The pricing page leads with per-request rates; egress at $0.09/GB sits in a footnote. At 10 KB payloads it adds 86% on top of HTTP API request fees. Budget it from day one.
CloudWatch logging
Access and execution logs bill separately: $0.50/GB ingested plus $0.03/GB-month stored (US East, 5 GB/month free). 100M requests writing ~1 KB access-log entries ingest ~95 GB, about $48/month, half your request bill again.
Caching runs while you sleep
REST caches bill hourly whether traffic arrives or not. A 6.1 GB cache left on a staging stage costs $146/month. Audit provisioned caches quarterly.
Custom domains: free, with homework
API Gateway custom domain names carry no charge, and public ACM certificates are free. The real costs are operational: DNS hosting, cert renewal automation, and a Route 53 hosted zone if you keep DNS in AWS.
Private APIs swap egress for PrivateLink
Private APIs have no data transfer out charges, but you pay AWS PrivateLink: $0.01 per VPC endpoint per AZ per hour plus $0.01/GB processed. Three AZs run ~$21.90/month before any traffic.
Multi-region multiplies everything
Each region bills its own request tiers at its own rates (Tokyo HTTP API is 29% above US East), plus inter-region data transfer for replication and failover traffic. Two-region active-active roughly doubles the gateway line.
Full breakdown across providers in the hidden costs guide.
What you give up for the 3.5x saving
| Capability | HTTP API | REST API |
|---|---|---|
| Price (first tier, US East) | $1.00 / million | $3.50 / million |
| Lambda proxy + HTTP proxy integrations | Yes | Yes |
| JWT / OIDC authorizers (built in) | Yes | Via Lambda authorizer |
| Automatic CORS configuration | Yes | Manual |
| API keys + usage plans + quotas | No | Yes |
| Request / response transformation (VTL) | No | Yes |
| Per-stage response caching | No | Yes ($0.02 to $3.80/hr) |
| AWS WAF attachment (native) | No | Yes |
| Request validation | No | Yes |
| Edge-optimized + private endpoint types | Regional only | Edge, regional, private |
| X-Ray tracing | No | Yes |
HTTP APIs also ship lower per-request latency because they skip the REST API's heavier request-processing pipeline. Both support custom domains, stage variables and throttling.
Free tier math: what 12 months actually covers
New AWS accounts get, per month for 12 months: 1 million REST API calls, 1 million HTTP API calls, and 1 million messages plus 750,000 connection minutes for WebSocket APIs. Priced at list rates, that is:
| Free allowance (per month) | List value |
|---|---|
| 1M HTTP API calls | $1.00 |
| 1M REST API calls | $3.50 |
| 1M WebSocket messages | $1.00 |
| 750,000 WebSocket connection minutes | $0.19 |
| Total per month / over 12 months | $5.69 / ~$68 |
■ What it covers well
Side projects, prototypes and low-traffic internal tools. 1M requests/month is about 23 requests per minute sustained; many MVPs never exceed it. Data transfer rides the separate account-wide 100 GB/month free allowance.
■ The month-13 cliff
The allowance expires entirely after 12 months; there is no permanent free tier, no free cache, and the clock starts at account creation, not first API call. Cloudflare and Google Cloud API Gateway keep their free tiers forever. Set a billing alarm before month 12 ends.
REST API is 3.5x the price: when it is worth it
The honest answer: less often than AWS's defaults suggest, but there are four real cases.
1. You sell metered API access
Usage plans with API keys, quotas and throttling per customer are REST-only. Rebuilding them on HTTP API means a Lambda authorizer plus a DynamoDB metering table; at low volume the $2.50/million premium is cheaper than that engineering.
2. A cache hit costs less than a backend hit
Per-stage response caching is REST-only. If a $27.74/month 1.6 GB cache absorbs half the load on an expensive Lambda or RDS-backed endpoint, it pays for itself many times over, and the REST premium with it.
3. You transform payloads at the gateway
VTL request/response mapping lets REST APIs front legacy backends and AWS services directly (DynamoDB, SQS, Step Functions) without glue Lambdas. Each glue Lambda you avoid saves invocation fees and latency.
4. Compliance demands WAF and request validation at the edge
Native AWS WAF attachment and schema-based request validation are REST-only. If your security review requires both at the gateway layer, HTTP API is not an option yet.
Everyone else: take the HTTP API discount. At 100M requests/month the saving is $250 every month, and migration is mostly a routing and authorizer exercise.