Rate Limits

Understanding rate limits and best practices to optimize your API usage.

Overview

Rate limits protect our API infrastructure and ensure fair usage for all users. Each subscription tier has different rate limits based on your needs.

Rate Limits by Tier

PlanPriceRate Limit
Free$0/forever100 requests/minute
Pro$9.99/month1,000 requests/minute
EliteCustom pricing5,000+ requests/minute

Rate Limit Headers

Every API response includes headers that tell you about your current rate limit status:

X-RateLimit-Limit: 100        # Your rate limit per minute
X-RateLimit-Remaining: 85     # Requests remaining in current window
X-RateLimit-Reset: 1640000000 # Unix timestamp when limit resets

Pro Tip: Monitor these headers in your application to implement smart retry logic and avoid hitting rate limits.

Handling Rate Limit Errors

When you exceed your rate limit, you'll receive a 429 Too Many Requests response:

{
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "Rate limit exceeded. Try again in 45 seconds.",
    "retryAfter": 45
  }
}

The retryAfter field tells you how many seconds to wait before making another request.

Best Practices

1. Implement Exponential Backoff

When you receive a 429 response, wait before retrying. Increase the wait time with each subsequent failure.

async function fetchWithRetry(url, options, maxRetries = 3) {
  for (let i = 0; i < maxRetries; i++) {
    const response = await fetch(url, options);
    
    if (response.status === 429) {
      const retryAfter = response.headers.get('X-RateLimit-Reset');
      await new Promise(resolve => 
        setTimeout(resolve, retryAfter * 1000)
      );
      continue;
    }
    
    return response;
  }
  throw new Error('Max retries exceeded');
}

2. Cache Responses

Cache API responses when possible to reduce the number of requests. Use appropriate cache durations based on data freshness requirements.

3. Batch Requests

Where possible, use endpoints that return multiple items instead of making separate requests for each item.

4. Monitor Your Usage

Track your API usage in the dashboard to understand patterns and optimize your requests. Set up alerts for when you're approaching your limits.

5. Use Webhooks (Pro+)

Pro and Elite plans include webhook notifications. Instead of polling for updates, webhooks deliver real-time notifications directly to your application, significantly reducing unnecessary API calls.

Need Higher Limits?

If you're consistently hitting rate limits, upgrade to get higher limits:

Pro - $9.99/month

1,000 requests/minute

  • • Webhook notifications
  • • Usage analytics dashboard
  • • Priority email support

Elite - Custom

5,000+ requests/minute

  • • Everything in Pro
  • • 24/7 priority support
  • • Dedicated infrastructure
  • • SLA guarantees

Related Topics