Documentation
Rate Limits
Per-plan request limits and how to handle 429 responses.
Limits by plan
Rate limits are enforced per API key, on a rolling window.
| Plan | Requests / minute | Requests / day | API keys |
|---|---|---|---|
| Free | 5 | 500 | 1 |
| Developer | 60 | 10,000 | 5 |
| Pro | 300 | Unlimited | 50 |
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 across time, or distribute across multiple keys where appropriate.
- If you consistently hit limits, upgrade your plan for higher throughput.
Need higher limits than Pro for a production workload? Get in touch.
