API reference
Rate limits
How many requests you can make, and how to handle 429 responses.
Each API key can make up to 10 requests per second. The limit uses fixed one-second windows and applies to every endpoint. A batch request counts as one request, however many emails it contains.
Rate limits are separate from your sending quotas, which count emails per day and per month.
Headers
Every response to a request made with an API key includes:
| Header | Description |
|---|---|
ratelimit-limit | Requests allowed per window. |
ratelimit-remaining | Requests left in the current window. |
ratelimit-reset | Seconds until the window resets. |
ratelimit-policy | The policy, for example 10;w=1 (10 requests per 1-second window). |
When you exceed the limit
The request fails with 429 and a retry-after header (seconds):
HTTP/1.1 429 Too Many Requests
ratelimit-limit: 10
ratelimit-remaining: 0
ratelimit-reset: 1
ratelimit-policy: 10;w=1
retry-after: 1
content-type: application/json
{"statusCode":429,"name":"rate_limit_exceeded","message":"Too many requests. You can only make 10 requests per second."}Wait for retry-after seconds, then retry.
Stay under the limit
- Use batch sending to send up to 100 emails per request.
- Use broadcasts to email a whole audience with one request.
- Queue your sends and retry
429responses with backoff.
Quota errors (daily_quota_exceeded, monthly_quota_exceeded) also use status 429, but retrying them does not help until your quota resets. Check name to tell them apart.