Everything you need to know about ratelimits.


Every endpoint in this API will be ratelimited, meaning that you cannot send more than a specific amount of requests to an endpoint over a certain period of time. If you exceed the amount of requests allowed, you will be faced with a 429 Too Many Requests error. Ratelimits completely ignore path parameters. For example, if you used GET /v1/users/:id with the ID of 1, you would still be ratelimited even if you changed the ID to 2. Ratelimits are limited by Authorization header, and uses IP as a fallback if no authorization is provided. Attempting to bypass or circumvent ratelimits will result in a ban from the site and our APIs.

Good Practices

Some services may exceed these ratelimits from time to time, that is why you should cache when possible. For example, if you owned a command in a Discord bot that retrieved bot information upon request, you shouldn't perform a request each time, instead you should cache the result from /v1/bots and update the cache every minute or so. If your bot posts server count faster than the ratelimit, you should use a modulo operator to only post every 5 guilds, or post on an interval. Example:

bot.on('guildCreate', () => {
if (guildCount % 5 == 0) {
// post guilds
// OR
setInterval(() => {
if (!bot.ready) return; // Ignore if the bot isn't ready yet
// post guilds
}, 1000 * 5);

Large Scale Services

Some services may require extended ratelimits, or even ratelimit removal. If you believe that your service is too large, ratelimits may be removed upon request under certain circumstances with approval. If think that you need this, you may contact us on our Contact page. Make sure to provide proof of how large your service is.




GET /v1/statistics

5 / 1 second

GET /v1/bots

25 / 1 minute

GET /v1/bots/:id

2 / 1 second

POST /v1/bots/:id

15 / 15 seconds

GET /v1/bots/:id/upvotes

2 / 15 seconds

GET /v1/bots/:id/uptime

30 / 15 seconds

GET /v1/users/:id

2 / 1 second

GET /v1/users/:id/bots

10 / 15 seconds