Rate limits apply to all API requests. Limits are enforced per brand and vary by endpoint. When a rate limit is exceeded the API returns 429 Too Many Requests.
Per-endpoint rate limits
Rate limits are specified in each endpoint's documentation. The default limit is 400 requests per minute. Endpoints with stricter limits:
| Endpoint | Methods | Limit |
|---|---|---|
| All endpoints (default) | any | 400 requests / minute |
/segments | GET, DELETE | 100 requests / minute |
/segments | POST, PUT | 15 requests / minute |
/contacts/tags | POST, DELETE | 60 requests / minute |
/email-templates/{id}/render | POST | 40 requests / minute |
/email-content/{id}/render | POST | 40 requests / minute |
/analytics/reports, /analytics/statistics | POST | 10 requests / minute, 55 requests / 24 hours |
How rate limits are enforced:
- Rate limits are enforced at the API gateway per brand and apply to all endpoints. Every request made on behalf of the same brand counts toward the same limit, regardless of which API key, OAuth token, or integration sends it.
- Limits use a sliding window: the counter tracks requests over the last minute (or 24 hours for daily quotas) rather than resetting at fixed intervals, so bursts at window boundaries are not possible.
- If an endpoint is not listed in the table above, the default limit of 400 requests per minute per brand applies.
Rate limit response
When you exceed a rate limit, the API returns:
{
"type": "https://problems.omnisend.com/rate-limit-exceeded",
"title": "Rate limit exceeded",
"status": 429
}Wait before retrying. Some endpoints include a retryAfter field (seconds) in the error response.
API errors logs
Errors resulting from API requests are recorded in the API Issues section, accessible via Store Settings > API > API Issues in the Omnisend app. If you encounter unexpected behavior, consult these logs to diagnose and resolve the issue.