Docs Menu & Search
Documentation
Rate Limits
Per-plan request limits and how to handle 429 responses.
Limits by Plan
Rate limits apply to your whole account, on a rolling window: every API key you own shares them, so spreading requests over more keys doesn’t raise them. Institution accounts also have a shared per-institution limit.
| Plan | Requests/Minute | Requests/Day | API Keys |
|---|---|---|---|
| Free | 5 | 500 | 1 |
| Developer | 60 | 10,000 | 5 |
| Pro | 120 | Unlimited | 50 |
| Enterprise | 200 (Custom on Request) | Unlimited | 100 |
When You Exceed a Limit
Requests over the limit return 429 with the code RATE_LIMIT_EXCEEDED. The
response includes a Retry-After header (seconds to wait) and an
X-RateLimit-Reset header (the Unix timestamp when capacity frees up).
// Status: 429 Too Many Requests
// Headers:
// Retry-After: 42
// X-RateLimit-Reset: 1750000042
{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Rate limit exceeded. Please slow down.",
"retry_after_seconds": 42
}
}Handling 429s
- Respect the
Retry-Afterheader before retrying. - Use exponential backoff with jitter for repeated retries.
- Spread bursty workloads over time — adding API keys doesn’t add capacity, because every key on the account shares one limit.
- If you consistently hit limits, upgrade your plan for higher throughput.
Need higher limits than Pro for a production workload? Get in touch.