Overview
Rate limits protect the API from abuse and ensure fair usage for all users. Limits are applied per organization using an in-memory sliding window.API Request Limits
Rate limits scale with your plan to support high-throughput sending:| Plan | Requests/Minute | Requests/Hour | Requests/Day |
|---|---|---|---|
| Free | 10 | 100 | 500 |
| 10K | 200 | 5,000 | 15,000 |
| 25K | 300 | 10,000 | 30,000 |
| 60K | 500 | 20,000 | 60,000 |
| 100K | 800 | 40,000 | 120,000 |
| 200K | 1,000 | 60,000 | 250,000 |
| 300K | 1,500 | 80,000 | 350,000 |
| 400K | 2,000 | 100,000 | 500,000 |
| 600K | 3,000 | 150,000 | 700,000 |
| 800K | 4,000 | 200,000 | 900,000 |
| 1M | 5,000 | 250,000 | 1,200,000 |
| Enterprise | 10,000 | 500,000 | 2,000,000 |
Email Sending Limits
Monthly email limits and daily sending limits vary by plan:| Plan | Price | Emails/Month | Daily Limit | Contacts |
|---|---|---|---|---|
| Free | $0 | 5,000 | 200/day | 1,000 |
| 10K | $8/mo | 10,000 | Unlimited | 2,500 |
| 25K | $15/mo | 25,000 | Unlimited | 5,000 |
| 60K | $20/mo | 60,000 | Unlimited | 10,000 |
| 100K | $50/mo | 100,000 | Unlimited | 25,000 |
| 200K | $100/mo | 200,000 | Unlimited | 50,000 |
| 300K | $165/mo | 300,000 | Unlimited | 75,000 |
| 400K | $220/mo | 400,000 | Unlimited | 100,000 |
| 600K | $340/mo | 600,000 | Unlimited | 150,000 |
| 800K | $470/mo | 800,000 | Unlimited | 200,000 |
| 1M | $600/mo | 1,000,000 | Unlimited | 500,000 |
| Enterprise | Custom | Custom | Unlimited | Unlimited |
The Free plan has a 200 emails/day sending limit per sender domain. All paid plans have unlimited daily sending within their monthly quota.
Domain Sending Limit
There is a global daily limit of 200,000 emails per sender domain across all plans. This protects shared infrastructure and ensures deliverability.Domain Creation Rate Limit
All plans include unlimited domains. To prevent abuse, domain creation is rate limited to 10 domains per hour per organization. This is a velocity cap — there is no limit on the total number of domains you can add.| Limit | Value |
|---|---|
| Domains per hour | 10 |
| Total domains | Unlimited (all plans) |
429 Too Many Requests. Wait and retry after a few minutes.
Rate Limit Headers
Every API response includes headers to help you track your rate limit status:| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests allowed per window |
X-RateLimit-Remaining | Requests remaining in current window |
X-RateLimit-Reset | Unix timestamp when window resets |
Retry-After | Seconds to wait (only on 429 response) |
Example Response Headers
response-headers.txt
Check Current Usage
You can check your current rate limit status with any API request by inspecting the response headers, or use the usage endpoint:Terminal
Response
response.json
Handling Rate Limits
When you exceed the rate limit, the API returns a429 Too Many Requests response:
rate-limit-response.json
Implementing Retry Logic
Exponential Backoff
For robust retry logic, use exponential backoff with jitter to avoid thundering herd:exponential-backoff.ts
Queue Pattern for Bulk Sending
For sending many emails, use a queue with rate limiting to stay within limits:rate-limited-queue.ts
Best Practices
Use batch endpoints
Send multiple emails in one request using
POST /v1/emails/batch to reduce API calls.Use webhooks instead of polling
Instead of polling for status, use webhooks to receive delivery updates asynchronously.
Need Higher Limits?
If you need higher rate limits for your use case, upgrade your plan or contact us for Enterprise options with custom limits.