Overview
Rate limits protect the Zenstep API from abuse and ensure fair resource allocation. Limits are applied per-organisation and per-endpoint bucket.Limits by endpoint
The
events bucket allows batch requests of up to 50 events each — so the
effective throughput is up to 15,000 events per minute per organisation at
the maximum batch size.Rate limit headers
Every response includes rate limit headers:Handling 429 responses
When you exceed the rate limit, the API returns:Retry-After header value (in seconds) to delay your next request:
Best practices
Batch events — the/api/v1/events endpoint accepts up to 50 events per request. Always batch events from your snippet rather than sending one request per event.
Cache flow data — the /api/v1/flows response is stable between publishes. Cache it for the duration of a user session and only re-fetch on SPA navigation or after a configurable TTL (the Zenstep snippet caches for the page lifecycle by default).
Backoff on 429 — implement exponential backoff for any integration that calls the API from a backend service.