Rate limits

The Acme API rate limits requests per API key and HTTP method using a token bucket: the bucket holds your burst allowance and refills continuously at the sustained rate. Short bursts above the sustained rate are fine until the bucket is empty.

MethodModeBurstSustained rate
GETLIVE100 requests10 requests/second
GETTEST50 requests5 requests/second
POSTLIVE and TEST100 requests25 requests/second

When you exceed a limit

The request is rejected with HTTP 429 and a Retry-After header (in seconds):

{
  "errorCode": "RATE_LIMIT_EXCEEDED",
  "errorMessage": "Rate limit exceeded. Please try again later."
}

Handling 429s

  • Wait for the Retry-After interval before retrying instead of retrying immediately; the bucket refills within a second.
  • A rate-limited request is never cached by idempotency, so retry it with the same Idempotency-Key.
  • If your integration needs more sustained throughput, please contact Acme; limits can be raised per API key.

On this page