Rate Limits & Plans

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

Current Limits

ScopeLimitWindowKey By
Free Tier300 requests1 minuteAPI Key
Pro Tier300 requests1 minuteAPI Key
Scale Tier1,000 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
  • 300 req/min
  • 5,000 credits / month
  • All crypto markets
  • Unlimited history
  • Community support
Pro
$17/mo
  • 300 req/min
  • 50,000 credits / month
  • All crypto markets
  • Unlimited history
  • 1 WebSocket connection
  • Priority support
Scale
$49/mo
  • 1,000 req/min
  • 500,000 credits / month
  • All markets + Hyperliquid
  • Unlimited history
  • 5 WebSocket connections
  • Priority support
Enterprise
$549/mo
  • 3,000 req/min
  • 5,000,000 credits / month
  • All markets + custom
  • Unlimited history
  • 10 WebSocket connections
  • Team access — add members
  • Dedicated infrastructure
  • White-glove support
Rate Limits & Plans — API Docs | Resolved Markets