Back to Docs

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 resets
2

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 processing
3

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 possible
4

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