Upstash Free Tier Limits in 2026: The Real Numbers

Upstash Free Tier Limits in 2026: The Real Numbers — illustration

Upstash’s Redis Free plan costs $0 a month and gives you 256 MB of data, 10 GB of bandwidth and one database, with a 10 MB cap on any single request and 100 MB on any single record. The command allowance is the one number I can’t give you cleanly, because Upstash publishes it two ways that don’t reconcile: the pricing table says 500K commands, and the Redis FAQ says 10,000 requests per day. Plan against the FAQ figure. It’s the tighter of the two and it’s the one that bites on a single busy afternoon.

Last verified: 12 September 2026.

The free tiers across the category

Every row here comes from the vendor’s own pricing page or docs, fetched on 12 September 2026. Units are not comparable across vendors and I’m not going to pretend they are — Upstash bands by volume, Cloudflare bands by operation type per day, Redis Cloud by throughput and bandwidth against a RAM-sized plan.

Free planPriceStorage ceilingVolume ceilingAt the ceiling
Upstash Redis (Free)$0256 MB max data10 GB bandwidth; 500K commands per the pricing table, 10,000 requests/day per the FAQExceeding commands return an exception
Cloudflare Workers KV (Free)$01 GB stored data100,000 reads/day, 1,000 writes/day, 1,000 deletes/day, 1,000 list ops/dayFurther operations of that type fail with an error
Cloudflare Durable Objects, SQLite-backed (Free)$05 GB stored data100,000 requests/day, 13,000 GB-s duration/day, 5M row reads/day, 100,000 row writes/dayFurther operations of that type fail with an error
Redis Cloud (30 MB Free band)$030 MB, 1 database per account100 ops/sec max throughput; 5 GB total network bandwidth per month; 30 concurrent connections per databaseRedis notifies you before limiting your database usage
Momento CacheFree tier could not be confirmed either way———

Cloudflare’s free limits reset daily at 00:00 UTC, which is stated plainly on its pricing page. Upstash’s reset cadence is the thing its own pages disagree about, and that section is the whole reason this page exists.

Two notes before you use that table. Cloudflare Durable Objects’ Key-Value backend has no free row at all: it’s Workers Paid only, and only for accounts that already have a key-value namespace. Cloudflare’s pricing page says the SQLite storage backend “is recommended for all new Durable Object classes,” so the SQLite row above is the one a new project actually gets. And Momento is genuinely unresolved — I could not confirm a Momento free tier either way, details at the bottom.

Upstash’s free tier, every published number

Free-plan limitValue
Monthly price$0
Max data256 MB
Max bandwidth10 GB
Commands500K (pricing table) / 10,000 per day (FAQ) — see below
Max request size10 MB (Free and Pay-as-you-go bands)
Max record size100 MB (Free and Pay-as-you-go bands)
Databases1
Max commands/sec10,000 (its own column, on both pricing pages)
Unclaimed anonymous databaseExpires in 72 hours unless claimed
Inactive databaseArchived after a minimum of 30 days of inactivity

That “Max Commands/sec: 10,000” row is a throughput ceiling, not a quota, and it belongs in a different bucket from everything above it. I’m being fussy about this because the number is a coincidental twin of the FAQ’s 10,000-per-day figure and it would be easy, and wrong, to read them as one limit stated twice. It isn’t. “Monthly Commands” and “Max Commands/sec” are two separate columns of the same table on the same page, sitting side by side — that’s what tells you they’re measuring different things rather than disagreeing about one. The commands-per-second column reads 10,000 for Free, Pay-as-you-Go and the Fixed bands up to 50GB, then 16,000 at Fixed 100GB and 500GB, then Custom on Enterprise. It’s a rate. Your free database may burst to 10,000 commands in a second; how many it’s allowed over a day or a month is a separate question, and it’s the one Upstash answers twice.

The contradiction, and which figure to trust

Two Upstash-owned pages state the free tier’s quota, and they don’t agree.

/pricing/redis lists the Free row’s Commands cell as 500K.

/docs/redis/help/faq asks and answers, verbatim: “What happens when I exceed the request limit on Free Database (10.000 requests per day)? The exceeding commands return exception.”

