API Gateway: Why Your Serverless API Costs More Than an ALB at Scale
REST vs. HTTP APIs vs. ALB. A real-world cost breakdown.
Hey, it’s Lefteris 👋 I’m the voice behind the weekly newsletter “The Cloud Engineers.”
You went serverless. API Gateway in front of Lambda, clean architecture, no servers to manage. It felt great at 10,000 requests a day. Then your product grew, and now you’re staring at a $2,000/month API Gateway bill wondering what happened.
Here’s the uncomfortable truth: API Gateway’s pricing model has a scaling cliff that nobody talks about during the honeymoon phase.
The Math That Changes Everything
API Gateway REST APIs charge $3.50 per million requests (after the first 333 million/month, it drops slightly). Sounds cheap in isolation. Let’s do the math for a moderately successful API:
50 million requests/month
API Gateway cost: ~$175/month
Now the same traffic through an Application Load Balancer:
ALB fixed cost: ~$22/month (base + LCUs)
Per-request component: negligible at this scale
That’s already an 8x difference, and it only gets worse as you scale. At 500 million requests/month, you’re looking at $1,750 for API Gateway vs. roughly $50–80 for an ALB. The gap becomes a canyon.
“But API Gateway Gives Me More Features”
This is the argument that keeps teams locked in. And it’s partially true. REST APIs give you usage plans, API keys, request validation, and caching built in.
But ask yourself honestly: how many of those features are you actually using?
Most production APIs I’ve seen use API Gateway as a glorified proxy. The Lambda function does all the validation, auth happens in a middleware layer or authorizer, and nobody configured the built-in caching. If that sounds like your setup, you’re paying a premium for a feature set you’re not consuming.
HTTP APIs: The Middle Ground Nobody Considers
In 2019, AWS launched HTTP APIs, a stripped-down API Gateway variant at $1.00 per million requests. That’s a 70% discount over REST APIs for the same basic function: route a request to Lambda.
HTTP APIs support JWT authorizers, CORS configuration, path parameters, and Lambda proxy integration. For most CRUD APIs, that’s the complete feature set you need.
If you’re running REST APIs today and not using usage plans, API key management, or request/response transformation at the gateway level, you’re overpaying by 3.5x for no reason.
When ALB + Lambda Actually Wins
ALB can invoke Lambda directly. No API Gateway in the path at all. You lose the API management features entirely, but you gain:
Predictable pricing that barely moves with traffic volume
Health checks and target group routing baked in
gRPC support if you need it
No 29-second timeout ceiling
The trade-off: you manage SSL certificates, you don’t get built-in throttling, and monitoring requires more CloudWatch configuration. But for high-throughput internal APIs or backend-to-backend communication, ALB is dramatically cheaper.
The Decision Framework
Here’s how I think about it:
Stay on API Gateway REST APIs if you genuinely use usage plans, per-client throttling, API key quotas, or request transformation templates. These are legitimate features with no ALB equivalent.
Switch to HTTP APIs if your Gateway is a passthrough proxy with JWT or Lambda authorizer. Same developer experience, 70% cost reduction.
Switch to ALB if you’re processing more than 100M requests/month, your APIs are internal or don’t need API management features, or you’re hitting the 29-second timeout limit.
The Takeaway
API Gateway is not expensive. API Gateway at scale without using its premium features is expensive. The mistake isn’t choosing API Gateway on day one — it’s never re-evaluating as your traffic grows.
Check your current monthly request count. Run the math against HTTP APIs and ALB. The five minutes of arithmetic might save you more than your last week of performance optimization work.

