Integrate Dlist.Space into your bot. Post stats, track votes, and read bot data. Only public data is returned from unauthenticated endpoints.
Base URL
https://api.dlist.space/apiAuthentication
Endpoints that require authentication use a per-bot token. Find your token in the Edit Bot → Token tab. Pass it as a Bearer token in the Authorization header.
Authorization: Bearer your_bot_token_herePrivate fields such as API tokens, webhook URLs, and webhook keys are never returned by any public endpoint. They are only accessible to authenticated bot owners via the edit page.
/bot/:idGet public information about a bot by its Discord bot ID. Private fields such as tokens and webhooks are never included.
Response
{
"status": 200,
"data": {
"bot_id": "123456789012345678",
"name": "MyBot",
"status": "approved",
"certified": false,
"info": {
"prefix": "!",
"tags": [
"Moderation",
"Utility"
]
},
"stats": {
"votes": 42,
"servers_count": 150,
"users_count": 5000
},
"descriptions": {
"short": "A helpful moderation bot.",
"detailed": "..."
},
"dates": {
"added_on": "2024-01-01T00:00:00.000Z",
"last_voted": "2024-06-01T00:00:00.000Z"
}
}
}/bot/:id/stats Auth requiredUpdate your bot's server, user, and shard counts. Requires your bot token as a Bearer token in the Authorization header.
Authorization Header
Bearer <your_bot_token>Request Body
{
"servers_count": 150,
"users_count": 5000,
"shards_count": 2
}Response
{
"status": 200,
"message": "Stats updated successfully"
}/user/:idGet public profile information for a user by their Discord user ID.
Response
{
"status": 200,
"data": {
"user_id": "123456789012345678",
"name": "username",
"description": "...",
"avatar": "..."
}
}Node.js Example
const axios = require("axios");
// Post bot stats every 30 minutes
setInterval(async () => {
await axios.post("https://api.dlist.space/api/bot/YOUR_BOT_ID/stats", {
servers_count: client.guilds.cache.size,
users_count: client.users.cache.size,
shards_count: client.shard?.count || 1,
}, {
headers: { Authorization: "Bearer YOUR_BOT_TOKEN" }
});
console.log("[DBL] Stats updated!");
}, 30 * 60 * 1000);