Panoramica
TikTool espone due categorie di dati di classifica tramite l'API del sito su tik.tools. Entrambi gli endpoint restituiscono in tempo reale le classifiche competitive dei creator TikTok LIVE, ordinate per diamanti guadagnati.
Classifiche regionali
Classifiche giornaliere dei top 100 creator per diamanti totali guadagnati, suddivise per regione geografica. Aggiornate di continuo durante la giornata. Disponibili per gli abbonati Basic, Pro e Ultra.
- Top 100 creator per regione
- Posizione, punteggio (diamanti), stato live, ID stanza
- 44 regioni nel mondo
- I dati si aggiornano di continuo
Classifiche di lega
Classifiche competitive per classe (A1-D5) dei creator che gareggiano nelle leghe di TikTok LIVE. Mostra chi si trova in ogni fascia competitiva in qualsiasi regione. Richiede il piano sviluppatori Ultra. Agency PASS (tik.tools/vip) è un abbonamento al sito: dà accesso ai dati delle leghe sul sito, non accesso programmatico via API.
- 18 divisioni di lega: A1, A2, A3, B1, B2, B3, B4, B5, C1, C2, C3, C4, C5, D1, D2, D3, D4, D5
- Voci in classifica per classe con stato live
- Anteprima limitata per i piani inferiori (5 voci)
- I dati si aggiornano di frequente
tik.tools (non su api.tik.tools) e usano l'autenticazione basata su sessione. Chiamali dal tuo server con un cookie di sessione valido, ottenuto accedendo a tik.tools con un account sviluppatore a pagamento. Tutti i piani sviluppatori a pagamento (Basic, Pro, Ultra) hanno accesso agli endpoint delle classifiche regionali. Gli endpoint delle leghe richiedono il piano sviluppatori Ultra. L'abbonamento Agency PASS (su tik.tools/vip) è un prodotto separato, solo per il sito: dà accesso ai dati delle leghe tramite l'interfaccia del sito tik.tools, non tramite questa API per sviluppatori.Riferimento regioni
Sono disponibili 44 classifiche regionali. Usa lo Slug nell'URL dell'endpoint della classifica per paese e il Codice regione negli endpoint delle leghe.
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: classifica regionale
https://tik.tools/api/leaderboards/country/:slugTutti i piani pagatiRestituisce la classifica top-100 del giorno per una regione. Le voci sono ordinate per score (diamanti totali guadagnati oggi) in ordine decrescente.
Parametri del percorso
slugstringSlug della regione dalla tabella Riferimento regioni qui sopra (es. balkans, north-america)Schema della risposta
[].ranknumberPosizione in classifica (1 = chi ha guadagnato di più)[].uniqueIdstringUsername TikTok (senza @)[].nicknamestringNome visualizzato su TikTok[].scorenumberDiamanti totali guadagnati oggi in questa regione[].isLivebooleanSe il creator è in diretta in questo momento[].roomIdstring | nullID della stanza LIVE se è in diretta, altrimenti nullEsempio di risposta
[
{
"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
}
]Esempi di codice
// 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]' : ''}`)
}Endpoint delle leghe
hasFullAccess nella risposta sarà false e maskedCount indicherà quante voci sono nascoste. Nota: l'abbonamento Agency PASS (tik.tools/vip) dà accesso ai dati delle leghe sul sito, ma non è un abbonamento API per sviluppatori.4a. Elenca le leghe di una regione
https://tik.tools/api/leaderboards/leagues/:regionSolo UltraElenca le classi di lega disponibili per una regione, con il numero di creator in ogni classe e l'ultimo aggiornamento dei dati.
Parametri del percorso
regionstringCodice regione (es. BK, BC, US+) dalla tabella Riferimento regioniSchema della risposta
[].classTypenumberIdentificativo numerico della classe (vedi Riferimento classType più sotto)[].classLabelstringNome leggibile della classe (es. "A1", "B5")[].countnumberNumero di creator attualmente in questa classe[].updatedAtstringTimestamp ISO 8601 dell'ultimo aggiornamento dei datiEsempio di risposta
[
{ "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. Ottieni le voci di una lega
https://tik.tools/api/leaderboards/league/:region/:classTypeSolo UltraRestituisce la classifica dei creator in una specifica classe di lega per una regione. È l'endpoint principale per creare strumenti basati sulle leghe e dashboard di monitoraggio dei creator.
Parametri del percorso
regionstringCodice regione (es. BK, US+)classTypenumberIdentificativo numerico della classe (2000=A1, 1900=A2, 1100=B5, ecc.)Schema della risposta
hasFullAccessbooleanTrue se il tuo piano ha accesso completo; false = modalità anteprima (5 voci)maskedCountnumberNumero di voci nascoste per limiti del piano (0 se hasFullAccess)totalCountnumberNumero totale di creator in questa classeentries[].ranknumberPosizione all'interno di questa classeentries[].userIdstringID utente numerico TikTok (ID di backend stabile, non cambia mai)entries[].uniqueIdstringUsername/handle TikTok senza @ (modificabile dall'utente)entries[].nicknamestringNome visualizzato (modificabile dall'utente)entries[].scorenumberDiamanti guadagnati nel periodo di lega in corsoentries[].isLivebooleanSe il creator è in diretta in questo momentoEsempio di risposta
{
"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}`)
}Riferimento classType
Le classi di lega associano i valori numerici di classType alle fasce competitive. A1 è la fascia più alta: i creator d'élite che guadagnano più diamanti. D5 è il punto di ingresso nella competizione delle leghe.
2000A1Fascia d'élite. Chi guadagna di più nella regione. Massima competizione e requisiti di diamanti più alti per entrare.1900A2Fascia senior. Creator affermati con guadagni alti che puntano alla promozione in A1.1800A3Classe A consolidata. Creator con guadagni alti e costanti che mantengono il posto nella fascia d'élite.1500B1Vertice della fascia B. Creator a una promozione dalle divisioni A.1400B2Classe B alta. Creator con guadagni forti che competono per la B1.1300B3Classe B media. Creator con guadagni stabili a metà della fascia B.1200B4Classe B bassa. Creator che stanno salendo verso le divisioni B più alte.1100B5Ingresso nella classe B. Creator con guadagni forti e costanti durante il periodo di lega.1000C1Vertice della fascia C. Creator attivi che stanno salendo verso la fascia B.900C2Classe C alta. Creator con guadagni moderati che competono per la promozione in C1.800C3Classe C media. Creator con guadagni regolari a metà della fascia C.700C4Classe C bassa. Creator in salita verso le divisioni C più alte.600C5Ingresso nella classe C. Appena promossi dalla fascia D.500D1Vertice della fascia D. Creator che iniziano a guadagnare in modo significativo nella regione.400D2Classe D alta. Creator nuovi o con volumi più bassi.300D3Classe D media. Creator che si stanno ambientando nella competizione delle leghe.200D4Classe D bassa. Primi guadagni in lega.100D5Lega d'ingresso. Il punto di partenza per i creator idonei alle leghe.Esempio pratico: trova tutti i creator A1 in diretta ora nei Balcani
Questo esempio completo in più passi mostra lo schema consigliato: scopri le classi disponibili, trova quella che ti serve, recupera le sue voci e poi filtra i creator in diretta. Funziona con qualsiasi combinazione di regione e classe.
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`)
}Limiti di frequenza e buone pratiche
Le posizioni in classifica cambiano gradualmente. Tieni in cache per 10-30 secondi prima di richiedere di nuovo, per non sovraccaricare l'API senza motivo.
Le classifiche delle leghe cambiano lentamente, quindi non serve interrogare gli endpoint delle leghe più di una volta ogni qualche minuto.
Tutte le 44 regioni possono essere interrogate in parallelo. Se ti servono dati di più regioni, invia le richieste in contemporanea invece che una dopo l'altra.
Quando isLive è true in una voce della classifica, puoi aprire subito un WebSocket verso quel creator usando il suo uniqueId e la tua chiave API.
I cookie di sessione danno accesso al tuo account. Salvali in variabili d'ambiente, mai nel codice sorgente o in repository pubblici.
Non tutte le classi esistono in ogni regione. Chiama sempre prima l'endpoint di elenco per confermare quali valori di classType sono disponibili nella regione che ti interessa.