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
| Tier | Requests/Minute | Requests/Hour | Requests/Day |
|---|---|---|---|
| Free | 60 | 1,000 | 10,000 |
| Standard | 100 | 3,000 | 50,000 |
| Pro | 500 | 15,000 | 250,000 |
| Enterprise | Custom | Custom | Unlimited |
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.