Skip to content

Rate limits

Each account has request limits, agreed with your technical contact to match the volume you expect. They protect the networks behind the API as much as the API itself.

You get 429 rate_limited. Nothing was bought. The response tells you when to try again:

HTTP/1.1 429 Too Many Requests
Retry-After: 2
RateLimit-Limit: 50
RateLimit-Remaining: 0
RateLimit-Reset: 2
Header Meaning
Retry-After Seconds to wait before retrying.
RateLimit-Limit Requests allowed in the current window.
RateLimit-Remaining Requests left in the current window.
RateLimit-Reset Seconds until the window resets.

The numbers above are an example, not your limit. Retry after Retry-After seconds with the same reference; it will never buy twice.

If you buy for many customers at once, such as a monthly run:

  • Send purchases at a steady rate rather than all at once, and keep within your limit.
  • Tell your technical contact before a campaign or batch much larger than usual, so your limit and the networks can be ready for it.
  • Cache the bundle catalogue rather than reading it before every purchase. Refresh it every few minutes, and straight away when you get bundle_unavailable.