API rate limits

All API endpoints are rate-limited per API key. Limits vary by plan and endpoint type.

PlanRead endpointsWrite endpointsBurst
Starter100 req/min20 req/min
Pro1,000 req/min200 req/min
Enterprise10,000 req/min2,000 req/min

Rate limit headers

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 847
X-RateLimit-Reset: 1708445612

Handling 429s

When rate limited, the API returns HTTP 429 with a Retry-After header. Implement exponential backoff with jitter.

async function callWithRetry(fn, maxRetries = 3) {
  for (let i = 0; i < maxRetries; i++) {
    try { return await fn(); }
    catch (e) {
      if (e.status !== 429 || i === maxRetries - 1) throw e;
      await sleep(Math.pow(2, i) * 1000 + Math.random() * 100);
    }
  }
}