IntroductionRate limits

Rate Limits

Per-minute request limits for the SendKit API, by plan and request category.

Every /v1 request counts against a per-minute limit (a sliding 60-second window). Limits are per user: all API keys a user owns, platform and workspace, share the same buckets.

Request categories

Each request falls into one category:

CategoryWhich requests
readGET requests
writePOST, PATCH, PUT, DELETE requests not listed below
bulkPaths containing /bulk or /import (any method)
enrichmentPOST to paths containing /enrich or /validate
testsPOST to /inbox-placement or /blacklist-tests

POST /v1/workspaces uses the write bucket with a limit of 5: it is rejected once you hests of any kind in the last minute.

Limits by plan

Default limits (requests per minute):

Planreadwritebulkenrichmenttests
starter603010205
growth12060204010
scale, essential, inboxkit300120306020
plus450200459025
pro6003006012030
agency, power100060010020050

Some accounts have custom limits that differ from this table; where that applies it is communicated to the account directly.

Response headers

Every response carries these headers for the category the request used:

  • X-RateLimit-Limit: requests allowed per minute
  • X-RateLimit-Remaining: requests left in the current window
  • X-RateLimit-Reset: Unix time (seconds) when the window resets

Exceeding the limit

Going over the limit returns 429 Too Many Requests with a Retry-After header (seconds) and error code RATE_LIMIT_EXCEEDED. Wait that long before retrying.