Skip to main content

Rate Limits

API rate limits vary by plan. Limits are enforced on a per-day basis and reset at midnight UTC.

Limits by plan

PlanRequests/minRequests/day
Starter (Free)601,000
Pro30050,000
EnterpriseCustomUnlimited

Rate limit headers

Every API response includes rate limit headers:
HeaderDescription
X-RateLimit-LimitYour daily request limit
X-RateLimit-RemainingRequests remaining today
X-RateLimit-ResetUnix timestamp when the limit resets (midnight UTC)
X-TierYour current plan tier

Handling 429 responses

When you exceed the rate limit, the API returns a 429 Too Many Requests status with a Retry-After header.
{
  "success": false,
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "Daily request limit exceeded. Upgrade your plan for higher limits."
  }
}

Best practices

The Retry-After header tells you how many seconds to wait before retrying. Implement exponential backoff.
Market data doesn’t change between snapshots. Cache responses for the snapshot interval (e.g., 5 minutes for 5m markets).
Fetch only the data you need. Use limit and offset to paginate through large result sets.
Check your usage in the Dashboard or read the rate limit headers.

Need higher limits?

Upgrade to Pro for 50x more daily requests, or contact us for custom Enterprise limits.