Guides
Rate limits
Requests are limited per API key, and every authenticated response tells you where you stand.
The limit
The default is 600 requests per minute, measured in a 60-second window. Accounts with a higher agreed throughput can have a different limit set on individual keys.
The limit is per key, not per account. This is deliberate: it means rotating a key or adding one for a second service does not halve the throughput of what you already run.
The headers
Every authenticated response carries your current position, not just the ones that get refused — so you can back off before you are refused rather than after.
The reset value is an absolute Unix timestamp in seconds, not a number of seconds to wait. Compare it against your own clock rather than treating it as a delay.
The OpenAPI document is served outside the authenticated path and carries no rate-limit headers at all.
When you exceed it
Exceeding the limit returns 429 with a Retry-After in seconds. The error is marked retryable; wait the stated time rather than retrying immediately.
Two different limits
There are two independent limits and they measure different things. The per-key limit counts HTTP requests. A separate account-wide limit counts recipients, and applies across every surface, not just the API.
The request limit is checked before anything is parsed, so a 429 costs you nothing — it consumes none of your account's recipient allowance and reserves no money.
The recipient limit works differently: it does not refuse the request. Recipients over the ceiling are dropped from an otherwise accepted batch and reported in rejections with a rate-limit reason code, which is another reason to read that array rather than trusting the status code.