Our API implements a process for limiting and preventing spam requests. API users that regularly hit and ignore the limit will be blocked from our platform. These rate limits are in place to help prevent the abuse and overload of our services.

As of API v5, all ratelimits including global ratelimits are dynamic and can be added/removed at any time as we require

  • Not all endpoints may return these headers however these may still have ratelimits.
  • A number for the purpose of the below table is defined as a number stringified

Rate Limit Header Structure

X-Ratelimit-BucketStringThe bucket you are going to performing the request on. Different requests have different buckets
X-Ratelimit-Bucket-Reqs-Allowed-CountNumberNumber of requests allowed per time interval
X-Ratelimit-Bucket-Reqs-Allowed-SecondNumberTime interval between ratelimit resets
X-Ratelimit-Req-MadeNumberThe number of requests you have made in the time interval
retry-aferNumberAmount of time until the Rate Limit Expires. Learn more about this header here

Rate Limit Response Structure

messageStringError Message for the Rate Limit Response. This is a constant as per below and is static

Example Rate Limit Response

"message": "You're being rate limited!"

Clients are expected to use the retry-after header. Ratelimit responses are now static to improve performance