Limits by Endpoint Group
Different endpoint groups have different limits reflecting their relative cost to the platform. High-volume event ingestion supports far higher throughput than administrative actions.Customers on the Pro and Enterprise plans receive significantly higher rate limits. Enterprise plans also support custom limits tailored to your ingestion volume. Reach out to your account manager or visit Settings → Billing to upgrade.
Rate Limit Headers
Every API response — including successful ones — includes three headers that tell you exactly where you stand within the current window. Read these headers to implement proactive throttling before you hit a429.
A typical response header set looks like this:
Handling 429 Errors
When you exceed a rate limit, the API returns an HTTP429 Too Many Requests response. The X-RateLimit-Reset header tells you exactly when you can retry, but the most robust strategy is exponential backoff with jitter — each successive retry waits longer, and a small random offset prevents synchronized retry storms when multiple clients hit the limit simultaneously.
Retry with Exponential Backoff
Best Practices
Monitor remaining headroom proactively
Monitor remaining headroom proactively
Read
X-RateLimit-Remaining on every response and begin throttling your outbound request rate when it drops below 10–15% of X-RateLimit-Limit. This prevents hitting the wall entirely and keeps your integration running smoothly during traffic spikes.Use test keys during load testing
Use test keys during load testing
Rate limits apply per API key. Use a
cano_test_sk_... key in your staging and load-testing environments so test traffic does not consume production quota.Distribute load across multiple keys
Distribute load across multiple keys
If your architecture runs multiple independent services, give each one its own API key. Each key receives its own rate limit allowance, so you effectively multiply your total throughput capacity.