IZI API Rate Limits
IZI API Rate Limits
Section titled “IZI API Rate Limits”IZI API enforces per-token request limits. This protects shared infrastructure and ensures stability for all partners.
Quotas
Section titled “Quotas”| Limit | Value |
|---|---|
| Sliding window | 10 seconds |
| Max requests | 100 per window |
| Counted per | Token (not IP) |
| Standard request cost | 1 |
| Analytics request cost | 5–10 (depends on complexity) |
The limit is sliding — not reset every 10 seconds, but continuously calculated over the last 10 seconds.
Response Headers
Section titled “Response Headers”Every API response includes:
X-RateLimit-Limit: 100X-RateLimit-Remaining: 73X-RateLimit-Reset: 1717072920X-RateLimit-Cost: 1X-RateLimit-Remaining— requests remaining in the current windowX-RateLimit-Reset— Unix timestamp when the window resetsX-RateLimit-Cost— cost of the current request
On limit exceeded:
HTTP/1.1 429 Too Many RequestsRetry-After: 7X-RateLimit-Remaining: 0Handling 429
Section titled “Handling 429”async function requestWithBackoff(query, variables, maxRetries = 3) { for (let attempt = 0; attempt < maxRetries; attempt++) { try { return await client.request(query, variables); } catch (error) { if (error.status === 429) { const retryAfter = parseInt(error.headers['retry-after'] || '5', 10); // Add jitter to avoid synchronized retries const delay = retryAfter * 1000 + Math.random() * 1000; await new Promise(resolve => setTimeout(resolve, delay)); continue; } throw error; } } throw new Error('Max retries exceeded');}Recommendations
Section titled “Recommendations”For data sync — use webhooks instead of polling. Rather than asking “what changed?” every 5 seconds, subscribe to events and receive a push on change.
For bulk operations — group requests via batching (up to 10 per POST).
For analytics — run heavy queries during off-peak hours or cache results on your side.
Related Pages
Section titled “Related Pages”- IZI API: Overview — general architecture
- Webhooks — alternative to polling
- API Error Codes — full error code reference
Frequently asked questions
How many requests per second can I make to IZI API?
100 requests per any 10-second window per token. That's ~10 requests/sec average, but short bursts of 30–40/sec are fine as long as the sliding window limit isn't exceeded.
What to do on a 429 error?
Read the Retry-After header in the response — it tells you how many seconds to wait. Implement exponential backoff with jitter for automatic handling.
Are limits different for different operation types?
The base limit is the same. Heavy analytics queries count with a higher cost multiplier, reflected in the X-RateLimit-Cost header.