awsapi-gatewayserverlesscost-optimization

API Gateway REST vs HTTP API cost: when the cheaper one costs more

HTTP APIs are $1.00 per million requests versus $3.50 for REST — about 70% cheaper. But REST's caching, usage plans, and request validation can make the 'expensive' option the cheaper system. Here's the real comparison.

The C3X Team··6 min read

Quick answer

HTTP APIs cost $1.00 per million requests versus $3.50 for REST (us-east-1, first tier), about 70% cheaper. Default to HTTP API for Lambda and microservice backends. Reach for REST when you need caching, usage plans, request validation, or WAF: its response cache can cut backend invocations enough that the "expensive" option becomes the cheaper system.

Amazon API Gateway offers two HTTP-facing flavors, REST APIs (the original) and HTTP APIs (newer, leaner). The per-request price gap is large and easy to look up. The part that trips teams up is that the cheaper per-request option isn't always the cheaper bill once the backend and missing features are counted.

The headline price gap

DimensionHTTP APIREST API
Requests (first tier, us-east-1)$1.00 / million$3.50 / million
Response cachingNot availableFrom ~$0.02/hour (0.5 GB)
Usage plans / API keysNoYes
Request/response validationNoYes
AWS WAF integrationNoYes

On requests alone, HTTP API wins clearly. A billion calls a month is about $1,000 on HTTP versus $3,500 on REST before REST's volume tiers kick in. If requests are all you're buying, take the HTTP API.

When the cheaper one costs more

The trap is a REST-only feature you rebuild elsewhere. Caching is the clearest example. HTTP APIs have no response cache, so every request reaches your backend, often Lambda, which you pay for per invocation and duration (see estimating Lambda cost). A REST cache with a decent hit rate deflects a large share of those invocations. If the deflected backend cost exceeds the cache's hourly price plus the higher per-request rate, REST is the cheaper system even though it looks more expensive per call.

Do the whole-system math

Compare total cost, not one line item. For each option add: request price, backend cost (compute or Lambda invocations that actually run), data transfer, and any cache hours. A read-heavy API with a cacheable response can flip the ranking; a write-heavy or uncacheable API almost always favors the HTTP API.

Features that force the choice

Some requirements decide it regardless of price. If you sell or meter API access, you need REST usage plans and API keys. If you must validate request bodies at the edge, transform payloads, or attach AWS WAF, that's REST too. When a feature is mandatory, the comparison is REST caching or WAF versus building the same thing yourself, usually REST wins on total effort and cost.

How to decide

Default to HTTP API. Switch to REST only when a REST-only feature is required or when caching deflects enough backend cost to pay for itself. Model both totals before you commit, the request-price gap is real, but it's rarely the whole bill.

FAQ

How much cheaper is an HTTP API than a REST API?

About 70% cheaper on requests. In us-east-1, HTTP APIs are $1.00 per million requests for the first 300M/month; REST APIs are $3.50 per million for the first 333M/month. On a billion requests a month that's roughly $1,000 versus $3,500, before any tiered discounts or caching.

When does the cheaper HTTP API end up costing more?

When you need something only REST provides and rebuild it elsewhere. The common case is caching: HTTP APIs have no built-in response cache, so every call hits your backend. REST's cache can absorb a large share of traffic, cutting Lambda or compute invocations, which can lower total system cost even though the per-request price is higher.

What does REST have that HTTP APIs don't?

Response caching, API keys with usage plans (for throttling and monetization), request/response validation, AWS WAF integration, per-method throttling, and request/response transformation via mapping templates. HTTP APIs trade those for lower price and latency.

How is REST API caching priced?

By provisioned cache size, per hour, independent of requests. It starts around $0.02/hour for 0.5 GB (about $14/month) and scales up with cache size. You pay for the cache whether or not it's hit, so it pays off only when it deflects enough backend cost to beat its hourly price.

Do data transfer charges differ between them?

Data transfer out is billed the same way for both, standard AWS egress rates apply on top of the per-request price. For chatty or large-payload APIs, transfer can rival request cost, so include it when you compare. See our guide on data transfer costs.

Which should I default to?

Default to HTTP API for proxy-style and Lambda/microservice backends where you don't need REST-only features, it's cheaper and faster. Choose REST when you need caching, usage plans, request validation, or WAF, and let those features justify the higher per-request price.

What to do next

Put real numbers behind the choice. C3X prices your API Gateway configuration, REST or HTTP, from your Terraform, against a live catalog, so you can compare both before you deploy. Browse the resource catalog or run the quickstart to estimate your own API in minutes.

Try C3X on your own Terraform

Free and open source. No API key required. One command to install, one command to estimate.