Skip to content

Rate Limits

Rate limits protect the platform and are enforced per API key.

Updated Jul 15, 2026API 2026-07-01 Edit on GitHubReport an issue

Quotas

FieldTypeDescription
Sandbox
100 req/minPer key. Bursts up to 200 for 5 seconds.
Live standard
1,000 req/minDefault for approved accounts. Bursts to 2,000.
Live scale
10,000 req/minAvailable on request for high-volume accounts.

Headers

HTTP/1.1 200 OK
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 947
X-RateLimit-Reset: 1794902460
Retry-After: 0

Backoff strategy

async function withBackoff<T>(fn: () => Promise<Response>): Promise<T> {
  for (let attempt = 0; attempt < 6; attempt++) {
    const res = await fn();
    if (res.status !== 429 && res.status < 500) return res.json();
    const retry = Number(res.headers.get("Retry-After") ?? 0);
    const wait = retry ? retry * 1000 : Math.min(30_000, 500 * 2 ** attempt) + Math.random() * 250;
    await new Promise((r) => setTimeout(r, wait));
  }
  throw new Error("Exceeded retries");
}