Guida per sviluppatori

API classifiche e leghe

Dati in tempo reale delle classifiche TikTok LIVE. Ottieni le classifiche giornaliere in 44 regioni, interroga i dati delle classi di lega in diretta e monitora le performance dei creator.

TUTTI I PIANI PAGATI SOLO ULTRA - Leghe

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.

Tutti i piani pagati

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
Solo piano sviluppatori Ultra

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
Autenticazione: Questi endpoint sono su 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.

SlugCodice regioneDescrizione
north-americaUS+North America
canadaCACanada
brazil-regionBRBrazil
mexicoMXMexico
latin-americaLATAMLatin America
colombia-peru-dominican-republicCO+Colombia, Peru & Dominican Republic
jamaicaJMJamaica
australia-pacificAU+Australia & Pacific
japan-regionJPJapan
south-korea-regionKRSouth Korea
taiwan-regionTWTaiwan
indonesia-regionIDIndonesia
malaysia-regionMYMalaysia
singaporeSGSingapore
philippines-regionPHPhilippines
thailand-regionTHThailand
vietnam-regionVNVietnam
nepalNPNepal
bangladesh-bhutan-maldivesBD+Bangladesh, Bhutan & Maldives
azerbaijanAZAzerbaijan
kazakhstanKZKazakhstan
kyrgyzstanKGKyrgyzstan
belarusBYBelarus
ukraineUAUkraine
central-asiaCCACentral Asia
dachDE+Germany & DACH
switzerlandCHSwitzerland
iberiaES+Iberia
central-europeHU+Central Europe
lusophonePT+Lusophone
france-regionFR+France
belgiumBEBelgium
netherlands-regionNLNetherlands
united-kingdom-regionUK+United Kingdom
ireland-baltics-maltaIE+Ireland, Baltics & Malta
italy-regionIT+Italy
swedenSESweden
scandinaviaSE+Nordics
poland-regionPLPoland
romania-regionRORomania
balkansBKBalkans
turkey-regionTRTurkey
middle-east-africaMENAMiddle East & Africa
nigeria-ghana-kenya-south-africaNG+Nigeria, Ghana, Kenya & South Africa

Endpoint: classifica regionale

GEThttps://tik.tools/api/leaderboards/country/:slugTutti i piani pagati

Restituisce 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

ParametroTipoDescrizione
slugstringSlug della regione dalla tabella Riferimento regioni qui sopra (es. balkans, north-america)

Schema della risposta

CampoTipoDescrizione
[].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 null

Esempio 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

Serve Ultra. Gli endpoint delle leghe richiedono un piano sviluppatori Ultra. Le richieste dai piani Basic e Pro ricevono un'anteprima di 5 voci: il campo 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

GEThttps://tik.tools/api/leaderboards/leagues/:regionSolo Ultra

Elenca 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

ParametroTipoDescrizione
regionstringCodice regione (es. BK, BC, US+) dalla tabella Riferimento regioni

Schema della risposta

CampoTipoDescrizione
[].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 dati

Esempio 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

GEThttps://tik.tools/api/leaderboards/league/:region/:classTypeSolo Ultra

Restituisce 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

ParametroTipoDescrizione
regionstringCodice regione (es. BK, US+)
classTypenumberIdentificativo numerico della classe (2000=A1, 1900=A2, 1100=B5, ecc.)

Schema della risposta

CampoTipoDescrizione
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 classe
entries[].ranknumberPosizione all'interno di questa classe
entries[].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 corso
entries[].isLivebooleanSe il creator è in diretta in questo momento

Esempio 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.

classTypeClasseDescrizione
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.
Non tutte le 18 divisioni sono presenti in ogni regione. Chiama prima l'endpoint Elenca le leghe per scoprire quali classi esistono nella regione che ti interessa, poi recupera la classe specifica che ti serve.

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.

1
Recupera le leghe disponibili per la regione BK (Balcani)
2
Trova la voce A1 e conferma che esiste
3
Recupera le voci della lega A1
4
Filtra i creator 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

Metti in cache le risposte lato client

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.

I dati delle leghe si aggiornano secondo un calendario fisso

Le classifiche delle leghe cambiano lentamente, quindi non serve interrogare gli endpoint delle leghe più di una volta ogni qualche minuto.

Interroga le regioni in modo indipendente

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.

Usa isLive + roomId per collegarti

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.

Conserva i cookie di sessione in modo sicuro

I cookie di sessione danno accesso al tuo account. Salvali in variabili d'ambiente, mai nel codice sorgente o in repository pubblici.

Elenca le leghe prima di recuperare le voci

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.

Domande frequenti

Quali piani includono l'accesso all'API classifiche?

Cosa serve per accedere ai dati delle classifiche di lega?

Ogni quanto si aggiornano i dati delle classifiche?

Quante regioni sono disponibili?

Posso capire dalla classifica se un creator è in diretta?

Non tutti i valori di classType compaiono per la mia regione. Perché?

Posso interrogare tutte le 44 regioni insieme?