To protect our API against excessive abusive behavior, we have simple rate limits in place.


Your application must obey these rate-limits. Repeated violation of rate-limits will result in a permanent ban of your application.

Rate-limit headers#

If the endpoint you're using is rate-limited, each response from that endpoint will contain rate-limit headers. Your application must adapt its behavior to these headers.


Although rate-limits per endpoint are relatively constant, they may change at any time without warning. Therefore, it's strictly required that your application reads and respects our headers and does not hardcode any rate-limits.

You'll receive the following headers in responses:

HeaderValue TypeDescription
Y-RateLimit-BucketStringThe bucket of the current rate-limit. A rate-limit bucket is usually related to one single endpoint on one single guild - that means that you have to respect one rate-limit per endpoint and guild in general, but multiple endpoints and/or guilds may share a bucket. Therefore, it's required that you respect rate-limits based on buckets rather than endpoints or guilds.
Y-RateLimit-PermitsintAmount of requests you can perform against endpoints in this bucket in the current period.
Y-RateLimit-ResetInintTime in milliseconds until the bucket gets reset. If Y-RateLimit-Permits is 0, your application must wait at least this amount of milliseconds before sending the next request to an endpoint in the same bucket.