Skip to main content
The Perform.AI API allows 40 requests per second per account, with a burst allowance of 40. The limit is shared across all endpoints — it is not 40 per endpoint — so if several of your systems call the API with the same credentials, they draw from the same budget. Exceeding the limit returns HTTP 429:
Accounts also have an overall request quota. Exhausting it returns HTTP 403 with the message Quota exceeded — if you encounter this in normal operation, contact your account team.

Handling throttling

  • Back off and retry. On a 429, wait before retrying — exponential backoff with jitter is the standard approach. The request was rejected before processing, so retrying is always safe.
  • Spread bulk jobs. Batch imports and nightly syncs should be paced below the limit rather than fired as fast as possible; a steady 30 requests per second finishes almost as fast as bursts and leaves headroom for your real-time traffic.
  • Budget across systems. If a webshop, a warehouse system, and a reporting job share one account, allocate each a share of the 40 requests per second — the gateway won’t arbitrate between them.
  • Prefer webhooks to polling. Most polling exists to detect shipment changes; webhooks push those changes to you and free your rate budget for writes.