Rate limits
Requests a second are counted in two classes, and your plan sets the limit for each.
Classes
Light calls cost 1 or 2 credits. Heavy calls cost 5 or more. Each method page shows its class. Opening a stream counts against stream opens, and status, the registry and account calls are never limited by class.
Limits by plan
| Keyless | Free | Developer | Business | Professional | Enterprise | |
|---|---|---|---|---|---|---|
| Light requests a second | 2 | 15 | 75 | 300 | 750 | Custom |
| Heavy requests a second | 1 | 5 | 25 | 100 | 250 | Custom |
| Concurrent streams | None | 2 | 10 | 50 | 200 | Custom |
| Credits | 1,000 a day | 5M a month | 30M a month | 250M a month | 600M a month | Custom |
Keyless limits are per client IP. All Free accounts used from one network share a combined budget, see How credits work. SQL runs have their own limits, see SQL.
Headers
| Header | Meaning |
|---|---|
| x-ratelimit-limit | Requests a second your key may use in this class. |
| x-ratelimit-remaining | Requests left in the current window. |
| x-ratelimit-reset | When the window resets. |
| retry-after | Seconds to wait. Sent with a 429. |
When you hit the limit
A call over the rate gets a 429 with the rate_limited code and a retry-after header. Wait that long and retry with backoff. A 429 costs no credits.
Spread heavy calls out, and batch where a method takes a list. For a bulk read of history, a SQL run is usually cheaper than many calls.