Platform Guides

API Rate Limits

API rate limits, quotas, and best practices for optimization.

Rate Limit Overview

Rate limits protect our API infrastructure and ensure fair usage across all users. When you exceed the limit, you'll receive a 429 Too Many Requests error.

🏯

100 req/min

Standard Tier

🚀

500 req/min

Pro Tier

Custom

Enterprise

Limits by Account Tier

TierRequests/MinuteRequests/HourRequests/Day
Free601,00010,000
Standard1003,00050,000
Pro50015,000250,000
EnterpriseCustomCustomUnlimited

Rate Limit Headers

Every API response includes rate limit information in headers:

X-RateLimit-Limit:100
X-RateLimit-Remaining:87
X-RateLimit-Reset:1704123600

Handling Rate Limits

Exponential Backoff Example

async function fetchWithRetry(url, options, maxRetries = 3) {
  for (let attempt = 0; attempt < maxRetries; attempt++) {
    const response = await fetch(url, options);
    
    if (response.status !== 429) {
      return response;
    }
    
    // Get retry-after from headers (in seconds)
    const retryAfter = response.headers.get('Retry-After');
    const delay = retryAfter ? parseInt(retryAfter) * 1000 : Math.pow(2, attempt) * 1000;
    
    await new Promise(resolve => setTimeout(resolve, delay));
  }
  throw new Error('Max retries exceeded');
}

Optimization Tips

📄 Cache Responses

Cache API responses locally. Product data, user profiles, and settings change infrequently.

🔔 Use Webhooks

Instead of polling for updates, use webhooks to receive real-time notifications without consuming API requests.

📦 Batch Requests

Use batch endpoints when available: /products/batch instead of individual product requests.