Skip to main content
Rate limits are enforced per user on a rolling hourly window. Every successful response includes these headers:
HeaderTypeDescription
X-RateLimit-LimitintegerRequests allowed per hour for your tier
X-RateLimit-RemainingintegerRequests remaining in the current window
X-RateLimit-Resetunix timestampWhen the rate limit window resets
When exceeded, the API returns 429 with a Retry-After header indicating seconds until reset.

Handling 429 Responses

const res = await fetch(url, { headers });
if (res.status === 429) {
  const retryAfter = parseInt(res.headers.get("Retry-After") || "60", 10);
  await new Promise(r => setTimeout(r, retryAfter * 1000));
  // retry the request
}

Limits by Tier

TierRequests per hour
Starter100
Professional500
Enterprise2,000