Skip to main content

Rate limits

The API limits how fast you may make requests. It is separate from how many emails your plan lets you send.

What is limited​

Requests, per workspace. The limit is derived from your plan, and it is not per key: creating extra API keys does not raise it. Live and test traffic have separate allowances, so a load test against a tix_test_ key cannot slow production down.

The bucket refills continuously rather than resetting on a boundary, so a short burst above the sustained rate is fine as long as you are under it on average.

The headers​

Every response carries the current state, so you rarely need to guess.

HeaderMeaning
RateLimit-LimitRequests allowed in a full burst
RateLimit-RemainingRequests available right now
RateLimit-ResetSeconds until another request is allowed, 0 when one already is
RateLimit-PolicyThe limit and its window in seconds
RateLimit-ScopeAlways workspace

Reading RateLimit-Remaining and slowing down before it reaches zero is better than waiting to be rejected.

When you go over​

rate_limit_exceeded, status 429, with a Retry-After header in seconds. Nothing was sent and nothing was charged, so the request is safe to repeat once the wait has elapsed.

HTTP/1.1 429 Too Many Requests
Retry-After: 2
RateLimit-Remaining: 0

Honour Retry-After rather than picking your own interval. Retrying sooner consumes capacity you do not have and makes the queue behind you longer.

Rate limits are not quotas​

They fail differently and are fixed differently.

Rate limitSend quota
CountsRequests per secondEmails per day and per month
Errorrate_limit_exceededdaily_quota_exceeded, monthly_quota_exceeded
ClearsWithin secondsAt the daily reset, or on a plan change
FixSlow downSend less, or upgrade

A daily quota failure also carries Retry-After, set to the seconds remaining until the next UTC midnight. A monthly one does not, because waiting will not help.

Reducing how many requests you need​

Use POST /v1/emails/batch to submit up to 100 messages in one request. A hundred individual sends and one batch of a hundred cost very different amounts of your request allowance and deliver the same mail.