Rate Limits
Understanding and handling API rate limits
Rate Limits
Syntrigen APIs have rate limits to ensure fair usage.
Limits by Plan
| Plan | Requests/Minute | Requests/Day | |------|-----------------|--------------|
Rate Limit Headers
Every response includes:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1701432000
Handling 429 Errors
When rate limited, you'll receive:
{
"error": "rate_limit_exceeded",
"message": "Too many requests",
"retry_after": 30
}
Retry Strategy
async function fetchWithRetry(url, options, maxRetries = 3) {
for (let i = 0; i < maxRetries; i++) {
const response = await fetch(url, options); if (response.status !== 429) {
return response;
}
const retryAfter = response.headers.get('Retry-After') || 30;
await new Promise(r => setTimeout(r, retryAfter * 1000));
}
throw new Error('Max retries exceeded');
}
Best Practices
1. Cache responses when possible 2. Use bulk endpoints for multiple items 3. Implement exponential backoff 4. Monitor your usage dashboard 5. Contact sales for higher limits