Developer Docs

API Rate Limits

Every API plan includes generous rate limits with burst allowance. Here's how they work and how to handle them gracefully.

Rate Limit

Requests per minute window

Daily Quota

Total requests per 24-hour period

Burst Limit

Maximum concurrent requests per second

429 Handling

Retry-After header tells you when to retry

PlanRate LimitDaily QuotaBurstConcurrent
Free60 requests/min1,000/day10 req/sec5
Pro600 requests/min50,000/day50 req/sec25
Business3,000 requests/min500,000/day200 req/sec100
EnterpriseCustomUnlimitedCustomCustom

Handling Rate Limit Responses

HTTP/1.1 429 Too Many Requests
Retry-After: 30
X-RateLimit-Limit: 600
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1706140800

// Recommended: Exponential backoff
async function fetchWithRetry(url, options, retries = 3) {
  for (let i = 0; i < retries; i++) {
    const res = await fetch(url, options);
    if (res.status !== 429) return res;
    const wait = parseInt(res.headers.get('Retry-After') || '1');
    await new Promise(r => setTimeout(r, wait * 1000 * (i + 1)));
  }
  throw new Error('Rate limited after retries');
}