Rate Limits
API rate limits protect the system and ensure fair usage across all customers.
Limits by Plan
| Plan | Requests per Minute |
|---|---|
| Free | 60 RPM |
| Professional | 300 RPM |
| Business | 500 RPM |
| Enterprise | 800 RPM |
| Custom | 1,200 RPM |
Rate Limit Headers
Every API response includes these headers:
X-RateLimit-Limit: 300
X-RateLimit-Remaining: 287
X-RateLimit-Reset: 1714900860Handling Rate Limit Errors
When you exceed the rate limit, the API returns HTTP 429 Too Many Requests. Implement exponential backoff in your client:
async function fetchWithRetry(url, options, retries = 3) {
const res = await fetch(url, options)
if (res.status === 429 && retries > 0) {
const retryAfter = res.headers.get('Retry-After') || 1
await new Promise(r => setTimeout(r, retryAfter * 1000))
return fetchWithRetry(url, options, retries - 1)
}
return res
}