🧩 API pública de DisHub

Gratis y sin registro para leer datos públicos. Para enviar estadísticas o comprobar votos, usa el token de tu bot (lo generas en 📊 Estadísticas de tu ficha).

Endpoints

Base: https://dishublist.com · Respuestas en JSON · CORS abierto · Las listas se guardan en caché 60 s.

GET/api/v1/bots

Lista de bots. Parámetros: q, category, language, sort (votes · new · rating), limit (máx. 50), offset.

GET/api/v1/bots/:id

Un bot por su ID de DisHub o por su client_id de Discord.

POST/api/v1/bots/:id/stats🔑 token

Envía tu número de servidores. Cuerpo: { "server_count": 123 }. Necesita tu token.

GET/api/v1/bots/:id/votes/:discordUserId🔑 token

¿Ha votado ese usuario en las últimas 12 h? Necesita tu token.

GET/api/v1/servers

Lista de servidores. Parámetros: q, category, language, sort (votes · new · rating · members), limit, offset.

GET/api/v1/servers/:id

Un servidor por su ID de DisHub o por su ID de Discord.

📤 Enviar tu número de servidores

// discord.js · cada 30 minutos
setInterval(() => {
  fetch("https://dishublist.com/api/v1/bots/TU_CLIENT_ID/stats", {
    method: "POST",
    headers: {
      Authorization: process.env.DISHUB_TOKEN,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({ server_count: client.guilds.cache.size }),
  });
}, 30 * 60 * 1000);

🗳️ Webhook de votos

Cuando alguien vota, enviamos un POST a tu URL con la cabecera Authorization = tu token. Compruébala antes de dar recompensas.

{
  "type": "upvote",
  "bot": "123456789012345678",
  "listingId": "clx…",
  "user": "987654321098765432",
  "username": "Pepe",
  "url": "https://dishublist.com/bots/clx…",
  "votedAt": "2026-11-11T18:00:00.000Z"
}

Usa la API con cabeza: nada de peticiones masivas. Si necesitas algo más, abre un ticket.