Skip to content

Rate limits ​

General limits ​

Two limits apply to every request at the same time:

LimitRequests
Per API key2,000 per minute
Per IP address1,200 per minute

A request over either limit is rejected with 429 Too Many Requests. Wait for the counter to reset before you send more, and spread requests out rather than retrying straight away.

When counters reset ​

Counters reset at the start of each minute, not a minute after your first request.

  • If one IP address sends 1,200 requests between 12:00:00 and 12:00:30, further requests from it are rejected until 12:01:00.
  • If it sends 1,000 requests between 12:00:00 and 12:00:59, it can send another 1,200 from 12:01:00.

Spreading requests across several IP addresses doesn't raise a key's limit: a key can make 2,000 requests a minute in total, whichever addresses they come from.

Routes with their own limits ​

These routes have their own limit per IP address instead of the general limits above. Per-second limits reset at the start of each second.

RouteMethodLimit per IP address
/v1/account/subaccountPOST1 per second
/v1/account/subaccounts/transferPOST20 per second
/v1/public/time, /v1/public/status, /v1/public/{currencyPair}/bucketsGET20 per second
Other /v1/public routesGET30 per minute

Public routes take no API key, so only the limit per IP address applies to them.

WARNING

We may lower limits temporarily when the platform is under severe load.

Staying within the limits ​

  • Use webhooks to find out when something happens on your accounts, such as a deposit or a withdrawal, instead of polling.
  • Fetch lists a page at a time with the largest page size an endpoint allows, and filter by time where you can.
  • Cache responses for as long as their Cache-Control header allows. See Performance.