Rate limits

Rate limits are applied per API key using a sliding window. Each endpoint belongs to a tier that determines its quota.

Tiers

TierLimitDescription
read1,000 / minGET requests (list, retrieve).
write200 / minPOST, PATCH, DELETE (create, update, delete).
send100 / minSending email (POST /v1/messages, POST /v1/threads/:id/reply).
verification1 / minDomain verification (POST /v1/domains/:id/verification).

Response headers

Every authenticated response includes rate limit headers:

HeaderDescription
X-RateLimit-LimitMaximum requests allowed in the current window.
X-RateLimit-RemainingRequests remaining in the current window.
X-RateLimit-ResetUnix timestamp (seconds) when the window resets.
Retry-AfterSeconds to wait before retrying. Present on 429 responses only.

Handling 429 responses

When you exceed the limit, the API returns a 429 status with a Retry-After header containing the number of seconds to wait. Back off for that duration before retrying.