Pricing

Pay only for what you use with per-request pricing.
Or choose a Fixed plan for consistent usage with a flat price.

Free

$0

-

Perfect for prototypes and hobby projects.

Messages per Day

1,000

Pay as You Go

$1

per 100K messages

For use cases with bursting traffic.

Messages per Day

Unlimited

$180/ month

-

For businesses with consistent high-capacity loads and predictable costs.

Messages per Day

1M

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+ messages daily
  • Unlimited bandwidth
  • Professional support with SLA
  • Dedicated resources for isolation
  • SAML SSO
Learn More

Compare Plans

Plans that scale to all sizes.

Free
-
Capacity
Max Messages per Day1,000
50GB
Max Message Size1MB
Max Number of URL Groups1
Max Number of Endpoints per URL Group100
Max Delay7 days
Max HTTP Response Duration15 minutes
Max DLQ Retention3 days
Max Logs Retention3 days
Max Active Schedules10
Max Queue Count10
2
10
Features
Uptime SLA
Security and Privacy
Encryption at rest
SAML Single Sign-On (SSO)
Observability
Prometheus Integration
Datadog Integration
Support
Community Support
Email Support
Dedicated support and Slack channel
Price
Monthly priceFree
Message priceFree
Start Now

FAQ

  • Each delivery attempt counts as one message.
    • The initial delivery counts as one message.
    • In case of retries, 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 to the topic.
    • 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.

  • 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 → Fixed 10M
    • Fixed 10M → 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.

  • 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).

  • There is no requests-per-second (RPS) limit for message delivery APIs, such as:
    • Publish
    • Enqueue
    • Batch
  • APIs used for observability and management (such as logs and DLQ) do have RPS limits. When exceeded, the API 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.
    • 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.

Upstash QStash pricing — all plans

Plan overview
PlanPriceMax messages/dayMax bandwidthMax message size
Free$0/month1,00050 GB1 MB
Pay as You Go$1 per 100K messagesUnlimited50 GB10 MB
Fixed 1M$180/month1M1 TB50 MB
Fixed 10M$420/month10M5 TB50 MB
EnterpriseCustom100M+UnlimitedCustom
Fixed plans — all tiers
TierMonthly priceMessages/dayBandwidthMax message sizeMax delayDLQ retentionMax parallelism
Fixed 1M$180/month1M1 TB50 MBUnlimited30 days200
Fixed 10M$420/month10M5 TB50 MBUnlimited3 months1,000

Pay as You Go — pricing details

  • Messages: $1 per 100K messages
  • Bandwidth: Free up to 50 GB/month, then $0.05/GB
  • 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: 1,000 (Free up to 1,000. Beyond that, $0.01 per active schedule.)
  • Max parallelism: 100

Full machine-readable pricing is available at /pricing/qstash.md.