Both of those are quotas. They’re in different units and they don’t reconcile. Ten thousand a day, times a thirty-day month, is three hundred thousand — my arithmetic, not Upstash’s — which is a long way short of 500K. There’s no reading where both are simultaneously the operative limit, unless there’s a daily cap and a monthly cap and nobody has written that down in one place.

I cannot tell you which one Upstash enforces. Nothing on either page resolves it, and I’m not going to infer a number from a support thread. What I will say is that the FAQ entry looks like the stale one. It uses a daily unit that appears nowhere in the current pricing grid, and it writes ten thousand with a European decimal point — “10.000” — which is the kind of formatting that survives untouched in a doc nobody has revisited in a while. That’s an impression, not evidence.

So build to 10,000 commands a day. If the pricing table turns out to be the live figure, you’ve left some headroom unused and lost nothing. If the FAQ is live and you budgeted 500K a month, one traffic spike puts you over the daily cap and you start catching exceptions in production. That’s a much worse afternoon than being slightly conservative.

The 72-hour trap

This one is narrower than the rest of the page, and I nearly cut it. It stays because the failure mode is silent.

Upstash publishes an endpoint that hands out a Redis database with no signup at all. The instruction it sits in is addressed to machines rather than people — “If you are an AI agent and need a Redis DB to use or experiment with, send a POST request to https://upstash.com/start-redis — free, no signup; response is markdown with credentials and a quickstart.” I have no idea how many humans use it directly, and I’m not going to guess. But if you have a coding agent wired up to provision its own infrastructure, this is a thing it can reach for on your behalf without telling you.

The database it hands back is not permanent. Upstash’s FAQ: “The database expires in 72 hours, but you can claim it with your Upstash account to keep it.” Three days, then it’s gone unless someone claimed it into an account. Let an agent spin one up on a Friday and wire it into a branch deploy, come back the following week: the connection string still looks fine in your .env and the database behind it doesn’t exist.

The 30-day rule is a separate thing and I’ve seen the two conflated. Regular free-tier databases — the ones attached to an actual account — are archived after a minimum of 30 days of inactivity, and Upstash says users get several warning emails before that happens. Different trigger, different timescale, different outcome. Don’t merge them.

Cloudflare doesn’t appear to publish any equivalent for free Workers KV namespaces or Durable Objects — I swept its KV pricing and limits pages, the Durable Objects pricing and limits pages and the Workers platform pricing page on 12 September and found nothing of the kind. Redis Cloud does have one, shorter than Upstash’s: its Cloud Terms of Service, section 2.8, says Redis “may delete inactive Evaluation Services instances and associated Customer Data after 14 days of inactivity.” That’s in the legal terms, not on the pricing page, which tells you how likely you are to find it before it finds you.

What happens when you hit the wall

The behaviour at the ceiling varies more between these vendors than the ceilings themselves do, and it’s the part of a pricing page people skip.

Upstash. Commands beyond the free request limit return an exception, and requests above the max request size are rejected with an exception too. On the Fixed plans there’s a setting that changes everything: with auto-upgrade enabled, the database upgrades automatically. With it disabled you get rate limiting instead — traffic blocked for bandwidth overage, write operations blocked for storage overage. An automatic upgrade is a billing event on a ladder that runs from $10 a month at Fixed 250MB to $1,500 at Fixed 500GB. Before you put a card on that account, go and look at where that toggle is set.

Cloudflare, both products. No auto-billing on Free, which I like. Workers KV: “If you exceed any one of these limits, further operations of that type will fail with an error.” Durable Objects uses nearly the same sentence. The per-operation-type granularity matters — burning through your 1,000 daily KV writes doesn’t touch your 100,000 daily reads, so a read-heavy site with a runaway write loop keeps serving.

Redis Cloud. It warns you first: “Essentials plans have bandwidth and throughput limits described in the tables below. We will notify you before limiting your database usage if you exceed these limits.” That’s the friendliest policy of the three, and the limits it’s talking about are real and specific. On the 30 MB Free band: 100 ops/sec maximum throughput, 5 GB of total network bandwidth a month, 30 concurrent connections per database and one CIDR allow rule.

