The most up-to-date pricing is always available at upstash.com/pricing/redis.
Upstash Redis has a free tier and two paid plans: Pay-As-You-Go (billed per request) and Fixed (a flat monthly price). The numbers below reflect current pricing — see the pricing page for the most up-to-date information.
Free tier#
Every account starts with a free database. No credit card required.
| Limit | Free |
|---|---|
| Price | $0 / month |
| Data size | 256 MB |
| Monthly commands | 500K |
| Monthly bandwidth | 10 GB |
| Max commands / sec | 10,000 |
| Max request size | 10 MB |
| Max record size | 100 MB |
| Databases | 1 |
Pay-As-You-Go (PAYG)#
Billed per request, so you only pay for what you use. Best for variable or low-volume workloads where command volume is unpredictable — caching in serverless functions, edge workloads, and apps that scale to zero.
| Item | Price |
|---|---|
| Commands | $0.20 per 100K commands |
| Storage | $0.25 / GB per month (first 1 GB free) |
| Bandwidth | Free up to 200 GB / month, then $0.03 / GB |
| Max data size | 100 GB |
| Max commands / sec | 10,000 |
| Databases | First 10 free, then $0.50 each (up to 100) |
To avoid surprise charges, set a monthly budget on a PAYG database. When the budget is reached the database is rate-limited rather than continuing to bill.
Fixed plans#
A flat monthly price with a cap on throughput and data size. Usually cheaper than PAYG for sustained, high-throughput workloads where command count is consistently high and predictable. Worker-heavy setups such as Sidekiq, BullMQ, Celery, and cron jobs are a common fit because they hit Redis continuously even when idle.
You can start on PAYG and switch to a Fixed plan later, or vice versa.
All plans and limits#
| Plan | Price / month | Data size | Bandwidth | Commands / sec | Max request | Max record |
|---|---|---|---|---|---|---|
| Free | $0 | 256 MB | 10 GB | 10,000 | 10 MB | 100 MB |
| PAYG | Per request | 100 GB | 200 GB* | 10,000 | 10 MB | 100 MB |
| 250 MB | $10 | 250 MB | 50 GB | 10,000 | 10 MB | 100 MB |
| 1 GB | $20 | 1 GB | 100 GB | 10,000 | 10 MB | 200 MB |
| 5 GB | $100 | 5 GB | 500 GB | 10,000 | 20 MB | 300 MB |
| 10 GB | $200 | 10 GB | 1 TB | 10,000 | 30 MB | 400 MB |
| 50 GB | $400 | 50 GB | 5 TB | 10,000 | 50 MB | 500 MB |
| 100 GB | $800 | 100 GB | 10 TB | 16,000 | 75 MB | 1 GB |
| 500 GB | $1,500 | 500 GB | 20 TB | 16,000 | 100 MB | 5 GB |
How billing works#
- What counts as a command. Pricing is based on the number of commands (requests)
executed. This applies equally to the REST API and to
commands made over the Redis protocol. Operational commands such as
INFO,PING, andAUTHare not charged. See the pricing FAQ for the full list of exceptions. - Monitoring usage. Use the console usage charts
for billing and plan usage.
INFOreports database activity, not a billing total or remaining monthly quota. See Metrics and Monitoring. - Global databases. With Global replication, each write is replicated to every read region, and each replicated write counts as a command for billing. Adding read regions to a Fixed plan costs 50% of the base tier price per region.
- Storage. On PAYG, storage is billed at $0.25/GB per month with the first 1 GB free. Fixed plans include storage up to the plan's data-size cap.
- Prod Pack. Production features (high availability, encryption, SOC-2, advanced monitoring) are available as an add-on for $200/month per database. See Prod Pack & Enterprise.
Optimizing cost#
- On PAYG, a high baseline of background commands (for example, Sidekiq polling) can drive up command count even when there is no real workload — switching to a Fixed plan caps that cost.
- Prefer pipelines and
MULTI/EXECto reduce round trips; note that each command inside a pipeline or transaction is still billed individually. - Set a monthly budget on PAYG databases to bound spend.