Usage limits
Recipient counts, batch size, attachment size, and the daily sending quota.
| Limit | Value |
|---|---|
Recipients per email (to) | 1–50 |
cc / bcc recipients | up to 50 each |
Emails per batch (POST /emails/batch) | up to 100 |
| Attachment size (per file) | up to 25 MB |
| Total attachments per email | up to 40 MB |
| Daily sending quota (Free plan) | 100 emails per rolling 24 hours (sent + received; paid plans have no daily cap) |
| Monthly sending quota | per plan — Free: 3,000 emails per rolling 30 days (sent + received combined) |
When a send would exceed a quota, the request is rejected with a 429 (daily_quota_exceeded or monthly_quota_exceeded) — it is not queued or partially sent. Wait until the rolling window frees up and retry, or raise the limit by upgrading your plan or buying email credits (credits extend the monthly quota only). See Account quotas and limits.
Rate limits
The send endpoints (POST /emails and the transactional send API) are rate-limited per client IP to absorb bursts — on the order of a few dozen send requests per minute. Exceeding that rate returns a 429 rate_limit_exceeded response. Other endpoints are not subject to this per-request cap; your sustained sending volume is governed by your account quotas (below) rather than a strict per-second limit.
To stay within the limit, reduce the rate at which you call the send endpoints — for example by introducing a queue or lowering the number of concurrent requests — and honor the retry-after header when you receive a 429.
Rate-limit response headers
Responses from the rate-limited send endpoints include headers describing your current rate-limit window (the draft-6 lowercase form of the IETF RateLimit Headers draft):
| Header | Description |
|---|---|
ratelimit-limit | Maximum number of requests allowed within a window. |
ratelimit-remaining | How many requests you have left within the current window. |
ratelimit-reset | How many seconds until the limits are reset. |
retry-after | How many seconds you should wait before making a follow-up request. |
Email quotas
When you exceed a quota you receive a 429 with either daily_quota_exceeded (reached your daily email quota — wait until 24 hours have passed or upgrade) or monthly_quota_exceeded (reached your monthly email quota — upgrade or buy email credits to increase it). Both sent and received emails count towards these quotas.