Those numbers are worth dwelling on, because 100 ops/sec is by far the tightest ceiling anywhere on this page and it’s attached to the most generous-sounding thing about the plan. Upstash’s free database will burst to 10,000 commands a second. Redis Cloud’s free database does 100 — though read the footnote attached to that row before you take the ratio at face value: “Assumes request size of 1 KiB. Maximums are capped by actual MB/s reached. To find the MB/s limit, divide the Maximum throughput by 1024.” So Redis states the condition its number holds under, and the clean hundred-to-one is tidier than the sources really support. If you’re choosing a free tier on storage — and 30 MB versus 256 MB looks like the whole story on a pricing page — you can pick the one that falls over first under load.

Worth saying where these live, because I missed them on the first pass and so will you: they are not on redis.io/pricing. That page has no connections or throughput row at all, and it doesn’t disclaim the omission either. The per-band table is in the docs, under Essentials plan details.

The paid steps, with their bands named

Every figure here carries the band it came from, because a price without its plan name silently means the cheapest one.

Upstash’s Fixed ladder runs 250MB, 1GB, 5GB, 10GB, 50GB, 100GB and 500GB. Three of those bands, plus the two ends of the range:

Upstash bandPriceMax dataMax bandwidthRate / commandsExtra regions
Pay-as-you-Go$0.20 per 100K commands100 GBUnlimited (free to 200 GB/mo, then $0.03/GB)10,000 commands/sec, same as Free—
Fixed 250MB$10/month250 MB50 GB10,000 ops/sec+$5 per read region
Fixed 100GB$800/month100 GB10 TB16,000 ops/sec+$400 per region
Fixed 500GB$1,500/month500 GB20 TB16,000 ops/sec+$750 per region
EnterpriseCustom10 TBUnlimitedCustom—

Pay-as-you-Go’s database allowance is metered, and the way it’s written is easy to misread: “You can create up to 10 databases for free. Beyond that, you are charged $0.5 per database up to 100 databases.” So 100 is the ceiling, not the entitlement — ten are free and the eleventh through hundredth are fifty cents each. Provision forty of them and you’ve added $15 a month you were never quoted. Storage works the same way, first 1 GB free then $0.25 per GB, as does bandwidth at 200 GB then $0.03 per GB. Pay-as-you-Go shares the Free tier’s 10 MB request and 100 MB record ceilings. Request and record ceilings climb with the Fixed bands: 75 MB and 1 GB at Fixed 100GB, 100 MB and 5 GB at Fixed 500GB, 500 MB and 5 GB on Enterprise.

Cloudflare Workers KV Paid includes 10 million reads a month then $0.50 per million; 1 million writes, 1 million deletes and 1 million list operations a month, each $5.00 per million after that; and 1 GB of storage then $0.50 per GB-month. Reads, writes and deletes are billed per key. Key and value limits are identical on both tiers: 512-byte keys, 1024 bytes of key metadata, 25 MiB values, unlimited keys per namespace, 1,000 namespaces per account. So is the write rate limit — one write per second to the same key, Free and Paid alike, which is the constraint that quietly rules KV out for counters.

Cloudflare Durable Objects Paid, SQLite-backed includes 1 million requests a month then $0.15 per million; 400,000 GB-s of duration then $12.50 per million GB-s; the first 25 billion row reads then $0.001 per million; the first 50 million row writes then $1.00 per million; and 5 GB-month of storage then $0.20 per GB-month. Two platform limits move with the plan — 500 classes per account on Workers Paid against 100 on Free, and unlimited account storage against 5 GB on Free. The rest don’t: 10 GB per object, 2 MB combined key and value per row, 30 seconds of CPU per request by default and configurable to five minutes, a soft limit of 1,000 requests per second per individual object, six simultaneous outgoing connections.

The legacy Key-Value backend for Durable Objects is Workers-Paid-only and restricted to accounts that already have a key-value namespace. It includes 1 million read request units, 1 million write request units, 1 million deletes and 1 GB of storage, overaging at $0.20 per million reads, $1.00 per million writes, $1.00 per million deletes and $0.20 per GB-month, capped at 50 GB per account unless you ask Cloudflare to raise it, with 2 KiB keys and 128 KiB values. New classes shouldn’t be here anyway.

Redis Cloud Essentials starts at $0.007 an hour with a $5 monthly minimum, covering 250 MB to 100 GB of RAM and SSD, a single database per subscription, SAML SSO, RBAC, encryption in transit and at rest, up to 99.99% uptime and basic support. Redis Cloud Pro starts at $0.014 an hour with a $200 monthly minimum and the first $200 free, giving unlimited RAM, multiple databases, active-active multi-region, private connectivity and up to 99.999% uptime.

