Skip to content
Docs

Limits

Every limit the API enforces, and what it answers when one is reached.

One email

WhatLimit
Recipients50 across to, cc and bcc together, each address once
Reply-To addresses50
SubjectOne line, 1 to 998 characters
Bodyhtml, text or both
Attachments20, base64 in the request; executable file types are refused
Headers20: X-* (not X-SES-*), List-Unsubscribe, List-Unsubscribe-Post, List-Id, In-Reply-To, References, Auto-Submitted
Tags10 name and value pairs
scheduled_atAt most 72 hours ahead

Content we refuse

Before an email is queued, we check three things, and refuse it with 422 validation_error if any is true:

  • the From name or domain imitates a bank, a payments company or a government body on our list;
  • a link goes through a URL shortener, which hides where it leads;
  • an attachment is a program, such as .exe, .js or .apk.

The message says which, and nothing is counted against your caps. In a batch, one refused email refuses the batch.

One request

WhatLimit
Size4 MB, attachments included; larger is refused with 413
Emails in a batch1 to 100
Emails in a page of GET /emails1 to 100, 20 unless asked
Idempotency-Key1 to 256 printable ASCII characters, kept 24 hours

One key

Each API key may make 10 requests a second, with bursts of up to 20. Past that the answer is 429 rate_limited with retry-after. A batch is one request.

Your plan

Each plan has a cap a day and a cap a month — see pricing. Caps count recipients, not requests: an email to three people counts three. Days and months run on Lagos time. An email counts on the day it is to go, so a scheduled email counts on the day it is scheduled for, a moved one moves with it, and a canceled one is given back.

A new account is in the sandbox: it sends only to its own members’ confirmed addresses, at most 100 a day, until we approve it. Once approved, an account starts at 1,000 a day (or its plan’s cap, if lower) while it warms up.

At a cap, new emails are refused with 429 quota_exceeded, and retry-after says when the day or month starts again.