Skip to main content

Pricing

The only thing you are charged for are requests.

  • Publish request: You publish a message or schedule, or a schedule creates a message when it triggers.
  • Delivery request: We make an HTTP request to your API.

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

FeatureFreePay as you goEnterprise
Max Requests per Day5050,000infinite
Max Message Size1MB1MB10MB
Max Number of Topics120infinite
Max Number of Endpoints per Topic100100infinite
Max Retry Count3520
Max Retention Time1 week30 days90 days
Price per 1K RequestsN/A$0.4Custom
info

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

Free tier

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

Pay as You Go

Max Monthly Usage (Price)

Upstash limits your monthly cost for qStash to a max price in pay-as-you-go plan. The max monthly price for qStash is $450 per month which mean you will not pay more than $450 in the pay-as-you-go plan. After exceeding the max usage cost, your usage will be rate limited.

Enterprise

In the enterprise plan, we give you a custom price for your custom needs. We give better prices for high volume needs. The price can be fixed or per-request depending on your preference.

Examples:

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 3 requests.

Schedules via CRON

  1. You create a new schedule
  2. Whenever the schedule is triggered, we enqueue the message
  3. We make an HTTP request to your API

If your API always responds with a 200 status code, you would be charged:

1 for the schedule + n * ( 1 for schedule trigger + 1 for the
delivery)

Where n is the number of times your schedule is triggered.

Example "every hour"

When your schedule triggers every hour, at the end of the month this would be around 1 + 24 * 30 * 2 = 1401 requests. (If your API always responds with a 200 status code)

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.
    • endpoint A returns a 200 status code
    • endpoint B returns a 429 status code
  3. After some time we retry to deliver the request to endpoint B and it succeeds

In total this would be 4 requests.