Understand API rate limits and how to handle them.
Rate Limits by Plan
Authenticated requests are limited per API key and per account plan. The stricter bucket controls the response headers for the current request.
| Plan | Requests/Second | Requests/Minute |
|---|---|---|
| Free | 1 | 10 |
| Starter | 1 | 60 |
| Professional | 5 | 300 |
| Business | 50 | 1000 |
| Enterprise | 83 | 5000 |
Handling 429s
When a key or account window is exhausted, the API returns 429 with rate-limit headers and Retry-After. Pause and retry with exponential backoff:
{
"error": "rate_limit_exceeded",
"message": "Too many requests"
}Use X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, and Retry-After to pace retries.
Best Practices
- Implement exponential backoff (with jitter) when you receive a 429
- Use batch endpoints to reduce request count
- Cache verification results when appropriate