Back to Documentation

Rate Limits

Understand API rate limits to ensure smooth integration.

Rate Limit Tiers

  • Starter Plan: 1,000 requests per hour
  • Professional Plan: 5,000 requests per hour
  • Enterprise Plan: 20,000 requests per hour
  • Custom: Contact sales for higher limits

Rate Limit Headers

Every API response includes rate limit information:

X-RateLimit-Limit: 5000
X-RateLimit-Remaining: 4850
X-RateLimit-Reset: 1234567890

Handling Rate Limits

When you exceed the rate limit, you'll receive:

HTTP/1.1 429 Too Many Requests
Retry-After: 3600

{
  "error": {
    "type": "rate_limit_error",
    "message": "Too many requests"
  }
}

Best Practices

  • Implement Exponential Backoff: Wait longer between retries
  • Cache Responses: Reduce unnecessary API calls
  • Batch Requests: Use bulk endpoints when available
  • Monitor Usage: Track rate limit headers
  • Spread Requests: Don't burst all requests at once

Retry Strategy Example

async function makeRequest(url, retries = 3) {
  for (let i = 0; i < retries; i++) {
    const response = await fetch(url);
    
    if (response.status === 429) {
      const retryAfter = response.headers.get('Retry-After');
      await sleep(retryAfter * 1000);
      continue;
    }
    
    return response;
  }
}

Monitoring Usage

  • View API usage dashboard
  • Set up alerts for high usage
  • Track requests by endpoint
  • Identify optimization opportunities

Pro Tip: Use webhooks instead of polling to reduce API calls and stay within limits.