Skip to main content


The only thing you are charged for are messages . Retries are free.

In the pay-as-you-go plan, the price is $1 per 100K messages. Here are the price and limits of the plans.

FeatureFreePay as you goEnterprise
Max Messages per Day500500,000up to 100M
Max Message Size1MB1MB10MB
Max Number of Topics120infinite
Max Number of Endpoints per Topic100100infinite
Max Retry Count3520
Max Delay7 days30 daysCustom
Max HTTP Connection Timeout2 min5 minCustom
Price per 100K MessagesN/A$1Custom

Most of the above are soft limits, contact us if you have custom needs.

Free tier

The free tier includes 500 Messages per day. Afterwards we will no longer accept new requests.

Pay as You Go

Upstash limits your monthly usage for QStash to daily 500,000 in pay-as-you-go plan. If you are expecting to exceed this limit, contact us for the Enterprise plan.


In the enterprise plan, we give you a fixed price for higher throughput needs. We reserve isolated resource to guarantee the scalability for high volumes. Here the Enterprise plans and prices:

PlanMax Messages per DayPrice (per month)
Enterprise 1M1M$180
Enterprise 10M10M$420
Enterprise 100M100M$1800

Enterprise plans have a minimum term of 1 month, afterwards you can cancel any time.


Publish to single API endpoint

  1. You make a request to /v1/publish/<your-api-url>
  2. We make an HTTP request to your API and it returns a 500 status code
  3. After some time we retry to deliver the request and it succeeds

In total, you would be charged for 1 message.

Example "every hour"

When your schedule triggers every hour, at the end of the month this would be around 24 * 30 = 720 requests.

Publish to topic

Let's assume you have a topic and 2 endpoints (A and B) subscribed to it.

  1. You make a request to /v1/publish/<your-topic>
  2. We make an HTTP request to each of your endpoints.

In total this would be 2 messages.