The only thing you are charged for are
- 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.
|Feature||Free||Pay as you go||Enterprise|
|Max Requests per Day||50||50,000||infinite|
|Max Message Size||1MB||1MB||10MB|
|Max Number of Topics||1||20||infinite|
|Max Number of Endpoints per Topic||100||100||infinite|
|Max Retry Count||3||5||20|
|Max Retention Time||1 week||30 days||90 days|
|Price per 1K Requests||N/A||$0.4||Custom|
Most of the above are soft limits, contact us if you have custom needs.
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.
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.
Publish to single API endpoint
- You make a request to
- We make an HTTP request to your API and it returns a 500 status code
- After some time we retry to deliver the request and it succeeds
In total you would be charged for 3 requests.
Schedules via CRON
- You create a new schedule
- Whenever the schedule is triggered, we enqueue the message
- 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
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
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 (
B) subscribed to it.
- You make a request to
- We make an HTTP request to each of your endpoints.
Areturns a 200 status code
Breturns a 429 status code
- After some time we retry to deliver the request to endpoint
Band it succeeds
In total this would be 4 requests.