Resumen
TikTool ofrece dos categorías de datos de rankings a través de la API de su sitio web en tik.tools. Ambos endpoints devuelven datos de clasificación competitiva en tiempo real de creadores de TikTok LIVE, ordenados por diamantes ganados.
Rankings regionales
Rankings diarios de los 100 mejores creadores por total de diamantes ganados, divididos por región geográfica. Se actualizan continuamente durante el día. Disponibles para suscriptores de Basic, Pro y Ultra.
- Top 100 creadores por región
- Posición, puntuación (diamantes), estado en vivo, room ID
- 44 regiones en todo el mundo
- Los datos se actualizan continuamente
Clasificaciones de liga
Datos de clasificación competitiva por clases (A1-D5) de los creadores que compiten en las ligas de TikTok LIVE. Muestra quién está en cada nivel competitivo en cualquier región. Requiere el plan Ultra para desarrolladores. Agency PASS (tik.tools/vip) es una suscripción del sitio web: da acceso a los datos de ligas en la web, no acceso programático por API.
- 18 divisiones de liga: A1, A2, A3, B1, B2, B3, B4, B5, C1, C2, C3, C4, C5, D1, D2, D3, D4, D5
- Entradas clasificadas por clase con estado en vivo
- Vista previa limitada para planes inferiores (5 entradas)
- Los datos se actualizan con frecuencia
tik.tools (no en api.tik.tools) y usan autenticación por sesión. Llámalos desde tu servidor con una cookie de sesión válida, obtenida al iniciar sesión en tik.tools con una cuenta de desarrollador de pago. Todos los planes de desarrollador de pago (Basic, Pro, Ultra) tienen acceso a los endpoints de rankings regionales. Los endpoints de ligas requieren el plan Ultra para desarrolladores. La suscripción Agency PASS (en tik.tools/vip) es un producto aparte, solo para el sitio web: da acceso a los datos de ligas desde la interfaz web de tik.tools, no a través de esta API para desarrolladores.Referencia de regiones
Hay 44 rankings regionales disponibles. Usa el Slug en la URL del endpoint de ranking por país y el Código de región en los endpoints de ligas.
north-americaUS+North AmericacanadaCACanadabrazil-regionBRBrazilmexicoMXMexicolatin-americaLATAMLatin Americacolombia-peru-dominican-republicCO+Colombia, Peru & Dominican RepublicjamaicaJMJamaicaaustralia-pacificAU+Australia & Pacificjapan-regionJPJapansouth-korea-regionKRSouth Koreataiwan-regionTWTaiwanindonesia-regionIDIndonesiamalaysia-regionMYMalaysiasingaporeSGSingaporephilippines-regionPHPhilippinesthailand-regionTHThailandvietnam-regionVNVietnamnepalNPNepalbangladesh-bhutan-maldivesBD+Bangladesh, Bhutan & MaldivesazerbaijanAZAzerbaijankazakhstanKZKazakhstankyrgyzstanKGKyrgyzstanbelarusBYBelarusukraineUAUkrainecentral-asiaCCACentral AsiadachDE+Germany & DACHswitzerlandCHSwitzerlandiberiaES+Iberiacentral-europeHU+Central EuropelusophonePT+Lusophonefrance-regionFR+FrancebelgiumBEBelgiumnetherlands-regionNLNetherlandsunited-kingdom-regionUK+United Kingdomireland-baltics-maltaIE+Ireland, Baltics & Maltaitaly-regionIT+ItalyswedenSESwedenscandinaviaSE+Nordicspoland-regionPLPolandromania-regionRORomaniabalkansBKBalkansturkey-regionTRTurkeymiddle-east-africaMENAMiddle East & Africanigeria-ghana-kenya-south-africaNG+Nigeria, Ghana, Kenya & South AfricaEndpoint: Ranking regional
https://tik.tools/api/leaderboards/country/:slugTodos los planes de pagoDevuelve el top 100 del día actual de una región. Las entradas se ordenan de mayor a menor por score (total de diamantes ganados hoy).
Parámetros de ruta
slugstringSlug de región de la tabla de referencia de regiones de arriba (p. ej., balkans, north-america)Esquema de respuesta
[].ranknumberPosición en el ranking (1 = el que más gana)[].uniqueIdstringUsuario de TikTok (sin @)[].nicknamestringNombre visible en TikTok[].scorenumberTotal de diamantes ganados hoy en esta región[].isLivebooleanSi el creador está transmitiendo en vivo ahora[].roomIdstring | nullRoom ID del LIVE si está transmitiendo; si no, nullRespuesta de ejemplo
[
{
"rank": 1,
"uniqueId": "top_creator",
"nickname": "Top Creator",
"score": 284500,
"isLive": true,
"roomId": "7384920175638291456"
},
{
"rank": 2,
"uniqueId": "second_place",
"nickname": "Second Place",
"score": 198200,
"isLive": false,
"roomId": null
}
]Ejemplos de código
// Node.js - fetch Balkans leaderboard
const response = await fetch('https://tik.tools/api/leaderboards/country/balkans', {
headers: {
'x-api-key': 'YOUR_ULTRA_API_KEY',
}
})
const entries = await response.json()
for (const entry of entries) {
console.log(`#${entry.rank} @${entry.uniqueId} - ${entry.score} diamonds${entry.isLive ? ' [LIVE]' : ''}`)
}Endpoints de ligas
hasFullAccess de la respuesta será false y maskedCount indicará cuántas entradas están ocultas. Nota: la suscripción Agency PASS (tik.tools/vip) da acceso a los datos de ligas en el sitio web, pero no es una suscripción a la API para desarrolladores.4a. Listar las ligas de una región
https://tik.tools/api/leaderboards/leagues/:regionSolo UltraLista las clases de liga disponibles en una región, incluido cuántos creadores hay en cada clase y cuándo se actualizaron los datos por última vez.
Parámetros de ruta
regionstringCódigo de región (p. ej., BK, BC, US+) de la tabla de referencia de regionesEsquema de respuesta
[].classTypenumberIdentificador numérico de la clase (consulta la referencia de classType más abajo)[].classLabelstringNombre legible de la clase (p. ej., "A1", "B5")[].countnumberNúmero de creadores que hay ahora en esta clase[].updatedAtstringMarca de tiempo ISO 8601 de la última actualización de datosRespuesta de ejemplo
[
{ "classType": 2000, "classLabel": "A1", "count": 12, "updatedAt": "2026-05-11T14:30:00.000Z" },
{ "classType": 1900, "classLabel": "A2", "count": 28, "updatedAt": "2026-05-11T14:30:00.000Z" },
{ "classType": 1100, "classLabel": "B5", "count": 55, "updatedAt": "2026-05-11T14:30:00.000Z" },
{ "classType": 1000, "classLabel": "C1", "count": 83, "updatedAt": "2026-05-11T14:30:00.000Z" }
]// Node.js - list leagues for Balkans (BK)
const response = await fetch('https://tik.tools/api/leaderboards/leagues/BK', {
headers: { 'x-api-key': 'YOUR_ULTRA_API_KEY' }
})
const leagues = await response.json()
for (const league of leagues) {
console.log(`${league.classLabel} (type ${league.classType}): ${league.count} creators`)
}4b. Obtener las entradas de una liga
https://tik.tools/api/leaderboards/league/:region/:classTypeSolo UltraDevuelve la lista clasificada de creadores de una clase de liga concreta en una región. Es el endpoint principal para crear herramientas que trabajen con ligas y dashboards de monitoreo de creadores.
Parámetros de ruta
regionstringCódigo de región (p. ej., BK, US+)classTypenumberIdentificador numérico de la clase (2000=A1, 1900=A2, 1100=B5, etc.)Esquema de respuesta
hasFullAccessbooleanTrue si tu plan tiene acceso completo; false = modo vista previa (5 entradas)maskedCountnumberNúmero de entradas ocultas por las restricciones del plan (0 si hasFullAccess)totalCountnumberNúmero total de creadores en esta claseentries[].ranknumberPosición dentro de esta claseentries[].userIdstringID numérico de usuario de TikTok (ID interno estable, nunca cambia)entries[].uniqueIdstringUsuario/handle de TikTok sin @ (el usuario puede cambiarlo)entries[].nicknamestringNombre visible (el usuario puede cambiarlo)entries[].scorenumberDiamantes ganados en el periodo de liga actualentries[].isLivebooleanSi el creador está transmitiendo en vivo ahoraRespuesta de ejemplo
{
"hasFullAccess": true,
"maskedCount": 0,
"totalCount": 12,
"entries": [
{
"rank": 1,
"userId": "6841523190294479361",
"uniqueId": "league_leader",
"nickname": "League Leader",
"score": 1840000,
"isLive": true
},
{
"rank": 2,
"userId": "6712309845712006148",
"uniqueId": "second_in_a1",
"nickname": "Second In A1",
"score": 1620000,
"isLive": false
}
]
}// Node.js - fetch A1 league entries for Balkans
const response = await fetch('https://tik.tools/api/leaderboards/league/BK/2000', {
headers: { 'x-api-key': 'YOUR_ULTRA_API_KEY' }
})
const data = await response.json()
if (!data.hasFullAccess) {
console.warn(`Teaser mode: ${data.maskedCount} entries hidden. Upgrade to Ultra for full access.`)
}
console.log(`A1 Balkans - ${data.totalCount} creators total`)
for (const entry of data.entries) {
const liveTag = entry.isLive ? ' [LIVE]' : ''
console.log(`#${entry.rank} @${entry.uniqueId} - ${entry.score.toLocaleString()} diamonds${liveTag}`)
}Referencia de classType
Las clases de liga asocian los valores numéricos de classType con niveles competitivos. A1 es el nivel más alto: los creadores de élite que más diamantes ganan. D5 es la puerta de entrada a la competencia de ligas.
2000A1Nivel élite. Los que más ganan en la región. La competencia más alta y los requisitos de diamantes más altos para entrar.1900A2Nivel sénior. Creadores consolidados con altos ingresos que buscan el ascenso a A1.1800A3Clase A consolidada. Creadores con ingresos altos y constantes que mantienen su lugar en la élite.1500B1Lo más alto del rango B. Creadores a un ascenso de las divisiones A.1400B2Clase B alta. Creadores con buenos ingresos que compiten por B1.1300B3Clase B media. Creadores con ingresos estables en la mitad del rango B.1200B4Clase B baja. Creadores que avanzan hacia las divisiones B altas.1100B5Entrada a la clase B. Creadores con ingresos fuertes y constantes durante el periodo de liga.1000C1Lo más alto del rango C. Creadores activos que avanzan hacia el rango B.900C2Clase C alta. Creadores con ingresos moderados que compiten por el ascenso a C1.800C3Clase C media. Creadores con ingresos regulares en la mitad del rango C.700C4Clase C baja. Creadores que suben hacia las divisiones C altas.600C5Entrada a la clase C. Recién ascendidos desde el rango D.500D1Lo más alto del rango D. Creadores que empiezan a ganar de forma significativa en la región.400D2Clase D alta. Creadores más nuevos o con menos volumen.300D3Clase D media. Creadores que se están asentando en la competencia de ligas.200D4Clase D baja. Creadores en sus primeros pasos en la liga.100D5Liga de entrada. El punto de partida para los creadores que pueden entrar a la liga.Ejemplo práctico: encuentra a todos los creadores A1 que transmiten ahora en los Balcanes
Este ejemplo completo de varios pasos muestra el patrón recomendado: descubre las clases disponibles, busca la que necesitas, obtén sus entradas y luego filtra los creadores en vivo. Funciona con cualquier combinación de región y clase.
isLive === true// Complete example: Find all A1 creators live in Balkans right now
const BASE = 'https://tik.tools'
const REGION = 'BK'
const HEADERS = { 'x-api-key': 'YOUR_ULTRA_API_KEY' }
async function getA1LiveCreators() {
// Step 1: Fetch available leagues for Balkans
const leaguesRes = await fetch(`${BASE}/api/leaderboards/leagues/${REGION}`, {
headers: HEADERS
})
const leagues = await leaguesRes.json()
// Step 2: Find the A1 class (classType 2000)
const a1 = leagues.find(l => l.classLabel === 'A1')
if (!a1) {
console.log('A1 class not found in Balkans')
return []
}
console.log(`Found A1 class: ${a1.count} creators, last updated ${a1.updatedAt}`)
// Step 3: Fetch A1 entries
const entriesRes = await fetch(
`${BASE}/api/leaderboards/league/${REGION}/${a1.classType}`,
{ headers: HEADERS }
)
const data = await entriesRes.json()
if (!data.hasFullAccess) {
console.warn(`Only showing ${data.entries.length} of ${data.totalCount} entries (teaser mode)`)
}
// Step 4: Filter for creators currently live
const liveCreators = data.entries.filter(e => e.isLive)
return liveCreators
}
const live = await getA1LiveCreators()
console.log(`\n${live.length} A1 creator(s) live in Balkans right now:\n`)
for (const creator of live) {
console.log(` #${creator.rank} @${creator.uniqueId} - ${creator.score.toLocaleString()} diamonds`)
}
// Connect to their streams via TikTool WebSocket
for (const creator of live) {
console.log(` wss://api.tik.tools?uniqueId=${creator.uniqueId}&apiKey=YOUR_API_KEY`)
}Límites de uso y buenas prácticas
Las posiciones del ranking cambian poco a poco. Guarda en caché entre 10-30 segundos antes de volver a consultar para no saturar la API sin necesidad.
Las tablas de ligas cambian despacio, así que no sirve de nada consultar los endpoints de ligas más de una vez cada pocos minutos.
Puedes consultar las 44 regiones en paralelo. Si necesitas datos de varias regiones, lanza las solicitudes de forma simultánea en lugar de una tras otra.
Cuando isLive es true en una entrada del ranking, puedes abrir un WebSocket a ese creador al instante con su uniqueId y tu API key.
Las cookies de sesión dan acceso a tu cuenta. Guárdalas en variables de entorno, nunca en el código fuente ni en repositorios públicos.
No todas las clases existen en todas las regiones. Llama siempre primero al endpoint de listado para confirmar qué valores de classType están disponibles en tu región objetivo.