# Upstash QStash Pricing

> **Source:** https://upstash.com/pricing/qstash
> **Format:** text/markdown — machine-readable pricing for agents and LLMs
> **Contact:** sales@upstash.com (Enterprise) · support@upstash.com (Support)

QStash is a serverless message queue and scheduler. You are only charged for messages — retries are free.

---

## Plan Overview

| Plan | Price | Max Messages/Day | Max Bandwidth | Max Message Size |
|------|-------|-----------------|---------------|-----------------|
| Free | $0/month | 1,000 | 50 GB | 1 MB |
| Pay as You Go | $1 per 100K messages | Unlimited | 50 GB | 10 MB |
| Fixed 1M | $180/month | 1M | 1 TB | 50 MB |
| Fixed 10M | $420/month | 10M | 5 TB | 50 MB |
| Enterprise | Custom | 100M+ | Unlimited | Custom |

---

## Fixed Plans — All Tiers

| Tier | Monthly Price | Messages/Day | Bandwidth | Max Message Size | Max Delay | DLQ Retention | Parallelism |
|------|--------------|-------------|-----------|-----------------|-----------|---------------|-------------|
| Fixed 1M | $180/month | 1M | 1 TB | 50 MB | Unlimited | 30 days | 200 |
| Fixed 10M | $420/month | 10M | 5 TB | 50 MB | Unlimited | 3 months | 1000 |

---

## Pay as You Go — Pricing Details

- **Message price:** $1 per 100K messages
- **Bandwidth:** Free up to 50 GB/month, then $0.05/GB
- **Retries:** Free (only published messages count)
- **Max messages/day:** Unlimited
- **Max message size:** 10 MB
- **Max delay:** 1 year
- **Max HTTP response duration:** 2 hours
- **DLQ retention:** 7 days
- **Active schedules:** 1000 (Free up to 1,000. Beyond that, $0.01 per active schedule.)
- **URL groups:** 100
- **Queue count:** 100
- **Parallelism:** 100

---

## Full Capacity Comparison

| Feature | Free | Pay as You Go | Fixed 1M | Fixed 10M | Enterprise |
|---------|---|---|---|---|---|
| Messages/day | 1,000 | Unlimited | 1M | 10M | 100M+ |
| Max bandwidth | 50 GB | 50 GB | 1 TB | 5 TB | Unlimited |
| Max message size | 1 MB | 10 MB | 50 MB | 50 MB | Custom |
| Max URL groups | 1 | 100 | 1000 | 2000 | Custom |
| Max endpoints/group | 100 | 100 | 1000 | 2000 | Custom |
| Max delay | 7 days | 1 year | Unlimited | Unlimited | Custom |
| HTTP response duration | 15 minutes | 2 hours | 6 hours | 12 hours | Custom |
| DLQ retention | 3 days | 7 days | 30 days | 3 months | Custom |
| Logs retention | 3 days | 7 days | 14 days | 14 days | Custom |
| Active schedules | 10 | 1000 | 10000 | 50000 | Custom |
| Queue count | 10 | 100 | 1000 | 1000 | Custom |
| Queue parallelism | 2 | 10 | 10 | 10 | Custom |
| Max parallelism | 10 | 100 | 200 | 1000 | Custom |

**Security & Observability**

| Feature | Free | Pay as You Go | Fixed 1M | Fixed 10M | Enterprise |
|---------|---|---|---|---|---|
| Uptime SLA | No | Yes (Prod Pack add-on required) | Yes (Prod Pack add-on required) | Yes (Prod Pack add-on required) | Yes |
| Encryption at rest | No | Yes (Prod Pack add-on required) | Yes (Prod Pack add-on required) | Yes (Prod Pack add-on required) | Yes |
| SOC-2 compliance | No | Yes (Prod Pack add-on required) | Yes (Prod Pack add-on required) | Yes (Prod Pack add-on required) | Yes |
| SAML SSO | No | No | No | No | Yes |
| Prometheus | No | Yes (Prod Pack add-on required) | Yes (Prod Pack add-on required) | Yes (Prod Pack add-on required) | Yes |
| Datadog | No | Yes (Prod Pack add-on required) | Yes (Prod Pack add-on required) | Yes (Prod Pack add-on required) | Yes |
| Email support | Yes | Yes | Yes | Yes | Yes |
| Dedicated support | No | No | No | No | Yes |

---

## Enterprise

Custom plans for high-volume and compliance-sensitive workloads.

**Contact:** sales@upstash.com | https://upstash.com/enterprise

---

## Frequently Asked Questions

### How are messages priced? Are retries free?

Each delivery attempt counts as one message. The initial delivery counts as one message, and each retry is counted as an additional message. The same rules apply to topics and schedules: publishing to a topic is billed once per subscribed endpoint, and scheduled messages are billed once for each time the schedule triggers. In short, one delivery attempt to one endpoint equals one billed message. Example: QStash sends a message to your endpoint, but the endpoint returns an error. QStash retries the delivery and it succeeds. Since there were two delivery attempts, the message is billed as 2 messages.

### What happens if we exceed the "Messages per Day" or "Monthly Bandwidth" limit?

These are soft limits and apply only if you consistently exceed your quota. Short or occasional spikes will NOT immediately block your requests. If usage continues to exceed the limit, we will contact you to discuss an upgrade (Fixed 1M to Fixed 10M, or Fixed 10M to a custom Enterprise plan). If we are unable to reach you and limits are still exceeded over time, the API may start returning 429 rate limit errors.

### How is the Max Message Size limit applied?

The size limit applies to both requests and responses. Request body: if the request body sent to QStash exceeds the limit, the API returns an HTTP 412 error. When using the /v2/batch endpoint, each request in the batch is checked individually. Response body: if the response from your endpoint exceeds the limit, it is trimmed and stored only for logging and debugging purposes (DLQ/Events).

### Is there a rate limit?

There is no requests-per-second (RPS) limit for message delivery APIs such as Publish, Enqueue, and Batch. APIs used for observability and management (such as logs and DLQ) do have RPS limits, and exceeding them returns a 429 Too Many Requests error. Since message delivery APIs do not have an RPS limit, QStash enforces a Max Parallelism limit: QStash accepts all message publish requests, but if the publish rate is too high, QStash slows down delivery by limiting how many messages are sent in parallel. Additional messages are queued and delivered later, but they are not lost.
