GET /api/v2/bot/:id/
Returns all information on a bot.
Response Body
JSON Property | Type | Description |
---|---|---|
name | String | The name of the target bot. |
id | String | The ID of the target bot. |
discriminator | String | The discriminator of the target bot. |
main_owner | String | The ID of the target bots owner. |
owners | String | The list of ID's of the target bots secondary owners. |
library | String | The development library of the target bot. |
website | String | The website link of the target bot. |
github | String | The GitHub link of the target bot. |
short_description | String | The short description of the target bot. |
long_description | String | The long description of the target bot. |
prefix | String | The command prefix of the target bot. |
invite_url | String | The invite link of the target bot which may be a discord link or custom link. |
support_server | String | The Discord support invite code of the target bot. |
tags | Array<String> | The categories of the bot. |
monthly_votes | Integer | The amount of votes the target bot has received in the current month. |
total_votes | Integer | The amount of votes the target bot has received while on the list. |
certified | Boolean | Whether the target bot is certified. |
vanity_url | String | The target bots vanity url. This replaces the id in the url of a bots page. |
server_count | Integer | The amount of servers the target bot is in. |
shard_count | Integer | The amount of shard processes the target bot has. |
added | Datetime | The time and date the target bot was listed. |
invites | Integer | The amount of times the target bot has been invited through our list. |
page_views | Integer | The amount of times the target bots page has been seen. |
donate_url | String | The link to donate to the target bot. |
avatar_url | String | The target bots avatar url on discord. |
privacy_policy_url | String | The target bots privacy policy url. |
status | String | The status of the target bot on discord (Updated every 30 minutes). |
staff | Boolean | Whether the target bot is owned by a list staff member. |
premium | Boolean | Whether the target bots owner paid for Blist premium. |
{
"name":"GiveawayBot",
"id":"570338970261782559",
"discriminator":"8109",
"main_owner":"414713250832449536",
"owners":"",
"library":"discord.js",
"website":"https://www.thegiveawaybot.com",
"github":"",
"short_description":"Manage your server's giveaways easily with GiveawayBot.",
"long_description":"...",
"prefix":"gb!",
"invite_url":"https://discordapp.com/oauth2/authorize?client_id=570338970261782559&permissions=0&scope=bot",
"support_server":"DGVVqR7",
"tags":[
"Utility"
],
"monthly_votes":1,
"total_votes":4,
"certified":false,
"vanity_url":"",
"server_count":17921,
"shard_count":20,
"added":"2020-06-26T00:00:00Z",
"invites":0,
"page_views":13,
"donate_url":"https://patreon.com/dieseljs",
"avatar_url":"https://cdn.discordapp.com/avatars/570338970261782559/4466359a0c746451e655b439ad209c95",
"privacy_policy_url":"",
"status":"online",
"staff":false,
"premium":false
}
GET /api/v2/server/:id/
Returns all information on a server.
Response Body
JSON Property | Type | Description |
---|---|---|
id | String | The ID of the target server. |
main_owner | String | The ID of the target servers owner. |
name | String | The name of the target server. |
website | String | The website link of the target server. |
short_description | String | The short description of the target server. |
invite_url | String | The Discord invite code of the target server. |
tags | Array<String> | The categories of the server. |
monthly_votes | Integer | The amount of votes the target server has received in the current month. |
total_votes | Integer | The amount of votes the target server has received while on the list. |
vanity_url | String | The target servers vanity url. This replaces the id in the url of a servers page. |
member_count | Integer | The amount of members the target server has. |
added | Datetime | The time and date the target server was added. |
joins | Integer | The amount of times the target server has been joined through our list. |
page_views | Integer | The amount of times the target servers page has been seen. |
donate_url | String | The link to donate to the target server. |
card_background | String | The link to background of the servers card. |
premium | Boolean | Whether the target servers owner paid for Blist premium. |
icon_hash | Hash | The target servers icon on discord. |
published | Boolean | Whether the target server is published. |
archived | Boolean | Whether the target server has been archived by itself or its owner. |
{
"id":"423828791098605578",
"main_owner":"150665783268212746",
"name":"Sparklybot ✨",
"website":"https://soheab.github.io/",
"short_description":"This is the Official Support Server for Sparklybot ✨. But it isn't really focused on being that, instead there are allot of things to do!",
"invite_url":"yCzcfju",
"tags":
[
"Fun",
"Meme",
"Developer",
"Emotes",
"Support Server"
],
"monthly_votes":1,
"total_votes":1,
"vanity_url":"",
"member_count":87,
"added":"2021-01-22T02:02:20.410354Z",
"joins":0,
"page_views":0,
"donate_url":"",
"card_background":"",
"premium":false,
"icon_hash":"3e5e0b66b600c00f17118238d351453b",
"published":true,
"archived":false
}
GET /api/v2/user/:id/
Returns all information on a user.
Response Body
JSON Property | Type | Description |
---|---|---|
id | String | The ID of the target user. |
name | String | The name of the target user. |
discriminator | String | The discriminator of the target user. |
bio | String | The bio of the target user. |
staff | Boolean | Whether the target user is a staff member. |
administrator | Boolean | Whether the target user is an administrator. |
developer | Boolean | Whether the target user is a bot developer. |
certified_developer | Boolean | Whether the target user is a developer of a certified bot. |
joined | Datetime | The time and date the target user first joined. |
String | The Reddit link of the target user. | |
snapchat | String | The Snapchat link of the target user. |
String | The Instagram link of the target user. | |
String | The Twitter link of the target user. | |
github | String | The GitHub link of the target user. |
website | String | The website link of the target user. |
avatar_url | String | The target users avatar url on discord. |
bug_hunter | Boolean | Whether the target user is a Bug Hunter. |
blacklisted | Boolean | Whether the target user has been blacklisted. |
premium | Boolean | Whether the target user paid for Blist premium. |
vanity_url | String | The target users vanity url. This replaces the id in the url of a users page. |
last_login | Datetime | The last time the user had to use Discord OAuth to login. |
{
"id": "272442568275525634",
"discriminator": "0001",
"name": "markawes",
"bio": "Father of 3, and a cat",
"staff": true,
"administrator": true,
"developer": true,
"certified_developer": true,
"joined": "2020-11-08T23:58:20.444722Z",
"reddit": "",
"snapchat": "markawes",
"instagram": "markawes",
"twitter": "markawes",
"github": "markawes",
"website": "https://marksbot.mwserver.site",
"avatar_url": "https://cdn.discordapp.com/avatars/272442568275525634/79d8cb0517126a18562b4b4d04275c01",
"bug_hunter": true,
"blacklisted": false,
"premium": true,
"vanity_url": "markawes",
"last_login": "2021-01-08T22:39:46.213979Z"
}
GET /api/v2/user/:id/bots/
Returns all information on a users bots.
Response Body
JSON Property | Type | Description |
---|---|---|
bots | Array | The list of bots the user has. |
{
"bots":
[
{
"id": "440176226338865167",
"main_owner": "150665783268212746",
"discriminator": "2325",
"name": "Sparklybot \u2728",
"owners": "679118121943957504 712737377524777001",
"library": "discord.py",
"website": "https://soheab.github.io/",
"github": "",
"short_description": "A bot completely made for fun! With Fun, Moderation and Memes + Extras!", "long_description":
"<style>\r\n\r\n.text-muted {\r\n color: #495057;\r\n}\r\n\r\n.badge {\r\n background-color: #495057;\r\n color: white;\r\n border-radius: 12px;\r\n}\r\n\r\nspan.badge.badge-pill.badge-secondary {\r\n color: black;\r\n background-color: white;\r\n}\r\n\r\na.badge.badge-black {\r\n color: white;\r\n background: black;\r\n}\r\n\r\na.btn.btn-secondary.btn-sm {\r\n background-color: #ffd700;\r\n color: black;\r\n}\r\na.btn.btn-info.btn-sm {\r\n background-color: #7289da;\r\n}\r\n\r\na.btn.btn-warning.btn-sm {\r\n background-color: #ef0c0c;\r\n}\r\n\r\n.pb-5, .py-5 {\r\n padding-bottom: 2rem!important;\r\n}\r\n\r\n.mb-5, .my-5 {\r\n margin-bottom: -3rem!important;\r\n}\r\n\r\nh6.text-muted.pl-5 {\r\n color: darkorange;\r\n}\r\n\r\n.container.pt-5 h1 {\r\n border-style: solid;\r\n text-align: center;\r\n line-height: 1;\r\n padding: 1rem 0rem;\r\n color: darkorange;\r\n margin-bottom: revert;\r\n margin-top: -40px;\r\n}\r\n\r\nh6.text-muted.pt-5 {\r\n color: darkorange!important;\r\n font-weight: 700;\r\n border-style: solid;\r\n margin-top: revert;\r\n line-height: 1;\r\n padding: 1rem 1rem 3rem;\r\n text-align: center;\r\n}\r\n\r\n</style>\r\n\r\n<h3>Commands</h3>\r\n<p>There are <b>190+</b> commands. Showing them all here would too much. So... They can all be <a href=\"https://soheab.github.io/commands\">viewed here</a> in a very clean view! or a easy way is doing <b>s!help</b> in your server. Also all the commands are case insensitive.</p>\r\n<br>\r\n<h3>Key features</h3>\r\n<p>\r\n1. My invite only includes the permissions the bot <b>really</b> needs, please don't give it any extra perms! \r\nand especially not admin.\r\n<br><br>\r\n► Case insensitive everything, commands and prefix so 100% mobile friendly.<br>\r\n► Every command is tested and selfmade so that it works is guaranteed. If a command doesn't, please report it and you can slap me.<br>\r\n► Abuse resistant, every command has the name of the author in it. And all commands have a cooldown of 5+ secs.<br>\r\n► Improves everyday! just see s!changelog.<br>\r\n► Many useless things but also things you do not often see in a bot.<br>\r\n► Friendly embeds, i love to put more info in less space but still let it look good. So you won't expect big spammy embed from this bot.<br>\r\n</p>\r\n<br>\r\n<h3>Updates</h3>\r\n<p>This bot gets better every day! Just check the <b>s!changelog</b> in there should be all the changes that happen to the bot. You can also suggest anything with: <b>s!suggest</b>! Anything that gets suggested has a very high chance to be added.</p>\r\n<br>\r\n<h3>Bugs</h3>\r\n<p>Please report any bug or mistake in grammar with the command: <b>s!report</b>! and it will be <b>100%</b> fixed in max a day!</p>\r\n<br>\r\n<h3>Support</h3>\r\n<p>If you need any help with anything such as inviting, giving perms, join my support server via the button above or via the **s!support** command.</p>",
"prefix": "s!, S!",
"invite_url": "https://discordapp.com/oauth2/authorize?client_id=440176226338865167&permissions=1543892055&scope=bot",
"support_server": "yCzcfju",
"tags": [
"Moderation",
"Music",
"Meme",
"Utility"
],
"monthly_votes": 74,
"total_votes": 182,
"certified": true,
"vanity_url": "sparklybot",
"server_count": 366,
"shard_count": 0,
"added": "2020-06-23T00:00:00Z",
"invites": 0,
"page_views": 1179,
"donate_url": "",
"avatar_url": "https://cdn.discordapp.com/avatars/440176226338865167/3e5e0b66b600c00f17118238d351453b",
"privacy_policy_url": "https://soheab.github.io/privacy-policy",
"status": "online",
"staff": true,
"premium": true,
"archived": false
}
]
}
GET /api/v2/user/:id/servers/
Returns all information on a users servers.
Response Body
JSON Property | Type | Description |
---|---|---|
servers | Array | The list of servers the user has. |
{
"servers":
[
{
"id":"423828791098605578",
"main_owner":"150665783268212746",
"name":"Sparklybot ✨",
"website":"https://soheab.github.io/",
"short_description":"This is the Official Support Server for Sparklybot ✨. But it isn't really focused on being that, instead there are allot of things to do!",
"invite_url":"yCzcfju",
"tags":
[
"Fun",
"Meme",
"Developer",
"Emotes",
"Support Server"
],
"monthly_votes":1,
"total_votes":1,
"vanity_url":"",
"member_count":87,
"added":"2021-01-22T02:02:20.410354Z",
"joins":0,
"page_views":0,
"donate_url":"",
"card_background":"",
"premium":false,
"icon_hash":"3e5e0b66b600c00f17118238d351453b",
"published":true,
"archived":false
}
]
}
GET /api/v2/bot/:id/votes/
Returns all votes on a bot in the last 12 hours. Requires Authorization.
Response Body
JSON Property | Type | Description |
---|---|---|
votes | Object<Array<Snowflake, Datetime>> | A vote for the target bot. |
{
"votes":
[
{
"user":"679118121943957504",
"time":"2020-11-30T02:21:20.519Z"
}
]
GET /api/v2/bot/:id/announcements/
Returns all announcements on a bot.
Response Body
JSON Property | Type | Description |
---|---|---|
announcements | Object<Array<String, String, Boolean, DateTime>> | An announcement for the target bot. |
{
"announcements": [
{
"announcement": "<p><center><p><strong>SCHEDULED MAINTENANCE</strong></p>\n<p>There will be some hardware upgrades to the VPS that hosts the bot at <strong><font color=\"red\">15:00 on Friday, 15th January 2021 (UTC+0)</strong></font> this maintenance is expected to last 2 hours, there should be no downtime but it's always possible.</p></center></p>",
"author": "272442568275525634",
"pinned": true,
"time": "2021-01-09T21:09:26.207Z"
}
]
}
POST /api/v2/bot/:id/announcements/
Creates an announcement about your bot. Requires Authorization.
Request Body
JSON Property | Type | Required | Description |
---|---|---|---|
announcements | String | Yes | The important announcement about your bot. |
pinned | String | No | Whether the announcement should be pinned to the top of the bot page. |
DELETE /api/v2/bot/:id/announcements/
Deletes an announcement about your bot. Requires Authorization.
Request Body
JSON Property | Type | Required | Description |
---|---|---|---|
announcement_id | Integer | Yes | The announcement unique id. This can be found on the bottom of the announcement card. |
GET /api/v2/bot/:id/reviews/
Returns all reviews on a bot.
Response Body
JSON Property | Type | Description |
---|---|---|
reviews | Object<Array<String, Boolean, Datetime>> | A review for the target bot. |
"reviews":
[
{
"feedback":"The bot is good, nice support staff and pretty simple to use bot. ",
"recommended":true,
"time":"2020-11-15T13:35:56.192Z"
},
{
"feedback":"Good bot with a very nice and friendly owner!",
"recommended":true,
"time":"2020-11-25T01:02:13.617Z"
}
]
PATCH /api/v2/bot/:id/stats/
Provides Blist with statistics on your bot (Server count and Shard Count).
Request Body
Path Parameters | Parameter Type | Required | Parameter Description |
---|---|---|---|
server_count | Integer | Yes * | The amount of servers the target bot is in. |
shard_count | Integer | No | The amount of shard processes the target bot has. |
All errors within the API will be returned as a JSON response (excluding 500's & 404's).
Response Body
JSON Property | Type | Description |
---|---|---|
detail | String | A short description of the error. |
{
"detail": "Not found."
}
All errors within the API will be returned as a JSON response (excluding 500's & 404's).
Ratelimits
Route | Limit |
---|---|
/api/v2/ | 1 / 5s |
/api/v2/bots/ | 1 / 1m |
/api/v2/server/:id/ | 1 / 3s |
/api/v2/bot/:id/ | 1 / 3s |
/api/v2/bot/:id/announcements/ | 1 / 120s |
/api/v2/bot/:id/stats/ | 1 / 120s |
/api/v2/bot/:id/votes/ | 1 / 5s |
/api/v2/bot/:id/reviews/ | 1 / 5s |
/api/v2/user/:id/ | 1 / 3s |
/api/v2/user/:id/bots/ | 1 / 10s |
/api/v2/user/:id/servers/ | 1 / 10s |
Webhooks are a good way to publicize votes for your bot. They can also help in the use of vote-locking commands.
When a user votes for your bot, you will receive a POST request to the url specified in the bot settings. A sample
response body is below. Request headers are sent with your bots API key in an Authorization
header.
Response Body
JSON Property | Type | Description |
---|---|---|
user | String | The id of the user who voted. |
time | Datetime | The time which the user voted. |
{
"user": "679118121943957504",
"time": "2021-01-14 14:37:22.903849"
}
import blist
from discord.ext import commands
class BlistBotList(commands.Cog):
def __init__(self, bot):
self.bot = bot
blist_api = blist.Blist(bot, token="your blist token") # Initialize a Blist instance
@commands.command()
async def post_server_count(self, ctx):
await self.blist_api.post_bot_stats() # Posts your bots stats
await ctx.send("Done!")
@commands.command()
async def botinfo(self, ctx, bot: discord.Member):
if not bot.bot:
return await ctx.send("This user is not a bot!")
bot = await self.blist_api.fetch_bot(bot_id=bot.id) # Gets information on a bot user
await ctx.send(bot)
def setup(bot):
bot.add_cog(BlistBotList(bot))
// Import the blist.javascript package
const blist = require("blist.javascript");
const discordjs = require('discord.js');
const bot = new discordjs.Client();
// Create a new blist instance
const client = new blist(bot, apiKey);
// Fetch bot stats
client.fetchBot(id).then((bot) => console.log(bot));
// Fetch user stats
client.fetchUser(id).then((user) => console.log(user));