Upstash Pricing in 2026: What You Actually Pay for Serverless Redis
As of July 2026, Upstash Redis is free up to 256 MB and 500K commands per month; pay-as-you-go bills $0.20 per 100K commands plus $0.25/GB stored, and fixed plans run $10 to $1,500/month. Because Upstash charges per command, not per server, request volume sets your bill, not data size. Above ~5M commands/month a flat $10 fixed plan usually beats pay-as-you-go.

On this page
As of July 2026, Upstash Redis is free up to 256 MB and 500,000 commands per month. Past that, pay-as-you-go bills $0.20 per 100,000 commands plus $0.25 per GB stored, and fixed plans run from $10/month (250 MB) to $1,500/month (500 GB). The one thing that trips up every first bill: Upstash charges per command, not per server, so your cost is set by request volume, not by how much data you store. Above roughly 5 million commands a month, a flat $10 fixed plan usually beats pay-as-you-go.
You pay per command, not per server
Most managed databases bill you for a box: a fixed amount of RAM and CPU that runs whether you touch it or not. Upstash flips that. On pay-as-you-go there is no box. You pay $0.20 for every 100,000 commands your app sends, plus a little for storage, and the meter scales to zero when nobody is using it.
That is great for a side project that sleeps most of the day. It is a trap for a chatty app that fires a dozen Redis calls on every page load. Two apps storing the exact same 200 MB can get bills that differ by 10x, purely because one sends more commands. Store size barely moves the needle. Command count is the needle.
Keep that straight and the rest of the pricing page reads cleanly.
The price ladder (July 2026)
Scroll to see more
| Plan | Base price | Data cap | What you pay per command |
|---|---|---|---|
| Free | $0 | 256 MB, 500K commands/mo | Nothing (until you hit the cap) |
| Pay as you go | $0 | 100 GB | $0.20 per 100K commands + $0.25/GB stored |
| Fixed 250MB | $10/mo | 250 MB | Included, up to 10,000 commands/sec |
| Fixed 1GB | $20/mo | 1 GB | Included, up to 10,000 commands/sec |
| Fixed 5GB | $100/mo | 5 GB | Included |
| Fixed 10GB | $200/mo | 10 GB | Included |
| Fixed 50GB | $400/mo | 50 GB | Included |
| Fixed 100GB | $800/mo | 100 GB | Included |
| Fixed 500GB | $1,500/mo | 500 GB | Included |
Two add-ons matter for a real bill. A read region replica costs $5 to $750 per region depending on your base plan, and the Prod Pack (uptime SLA, multi-zone high availability, encryption at rest, SOC-2, Prometheus and Datadog exports) is a flat $200/month per database. On pay-as-you-go, bandwidth is free up to 200 GB/month, then $0.03/GB, which is rarely the line item that hurts.
Every figure here comes straight from Upstash's own Redis pricing page, checked July 2026.
Three real 30-day bills
Numbers, not adjectives. Here is what three common setups actually cost.
A. Hobby rate limiter. A small Next.js app doing rate limiting and a bit of caching: 400,000 commands and 50 MB of data in the month. That fits the free tier, so the bill is $0. One honest caveat: the popular sliding-window rate limiter runs 3 to 5 Redis commands per check, so 500,000 free commands is really about 100,000 to 165,000 real rate-limit checks, not 500,000 requests. Developers hit exactly this question about whether the free tier survives real rate limiting on r/nextjs. Size your free tier on checks, not visitors.
B. Production sessions and cache. A live SaaS storing sessions and hot cache: 25 million commands, 200 MB of data. On pay-as-you-go that is 25,000,000 / 100,000 x $0.20 = $50 in commands, plus $0 storage (under the 1 GB free allowance), so about $50/month. Move the same workload to the Fixed 250MB plan and it is a flat $10/month, because 200 MB fits and 10,000 commands/sec covers 25 million a month with room to spare. Same app, 5x cheaper, just by picking the right plan.
C. Busier app, more data. 60 million commands, 3 GB of data. Pay-as-you-go: 60,000,000 / 100,000 x $0.20 = $120 in commands, plus (3 - 1 free) x $0.25 = $0.50 storage, so $120.50/month. The Fixed 5GB plan holds 3 GB for a flat $100/month, cheaper and predictable. Add the Prod Pack for a real SLA and it is $300/month, which is worth it only when downtime costs you revenue.
The crossover nobody prints: 5 million commands
Here is the lever the pricing page does not spell out. The Fixed 250MB plan is $10 flat with no per-command charge. On pay-as-you-go, $10 buys you $10 / $0.20 x 100,000 = 5,000,000 commands. So the moment your steady traffic crosses about 5 million commands a month, and your data still fits in 250 MB, the flat $10 plan is cheaper than metered billing. For the 1 GB fixed plan at $20, the breakeven is 10 million commands.
This is the same scale-to-zero logic we walked through in the Neon pricing teardown: usage billing is a gift while you are idle and a tax once you are busy. Most people leave a project on pay-as-you-go because that is the default, and quietly overpay once it gets popular. Check your monthly command count. If it is north of 5 million and your keyspace is small, switch to Fixed and stop the bleed.
Command amplification: your framework sets the bill
Because you pay per command, the real driver is how many commands your code sends per user request. It is the same idea as being billed per unit of work rather than per server, the way Cloudflare Workers bills CPU time. On pay-as-you-go it works out to a clean effective rate:
Scroll to see more
| Commands per request | Effective cost per 1M requests |
|---|---|
| 1 (a single GET) | $2.00 |
| 3 (fixed-window rate limit plus a read) | $6.00 |
| 5 (sliding-window rate limit) | $10.00 |
A million requests can cost you $2 or $10 for the exact same traffic, decided entirely by how chatty your Redis code is. That is why two identical-looking apps get different bills.
Cheaper levers
- Above ~5M commands/month with small data, switch pay-as-you-go to Fixed 250MB ($10 flat). This is the single biggest saving and the one most people miss.
- Cut commands per request. One SETEX beats a SET followed by an EXPIRE (two commands become one). Cache truly hot values in-process so repeat reads never touch Redis at all. Note that Upstash bills each command even inside a pipeline, so pipelining saves latency, not command count; the saving comes from sending fewer commands.
- Pick a cheaper rate-limit algorithm. Fixed-window uses fewer commands per check than sliding-window. If your budget is tight and approximate limits are acceptable, fixed-window is the frugal choice.
- Set TTLs. Expiring keys keeps your data under the free 256 MB or the next fixed tier so you do not jump a plan you did not need.
- Optimize commands before bandwidth. With 200 GB free on pay-as-you-go, egress is rarely the problem. Spend your effort on command count.
When Upstash wins, and when a server is cheaper
Upstash wins when your traffic is spiky and idle a lot: serverless functions, edge routes, a
Vercel app, a side project that sleeps overnight. A fixed-size Redis server would bill for all those idle hours; Upstash bills $0 when nobody is calling it.
Upstash loses when your workload runs flat out, 24/7, at millions of commands per hour. There, per-command billing keeps climbing while a fixed server with unmetered operations stays flat, so a server-based option can be cheaper. Redis Cloud's server-based plans are the usual comparison point; check their current rates before you commit. And note that Vercel KV runs on Upstash under the hood, so it is the same engine on a different invoice, not a cheaper escape hatch.
Price the commands first. The plan almost always follows from that one number.
Math check: at $0.20 per 100K commands, $10 of pay-as-you-go equals 5 million commands, which is exactly the flat Fixed 250MB plan. Cross that line and the meter is costing you money for nothing.
Written by
Camille ForsterFrequently asked questions
Is Upstash free?
Yes. Upstash Redis has a permanent free tier at $0/month covering up to 256 MB of data and 500,000 commands per month, with 10 GB of bandwidth. Past those limits you move to pay-as-you-go or a fixed plan (figures as of July 2026).
How does Upstash pricing work?
On pay-as-you-go you pay $0.20 per 100,000 commands plus $0.25 per GB stored (first 1 GB free), and bandwidth is free to 200 GB then $0.03/GB. Alternatively, fixed plans charge a flat monthly base ($10 for 250 MB up to $1,500 for 500 GB) with commands included.
When should I switch from pay-as-you-go to a fixed plan?
Around 5 million commands a month. The Fixed 250MB plan is $10 flat, and $10 of pay-as-you-go buys exactly 5 million commands. Above that, if your data still fits in 250 MB, the flat plan is cheaper. For the 1 GB fixed plan at $20, the breakeven is about 10 million commands.
Why is my Upstash bill higher than expected?
Command amplification. Upstash bills per command, not per request, and features like sliding-window rate limiting fire 3 to 5 Redis commands per check. A page that makes several Redis calls multiplies your command count, so traffic that looks modest can generate millions of billable commands.
Does Upstash charge differently for reads and writes?
No. Reads and writes are billed the same, at $0.20 per 100,000 commands on pay-as-you-go. What matters for your bill is the total number of commands, not the mix of reads versus writes.
Is Upstash cheaper than Redis Cloud?
It depends on throughput. For spiky, low-idle or serverless workloads, Upstash's scale-to-zero per-command model is usually cheaper because you pay nothing while idle. For steady, high-throughput workloads running around the clock, a server-based option like Redis Cloud with unmetered operations can be cheaper. Compare your monthly command volume against a flat server price.
What is the Upstash Prod Pack?
The Prod Pack is a flat $200/month per database add-on that adds an uptime SLA, multi-zone high availability, encryption at rest, SOC-2 compliance, and Prometheus and Datadog exports. It is worth it for revenue-critical production databases and usually overkill for hobby projects.
Related reading
Neon Pricing in 2026: What Serverless Postgres Really Costs
As of July 2026, Neon uses usage-based pricing with no flat subscription: a Free tier ($0), Launch ($0.106 per CU-hour) and Scale ($0.222 per CU-hour). Because Neon bills compute by the CU-hour and scales to zero when idle, the same 1 CU Postgres database costs roughly $0 to $16 a month if it sleeps, about $81 a month always-on on Launch, and about $162 always-on on Scale. Your bill is set by uptime, not by data size.
Cloudflare Workers pricing in 2026: the real bill when you pay for CPU, not wall-clock time
Cloudflare Workers bills CPU time, not duration, which inverts everything you know from AWS Lambda. Here is the 2026 pricing, three worked monthly bills, and the 3-millisecond breakpoint that decides your cost.
Render Pricing in 2026: What a Real Monthly Bill Actually Looks Like
Render's advertised prices hide the real bill. In 2026 your cost is three stacked layers: a workspace plan, per-service compute, and metered usage. A solo production app starts near $13/mo (not $7), a small team app around $115/mo. Here is the arithmetic, with three worked 30-day bills.


