Rate Limits
Understand API rate limits and how to work within them.
Current Status
Free Tier
100/hr
requests per hour
Pro Tier
1,000/hr
requests per hour
Enterprise
Custom
contact sales
1
Rate Limit Overview
API requests are rate-limited to ensure fair usage and system stability.
**Rate Limit Headers:**
All API responses include rate limit information:
- `X-RateLimit-Limit`: Maximum requests per window
- `X-RateLimit-Remaining`: Requests remaining in current window
- `X-RateLimit-Reset`: Unix timestamp when the window resets2
Rate Limits by Plan
**Free Plan:**
- 100 requests per hour per API key
- 10 requests per minute burst
**Pro Plan:**
- 1,000 requests per hour per API key
- 50 requests per minute burst
**Enterprise Plan:**
- Custom limits based on agreement
- Higher burst capacity
- Priority processing3
Handling Rate Limits
**When You Hit a Rate Limit:**
```typescript
// Handle 429 response
async function apiRequest(endpoint: string) {
const response = await fetch(endpoint, {
headers: {
Authorization: `Bearer ${apiKey}`,
},
});
if (response.status === 429) {
const resetTime = response.headers.get("X-RateLimit-Reset");
const waitTime = Math.ceil((Number(resetTime) * 1000 - Date.now()) / 1000);
// Wait and retry
await new Promise(resolve => setTimeout(resolve, waitTime * 1000));
return apiRequest(endpoint);
}
return response;
}
```
**Best Practices:**
- Implement exponential backoff
- Cache frequently accessed data
- Use webhooks instead of polling
- Batch requests when possible4
Increasing Rate Limits
**Request Higher Limits:**
- Upgrade to Pro or Enterprise plan
- Contact support for custom limits
- Consider using webhooks to reduce API calls
**Ways to Reduce API Usage:**
- Cache responses locally
- Use webhooks for real-time updates
- Batch multiple operations
- Reduce polling frequency