Rate Limits
Per-endpoint rate limits, 429 response handling, Retry-After header, and best practices for staying within limits.
Rate Limits
The Elebne Developer API enforces rate limits to ensure fair usage and platform stability. Limits are applied per IP address (short-term) and per business (daily).
Rate limit table
| Endpoint Group | Per-IP (per minute) | Per-Business (per day) |
|---|---|---|
| Pay API read | 60 | 2,000 |
| Pay API write | 20 | 200 |
| Pay API refund | 10 | 100 |
| Store API read | 60 | 2,000 |
| Store API write | 30 | 500 |
| Store API stock | 120 | 5,000 |
| Store API delete | 10 | 200 |
| CSV import | 5/hour | 50 |
| Bulk inventory | 30 | 500 |
| Webhooks read | 30 | 500 |
| Webhooks write | 10 | 100 |
| Webhooks test | 5 | 50 |
Rate limit headers
Every response includes headers showing your current usage:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 42
X-RateLimit-Reset: 1712234400| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests allowed in the current window |
X-RateLimit-Remaining | Requests remaining in the current window |
X-RateLimit-Reset | Unix timestamp when the current window resets |
Handling 429 responses
When you exceed a rate limit, the API returns a 429 Too Many Requests response:
{
"success": false,
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Too many requests. Retry after 23 seconds.",
"statusCode": 429
}
}The response includes a Retry-After header with the number of seconds to wait:
Retry-After: 23Best practices
- Respect
Retry-After-- always wait the indicated number of seconds before retrying. Do not retry in a tight loop. - Use exponential backoff -- if you receive multiple 429s in a row, increase the delay between retries (e.g., 1s, 2s, 4s, 8s).
- Cache read responses -- if you query the same data repeatedly, cache it locally to reduce API calls.
- Batch operations -- use bulk endpoints (e.g., CSV import, bulk inventory) instead of individual calls when possible.
- Monitor your usage -- check
X-RateLimit-Remainingheaders proactively rather than waiting for a 429. - Spread requests over time -- avoid burst patterns where you send many requests in rapid succession.
Sandbox vs production
Rate limits apply equally to sandbox and production environments. Test your retry logic in sandbox before going live.
Need higher limits?
If your integration requires higher rate limits, contact us at [email protected] with your business name and expected usage patterns.
Next steps
- Idempotency -- safely retry failed requests
- Error Codes -- handle error responses
- Support -- request limit increases
Was this page helpful?