Rate limits
Two ceilings: a burst rate per second, and a volume quota per month.
Limits by plan
| Plan | Burst | Monthly |
|---|---|---|
| Free | 10/s | 10,000 |
| Developer | 50/s | 1,000,000 |
| Startup | 200/s | 10,000,000 |
| Business | 500/s | 50,000,000 |
| Enterprise | custom | custom |
Headers
X-RateLimit-Limit: 30 X-RateLimit-Remaining: 24 X-RateLimit-Reset: 1785312000
Reset is a Unix timestamp. Every response carries these, including successful ones, so you can slow down before you are stopped rather than after.
At the ceiling
When you exhaust your monthly quota the API returns 429 and stops. We do not bill an overage you did not agree to. Warning emails go out at 80%, 90%, and 100%, and upgrading takes effect immediately.
{
"error": {
"type": "rate_limit_exceeded",
"message": "Too many requests. The demo endpoint allows 30 per minute per address."
}
}Backing off
Retry with exponential backoff and jitter. Retrying immediately on a 429 wastes your quota on responses you already know the shape of.
python
for attempt in range(5):
r = session.get(url, headers=headers)
if r.status_code != 429:
break
wait = min(2 ** attempt, 30) + random.random()
time.sleep(wait)