Upstash Pricing & Developer Hub
Everything you need to know about Upstash pricing in 2026: platform fees, serverless quotas, compute instance rates, and bill optimization strategies.
Serverless Redis, Kafka & QStash: Pay-Per-Request Architecture
Upstash revolutionized cloud state and message queuing by creating true Serverless Redis, Serverless Kafka, and QStash designed specifically for stateless compute runtimes (Vercel, AWS Lambda, Cloudflare Workers). Traditional Redis providers (AWS ElastiCache, Redis Labs) force developers to pay for continuously running VM clusters ($20 to $150/month) that maintain open TCP sockets—which quickly exhausts connections when thousands of serverless edge functions wake up simultaneously.
Upstash executes over standard stateless HTTP/REST protocols and bills strictly per command: $0.20 per 100,000 commands, with 10,000 commands free every day.
Upstash Pricing & Specification Tiers
| Product Tier | Included Free Daily Quota | Pay-As-You-Go Rate | Pro Plan ($280/mo) |
|---|---|---|---|
| Serverless Redis | 10,000 commands / day | $0.20 / 100k commands | Uncapped QPS + VPC Peering |
| QStash (Message Queue) | 500 messages / day | $1.00 / 100k messages | Automated deduplication & retries |
| Serverless Vector | 10,000 queries / day | $0.40 / 100k queries | Direct REST vector search |
Frequently Asked Questions
Explore More Providers
Upstash Serverless Architecture: Per-Request Redis, QStash & Edge Vector DB
Upstash pioneers true serverless data infrastructure designed specifically for edge runtimes (Cloudflare Workers, Vercel Edge, AWS Lambda). Traditional Redis hosting requires reserving a dedicated TCP instance running 24/7 (costing $15 to $100/mo even with zero traffic) and maintaining fragile connection pools. Upstash exposes a **stateless HTTP/REST API** that executes commands in sub-5ms over persistent edge sockets. Pricing is strictly pay-per-request at **$0.20 per 100,000 commands**, with an included free tier of 10,000 commands daily.
Upstash Serverless Product Rate Card
| Product | Billing Unit | Pay-as-you-go Rate | Monthly Fixed Surcharge | Free Tier Allowance |
|---|---|---|---|---|
| Serverless Redis | 100,000 Commands | $0.20 ($0.002 / 1k) | $0.00 (Zero idle cost) | 10k commands / day |
| QStash (Queue / Cron) | 100,000 Messages | $1.00 ($0.01 / 1k) | $0.00 | 500 messages / day |
| Serverless Vector | 100,000 Queries | $0.40 | $0.25 / 100k vectors stored | 10k vectors free |
| Serverless Kafka | 100,000 Messages | $0.60 | $0.00 | 10k messages / day |
Edge Sliding-Window Rate Limiter (TypeScript)
import { Redis } from '@upstash/redis';
import { Ratelimit } from '@upstash/ratelimit';
// Initialize HTTP Redis client compatible with Cloudflare Workers & Vercel Edge
const redis = new Redis({
url: process.env.UPSTASH_REDIS_REST_URL!,
token: process.env.UPSTASH_REDIS_REST_TOKEN!
});
export const rateLimiter = new Ratelimit({
redis,
limiter: Ratelimit.slidingWindow(50, '10 s'), // Strict 50 requests per 10s per API token
analytics: true
});
Engineering Q&A: Upstash Serverless
Why is HTTP REST preferred over raw TCP for serverless Redis?
In serverless environments like AWS Lambda or Vercel, functions spin up and terminate rapidly. Initiating a new TCP 3-way handshake on every invocation causes high latency and exhausts Redis connection pools. Upstash's REST API uses HTTP keepalive, executing commands with zero connection setup overhead.
How does QStash eliminate dedicated background worker servers?
QStash acts as an HTTP-to-HTTP scheduler. Instead of keeping a dedicated Celery or BullMQ worker server running 24/7, QStash holds queued tasks and invokes your serverless edge API endpoints with automatic retries and deduplication.
Global Multi-Region Replication & Edge Consistency Economics
Upstash Serverless Redis supports **Global Active-Passive Replication**. While primary write transactions route to your designated primary region (e.g. AWS us-east-1), read queries execute from edge caches worldwide with sub-millisecond latency. Because pricing is strictly pay-per-command without provisioned server charges, global SaaS applications achieve worldwide low-latency caching without maintaining dozens of expensive dedicated Redis clusters across individual cloud regions.
Upstash Operational Guardrails
- Pipeline Batching Commands: Upstash REST API supports command pipelining. Sending 20 Redis commands in a single HTTP batch request counts as 20 commands for billing, but executes in a single HTTP roundtrip, cutting edge function execution time by 90%.
- Enforce Key Expiration (TTL): Always attach an explicit Time-To-Live (`EX 3600`) to session keys and rate limit counters. Unchecked keys remain in memory indefinitely, consuming billable storage units.
How does Upstash prevent connection exhaustion in serverless environments?
Upstash uses an HTTP/REST interface rather than persistent TCP sockets. When 10,000 AWS Lambda functions spin up simultaneously, each issues a stateless HTTP request that closes immediately, completely eliminating connection pool exhaustion.
What is the latency difference between Upstash REST API and raw TCP Redis?
Raw TCP Redis in the same VPC executes commands in ~0.5ms. Upstash REST API executes in 2ms to 4ms. For 99% of web applications, rate limiting, and session lookups, this 2ms difference is completely imperceptible to users.
Upstash QStash Message Deduplication & Dead-Letter Queues
Building reliable asynchronous event processing with Upstash QStash requires enforcing message deduplication. In distributed edge environments where network retries can cause duplicate webhook dispatches, passing a unique `Upstash-Deduplication-Id` header ensures QStash drops redundant invocations within a configurable time window. If a downstream consumer endpoint returns consecutive HTTP 500 errors, QStash automatically routes failed messages to a persistent Dead-Letter Queue (DLQ) after 3 exponential backoff retries, preventing data loss.
Enterprise Security Tip: Upstash Redis instances support granular IP whitelisting and TLS 1.3 encryption. For sensitive banking and healthcare session tokens, configure mutual TLS authentication to prevent unauthorized edge network snooping.