API Rate Limiting Guide

Understand request rate limits and how to handle API throttling effectively.

Rate Limiting Policies

Free Tier
API Calls/Minute: 100
Bucket Size: 100

Ideal for small-scale applications and testing.

Upgrade Plan →
Standard
API Calls/Minute: 5000
BURST: 200

Balanced plan for medium-size applications.

Upgrade Plan →
Enterprise
Contact Us Custom
Requests: Contact Sales

Custom rate limits for high-volume API consumers.

Contact Sales →

Response Headers

X-RateLimit-Limit

The maximum number of requests per interval.

X-RateLimit-Remaining

Requests remaining in the current time window.

Retry-After

Seconds to wait before resuming requests after rate limit.

Rate Limiting Example

JavaScript Example

async function safeRequest(url) {
  const response = await fetch(url);
  
  // Check rate limit status
  const remaining = response.headers.get('X-RateLimit-Remaining');
  if (remaining < 100) {
    const retryAfter = response.headers.get('Retry-After') || 5;
    console.warn(`Approaching rate limit. Retrying in ${retryAfter} seconds.`);
  }
  
  if (response.status === 429) {
    const retryAfter = 10; // Default fallback
    if (response.headers.has('Retry-After')) {
      retryAfter = parseInt(response.headers.get('Retry-After'));
    }
    
    console.log(`Rate limited! Retrying in ${retryAfter} seconds...`);
    await new Promise(r => setTimeout(r, retryAfter * 1000));
    return safeRequest(url); // Retry after delay
  }
  
  return response.json();
}

Rate Limiting Best Practices

Monitor Remaining Limit

Always track X-RateLimit-Remaining in your application to anticipate limits.

Exponential Backoff

When rate-limited, use exponential backoff with jitter for retries.

Need Help?

Our support team is available for questions about rate limits or API usage.

Frequently Asked Questions

Can I increase my rate limit?

Enterprise plans provide higher limits and custom quotas. Contact for enterprise options.

What happens when I exceed limits?

Requests will receive 429 Too Many Requests with Retry-After in seconds.

How are limits tracked?

Requests are counted in a 60-second sliding window unless otherwise specified for your tier.