Pricing
Pay only for what you use with per-request pricing.
Or choose a Fixed plan for consistent usage with a flat price.
Prod Pack
Recommended for production use
- Uptime SLA
- Encryption at Rest
- SOC-2
- Prometheus
- Datadog
+$200/month
Enterprise
For businesses with advanced needs.
- Everything in Prod Pack
- 100M+ steps daily
- Unlimited bandwidth
- Professional support with SLA
- Dedicated resources for isolation
- SAML SSO
Compare Plans
Plans that scale to all sizes.
| Free | Usage Based Pricing | Fixed Pricing | Fixed Pricing | |
Free- | Pay as you go$1/ 100K steps | Fixed 1M$180/ month | Fixed 10M$420/ month | |
Capacity | ||||
|---|---|---|---|---|
| Max Steps per Day | 1,000 | Unlimited | 1M | 10M |
| 50GB | 50GB | 1TB | 5TB | |
| Max Steps per Workflow Run | 1,000 | 1,000 | 1,000 | 1,000 |
| 10 | 100 | 200 | 1000 | |
| Max Message Size | 1MB | 10MB | 50MB | 50MB |
| Max Sleep Duration | 7 days | 1 year | Unlimited | Unlimited |
| Max HTTP Response Duration | 15 minutes | 2 hours | 6 hours | 12 hours |
| Max DLQ Retention | 3 days | 7 days | 30 days | 3 months |
| Max Logs Retention | 3 days | 7 days | 14 days | 14 days |
| Uptime SLA | ||||
Price | ||||
| Monthly price | Free | None | $180 | $420 |
| Message price | Free | $1 per 100K | None | None |
| Start Now | Start Now | Start Now | Start Now | |
FAQ
- A step is the execution of a single workflow step in your workflow.
- From a billing perspective, each executed step is counted as one billed step.
- If a step execution fails and is retried, each retry is counted as an additional billed step.
- Different step types consume a different number of billed steps:
context.run,context.sleep,context.sleepUntil, andcontext.waitForEventgenerate ONE billed step.context.callandcontext.invokegenerate TWO billed steps.- When steps are executed in parallel, each step generates ONE extra billed step.
- These are soft limits and apply only if you consistently exceed your quota.
- Short or occasional spikes will not immediately block step executions.
- If usage continues to exceed the limit, we will contact you to discuss an upgrade:
- Fixed 1M → Fixed 10M
- Fixed 10M → Custom Enterprise plan
- If we are unable to reach you and limits are still exceeded over time, workflow runs may start failing with quota errors.
Workflow is built on top of QStash. When the daily steps limit is reached:
- QStash starts returning errors for step execution.
- The Workflow SDK throttles execution and retries after a short delay.
- If the retry limit is reached, the workflow run fails.
- Failed runs are recorded in the DLQ (Dead Letter Queue).
- There is no requests-per-second (RPS) limit for Workflow execution APIs.
- APIs used for logs, messages, and other management features do have RPS limits. When exceeded, the API returns a 429 Too Many Requests error.
Since Workflow execution does not have an RPS limit, QStash enforces a Max Concurrent Steps limit:
- Workflow accepts all step executions.
- If usage is too high, execution is slowed down by limiting how many steps run in parallel.
- Additional steps are queued and executed later.
See “Max Concurrent Steps” in the pricing table for details.
- When a workflow run is triggered, if the request body exceeds the size limit, the API returns an HTTP
412error. - The Workflow SDK logs the error, marks the workflow run as failed, and records it in the DLQ (Dead Letter Queue).
- Between steps, the Workflow SDK makes calls to QStash. Responses from
context.run,context.call, andcontext.invokeare also subject to the max message size limit. - If these responses exceed the limit, the workflow run fails and is recorded in the DLQ.
Upstash Workflow pricing — all plans
| Plan | Price | Steps per day | Max message size | Max parallelism |
|---|---|---|---|---|
| Free | $0/month | 1,000 | 1 MB | 10 |
| Pay as You Go | $1 per 100K steps | Unlimited | 10 MB | 100 |
| Fixed 1M | $180/month | 1M | 50 MB | 200 |
| Fixed 10M | $420/month | 10M | 50 MB | 1,000 |
| Enterprise | Custom | Unlimited | Custom | Custom |
| Tier | Monthly price | Steps per day | Max bandwidth | Max message size | DLQ retention | Max HTTP response duration | Max parallelism |
|---|---|---|---|---|---|---|---|
| Fixed 1M | $180/month | 1M | 1 TB | 50 MB | 30 days | 6 hours | 200 |
| Fixed 10M | $420/month | 10M | 5 TB | 50 MB | 3 months | 12 hours | 1,000 |
Pay as You Go — pricing details
- Step price: $1 per 100K steps
- Steps per day: Unlimited
- Bandwidth: Free up to 50 GB/month. Beyond that, $0.05 per GB.
- Max message size: 10 MB
- Max delay: 1 year
- Max HTTP response duration: 2 hours
- DLQ retention: 7 days
- Active schedules: 1,000 (Free up to 1,000. Beyond that, $0.01 per active schedule.)
- Parallelism: 100
Full machine-readable pricing is available at /pricing/workflow.md.