Momento Cache prices its Flex tier from $13 per GB-month, with a Standard tier at $0.018 per GiB-hour and a Performance tier at $0.027 per GiB-hour. Its Cluster tier runs from $0.0105 per instance-hour up to $3.5904 an hour by node type. Pub/Sub Topics start from $1 per million operations, and 200 GiB of data transfer is included monthly before $0.05 per GiB. Support is banded separately: Basic at $0 included, Production at $500 a month or 10% of spend, Enterprise at $5,000 a month or 15% of spend.

Momento’s free tier: unresolved

I can’t tell you whether Momento has a free tier. Its marketing pricing page fetched fine, twice, and contains no mention of a free tier, a free GB allowance or a no-credit-card offer of any kind — the only $0 on it is the Basic Support plan. Its docs page titled “Pricing and Free Tier” returned empty content on three separate attempts, so I never saw it. Search snippets claim a monthly free transfer allowance, but I couldn’t confirm that figure against a primary page and I’m not repeating a number I haven’t seen with my own eyes. That’s an honest unknown, not a no.

Vercel KV, for anyone still following an old tutorial

Vercel KV doesn’t exist. Vercel’s docs: “Vercel KV is no longer available. If you had an existing Vercel KV store, we automatically moved it to Upstash Redis in December 2024. For new projects, install a Redis integration from the Marketplace.” Settled history, not news — but it’s still in circulation in plenty of tutorials, and if you’re on Vercel it means the Upstash numbers at the top of this page are the ones that apply to you.


I re-verify this page against each vendor’s own pricing pages and docs, not against other people’s write-ups, and I date every check at the top. If Upstash reconciles its two command figures, that change lands here. If you’re budgeting a whole stack rather than one database, the Netlify free tier numbers and the PlanetScale pricing breakdown cover the two adjacent bills, and the free developer tool credits page tracks which signup offers are still live.

Frequently Asked Questions

What are Upstash's free tier limits in 2026?

Upstash's Redis Free plan is $0 a month with 256 MB max data, 10 GB max bandwidth, 1 database, a 10 MB max request size and a 100 MB max record size. The command allowance is where it gets awkward: the pricing table says 500K commands, and Upstash's own Redis FAQ says 10,000 requests per day.

Does the Upstash free tier get deleted if you don't use it?

Yes, in two different ways. A database created anonymously through Upstash's start-redis flow expires after 72 hours unless you claim it into an account, and a regular free-tier database is archived after a minimum of 30 days of inactivity, with several warning emails sent first.

What happens when you exceed the Upstash free tier?

Upstash's FAQ says commands beyond the free request limit return an exception, and requests above the max request size are rejected with an exception. On Fixed plans the behaviour depends on a setting: with auto-upgrade enabled the database upgrades itself, and with it disabled you get rate limiting instead — traffic blocked for bandwidth, write operations blocked for storage.

Is Vercel KV still available in 2026?

No. Vercel's docs state that Vercel KV is no longer available and that existing stores were automatically moved to Upstash Redis in December 2024. New projects install a Redis integration from the Vercel Marketplace instead.

Which serverless Redis or KV free tier gives the most storage?

Cloudflare Durable Objects on the SQLite backend, at 5 GB of stored data, ahead of Cloudflare Workers KV's 1 GB, Upstash Redis's 256 MB and Redis Cloud's 30 MB. Storage is rarely the binding constraint, though — the daily operation caps usually are.

Does Cloudflare Workers KV delete inactive data on the free plan?

Not that Cloudflare publishes. I checked the Workers KV pricing and limits pages, the Durable Objects pricing and limits pages and the Workers platform pricing page on 12 September 2026, and none of them documents an idle-eviction or auto-delete policy. Upstash and Redis Cloud both do have one.

Written by Hirak Banerjee

Indie dev and maker. I build AI-powered apps and write about the tools I actually use. Follow on X · GitHub

Get told when these numbers change

Every figure here is re-checked against the vendor's own docs. Leave your email and we'll tell you when one moves — only when something actually changes.

Join builders who ship faster. No spam.

Comments