Rate Limits
Rate limits protect the API from abuse and ensure fair usage for all customers.
Limits by Plan
| Plan | Requests/second | Requests/minute | Burst |
|---|---|---|---|
| Starter | 5 | 100 | 10 |
| Growth | 15 | 500 | 30 |
| Pro | 30 | 1,000 | 50 |
| Business | 50 | 2,000 | 100 |
| Enterprise | Custom | Custom | Custom |
Rate Limit Headers
Every response includes rate limit information:
http
X-RateLimit-Limit: 500
X-RateLimit-Remaining: 487
X-RateLimit-Reset: 1709942400| Header | Description |
|---|---|
X-RateLimit-Limit | Max requests allowed in the current window |
X-RateLimit-Remaining | Requests remaining in the current window |
X-RateLimit-Reset | Unix timestamp when the window resets |
Exceeding Limits
If you exceed the rate limit, you'll receive a 429 Too Many Requests response:
json
{
"success": false,
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Rate limit exceeded. Retry after 12 seconds.",
"retry_after": 12
}
}Best Practices
- Implement exponential backoff — wait increasingly longer between retries
- Use batch endpoints for bulk operations instead of individual calls
- Cache results locally — repeat lookups on the same record are free within the cache window, but they still count against rate limits
- Spread requests evenly — avoid bursting all requests at once