Rate Limits & Plans

Request quotas protect the API from abuse while ensuring fair access for all users.

Current Limits

ScopeLimitWindowKey By
Free Tier60 requests1 minuteAPI Key
Pro Tier500 requests1 minuteAPI Key
Enterprise Tier3,000 requests1 minuteAPI Key
Auth Endpoints10 requests1 minuteIP Address

Rate Limit Headers

Every response includes headers indicating your current usage:

HeaderDescription
X-RateLimit-LimitMaximum requests per window
X-RateLimit-RemainingRequests remaining in current window
X-RateLimit-ResetUnix timestamp when the window resets
Retry-AfterSeconds to wait (only on 429 responses)

Handling 429 Responses

Retry with backoff
async function fetchWithRetry(url, apiKey, retries = 3) {
  for (let i = 0; i < retries; i++) {
    const res = await fetch(url, {
      headers: { "X-API-Key": apiKey }
    });
    if (res.status !== 429) return res;

    const retryAfter = res.headers.get("Retry-After") || "5";
    await new Promise(r => setTimeout(r, parseInt(retryAfter) * 1000));
  }
  throw new Error("Rate limited after retries");
}

Plans

Free
$0/mo
  • 60 req/min
  • BTC markets only
  • 24-hour history
  • Community support
Enterprise
$249/mo
  • 3,000 req/min
  • All markets + custom
  • Unlimited history
  • 10 WebSocket connections
  • White-glove support
Rate Limits & Plans — API Docs | Resolved Markets