Rate Limits
To ensure the stability and performance of the Zentra API, we enforce rate limits on all API requests.Rate Limit Tiers
Rate limits vary based on your plan:| Plan | Rate Limit | Burst Limit |
|---|---|---|
| Sandbox | 100 requests/minute | 150 requests/minute |
| Starter | 1,000 requests/minute | 1,500 requests/minute |
| Growth | 5,000 requests/minute | 7,500 requests/minute |
| Scale | 10,000 requests/minute | 15,000 requests/minute |
| Enterprise | Custom | Custom |
Burst Limit allows short spikes above your base rate limit for up to 60 seconds.
Rate Limit Headers
Every API response includes rate limit information in the headers:Header Descriptions
| Header | Description |
|---|---|
X-RateLimit-Limit | Total requests allowed per window |
X-RateLimit-Remaining | Remaining requests in current window |
X-RateLimit-Reset | Unix timestamp when the limit resets |
Rate Limit Exceeded
When you exceed the rate limit, you’ll receive a429 Too Many Requests response:
Retry-After header:
Handling Rate Limits
Check Headers
Always check rate limit headers before making additional requests:Implement Backoff
Use exponential backoff when rate limited:SDK Support
Our official SDKs handle rate limiting automatically:Best Practices
Cache Responses
Cache Responses
Cache API responses when appropriate to reduce redundant requests.
Use Webhooks
Use Webhooks
Instead of polling for updates, use webhooks for real-time notifications.
Implement Request Queues
Implement Request Queues
Use a queue to control the rate of requests.
Endpoint-Specific Safeguards
Some reviewed public routes may have stricter operational safeguards than the base per-minute limit, depending on tenant configuration and product controls:| Endpoint | Operational Note |
|---|---|
POST /api/v1/identity/customers/{customer_id}/kyc/{check_type}/verify | Identity verification routes can enforce tighter per-customer throttles when the tenant feature is enabled |
POST /api/v1/cards/{card_id}/fund | Funding routes can carry stricter replay and risk controls than simple list operations |
GET /api/v1/webhooks/cards/events/{card_id} | Use pagination and caching for event review instead of hot-loop polling |
Increasing Limits
Need higher rate limits?- Upgrade Your Plan: Higher plans come with increased limits
- Contact Sales: Enterprise customers can get custom limits
- Optimize Usage: Follow best practices to reduce API calls
Upgrade Plan
View available plans
Contact Sales
Discuss custom limits
Testing Rate Limits
In sandbox, test your429 handling against a harmless reviewed list route and honor the returned Retry-After header:
test/rate-limit route.
Status Page
Check real-time API performance and any rate limiting issues: status.usezentra.comNext Steps
Error Handling
Handle rate limit errors properly
Webhooks
Use webhooks instead of polling
Optimization Guide
Optimize for production
Contact Support
Questions about limits?