Rate Limits & Plans
Request quotas protect the API from abuse while ensuring fair access for all users.
Current Limits
| Scope | Limit | Window | Key By |
|---|---|---|---|
| Free Tier | 300 requests | 1 minute | API Key |
| Pro Tier | 300 requests | 1 minute | API Key |
| Scale Tier | 1,000 requests | 1 minute | API Key |
| Enterprise Tier | 3,000 requests | 1 minute | API Key |
| Auth Endpoints | 10 requests | 1 minute | IP Address |
Rate Limit Headers
Every response includes headers indicating your current usage:
| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests per window |
X-RateLimit-Remaining | Requests remaining in current window |
X-RateLimit-Reset | Unix timestamp when the window resets |
Retry-After | Seconds 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

