Search the docs
Find a page, a section, or an endpoint.
Rate limits
What your plan allows, and the trust tier that raises it.
Three things limit what an account can do, and the effective limit is always the lowest of them: the plan, the trust tier, and the per-minute rate limit.
Per plan
| | Free | Team | Usage | | --------------------------- | --------- | --------- | --------- | | Domains | 1 | 5 | 25 | | Mailboxes | 3 | 15 | 100 | | Programmable addresses | 3 | 25 | 100 | | Webhook endpoints | 3 | 25 | 100 | | API keys | 3 | 10 | 25 | | Requests per minute | 120 | 600 | 3,000 | | Messages sent per day | 150 | 1,000 | 5,000 | | Routed addresses per domain | 10 | 50 | 200 | | Storage per mailbox | 10 GB | 50 GB | 100 GB | | Inbound | unlimited | unlimited | unlimited |
Receiving is free on every plan, because charging for the thing that makes an inbox valuable would be the wrong business.
Every one of these numbers is read from the same module the API enforces them from, so this table cannot describe a limit the product does not apply.
Trust, which is not the plan
A brand-new domain cannot be made trustworthy overnight. A new account starts well below its plan's daily allowance and earns its way up as its mail is delivered and read, rather than being handed a large limit it could burn its reputation with on the first day.
Verifying your domain raises it. So does time, and so does mail that arrives without being reported. Nothing you can do makes it instant, and a product that claimed otherwise would be selling you a blocklisting.
Rate limits
Per minute, per account, across every key. The headers are on every response — not only the ones that failed — so a client can pace itself rather than discover the limit by hitting it.
X-RateLimit-Limit: 120
X-RateLimit-Remaining: 118
X-RateLimit-Reset: 1757760060A 429 also carries Retry-After in seconds. Retrying before it elapses
counts against you again, so respect it rather than looping.
When you hit one
An entitlement refusal is a 402 with a sentence naming the limit and the
alternative — routing an extra address into an inbox you already have is free,
and is usually what somebody at the mailbox limit actually wanted.