Docs / Reference
Rate limits
Your limits go up with the total money you have ever added to your account. Your current balance does not count. You can see your step, and how much more takes you to the next one, in the console under Limits.
Steps
Adding $10 five times puts you on the same step as adding $50 once.
| Step | Total added | Jobs at once | Submits a minute, per key | Monthly spend cap |
|---|---|---|---|---|
| 0 | $0 | 0 | 10 | $0 |
| 1 | $10 | 2 | 10 | $100 |
| 2 | $50 | 4 | 30 | $500 |
| 3 | $100 | 6 | 60 | $2,000 |
| 4 | $500 | 10 | 120 | $10,000 |
| 5 | $2,000 | 16 | 300 | $50,000 |
Reads
Status, result, models, requests and balance: 600 a minute per key, at every step.
How each limit works
- Jobs at once. Jobs over the limit are not refused. They wait in line and start in the order you sent them.
queue_positionsays how many of yours are ahead. - Submits a minute. Counted per key. Over the limit you get 429 with a
Retry-Afterheader. - Monthly spend cap. Resets on the 1st of each month, UTC.
- Key spend limit. Optional. Set a spend limit per day or per month on any key in the console.
Headers
Every response carries RateLimit-Policy and RateLimit, so your code can slow down before it hits a 429.
429 Too Many Requests
HTTP/1.1 429 Too Many Requests
Retry-After: 12
RateLimit-Policy: 10;w=60
RateLimit: limit=10, remaining=0, reset=12
{
"detail": "Too many submits. Try again in 12 seconds.",
"error": { "type": "rate_limit_error", "code": "rate_limited", "param": null, "request_id": "req_01JA9Y7Q2K..." }
}Errors
| HTTP | error.code | When |
|---|---|---|
| 429 | rate_limited | Too many submits this minute. Wait for Retry-After. |
| 429 | key_spend_limit_reached | This key hit the limit you set. The body has reset_at. |
| 429 | monthly_cap_reached | Your step's monthly cap is spent. The body has reset_at. |
| 402 | insufficient_balance | Step 0: add $10 to make your first request. |
Higher limits
Need more jobs at once or a higher cap? Send us a request with your business and monthly volume.