Entwickler-Guide

Ranglisten- & Liga-API

TikTok-LIVE-Ranglisten in Echtzeit. Hol dir tägliche Rankings aus 44 Regionen, frag Live-Daten zu Liga-Klassen ab und überwache die Performance von Creatorn.

ALLE BEZAHLTARIFE NUR ULTRA - Ligen

Überblick

TikTool stellt über die Website-API unter tik.tools zwei Arten von Ranglistendaten bereit. Beide Endpunkte liefern Ranking-Daten in Echtzeit für TikTok-LIVE-Creator, sortiert nach Diamanten-Einnahmen.

Alle Bezahltarife

Regionale Ranglisten

Tägliche Rankings der Top 100 Creator nach insgesamt verdienten Diamanten, aufgeteilt nach Region. Wird den ganzen Tag über laufend aktualisiert. Verfügbar für Abonnenten von Basic, Pro und Ultra.

  • Top 100 Creator pro Region
  • Platz, Score (Diamanten), Live-Status, Raum-ID
  • 44 Regionen weltweit
  • Daten werden laufend aktualisiert
Nur Ultra-Entwicklertarif

Liga-Rankings

Klassenbasierte Ranking-Daten (A1-D5) für Creator, die in TikTok-LIVE-Ligen antreten. Zeigt, wer in welcher Liga-Stufe einer Region steht. Setzt den Ultra-Entwicklertarif voraus. Agency PASS (tik.tools/vip) ist ein Website-Abo - es gibt Zugriff auf Liga-Daten über die Website, aber keinen programmatischen API-Zugriff.

  • 18 Liga-Divisionen: A1, A2, A3, B1, B2, B3, B4, B5, C1, C2, C3, C4, C5, D1, D2, D3, D4, D5
  • Rangeinträge pro Klasse mit Live-Status
  • Teaser hinter Glas für niedrigere Tarife (5 Einträge)
  • Daten werden häufig aktualisiert
Authentifizierung: Diese Endpunkte liegen auf tik.tools (nicht auf api.tik.tools) und nutzen Session-basierte Authentifizierung. Ruf sie von deinem Server mit einem gültigen Session-Cookie auf, das du bekommst, wenn du dich mit einem bezahlten Entwicklerkonto bei tik.tools anmeldest. Alle bezahlten Entwicklertarife (Basic, Pro, Ultra) haben Zugriff auf die Endpunkte der regionalen Ranglisten. Liga-Endpunkte setzen den Ultra-Entwicklertarif voraus. Das Agency-PASS-Abo (unter tik.tools/vip) ist ein separates, reines Website-Produkt - es gibt Zugriff auf Liga-Daten über die Oberfläche von tik.tools, nicht über diese Entwickler-API.

Regionsübersicht

Es gibt 44 regionale Ranglisten. Nutz den Slug in der Endpunkt-URL der Länder-Rangliste und den Regionscode in den Liga-Endpunkten.

SlugRegionscodeBeschreibung
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

Endpunkt: Regionale Rangliste

GEThttps://tik.tools/api/leaderboards/country/:slugAlle Bezahltarife

Liefert die Top-100-Rangliste des aktuellen Tages für eine Region. Die Einträge sind absteigend nach score sortiert (insgesamt heute verdiente Diamanten).

Pfadparameter

ParameterTypBeschreibung
slugstringRegions-Slug aus der Regionsübersicht oben (z. B. balkans, north-america)

Antwortschema

FeldTypBeschreibung
[].ranknumberPlatz in der Rangliste (1 = höchste Einnahmen)
[].uniqueIdstringTikTok-Username (ohne @)
[].nicknamestringAnzeigename auf TikTok
[].scorenumberHeute in dieser Region insgesamt verdiente Diamanten
[].isLivebooleanOb der Creator gerade live streamt
[].roomIdstring | nullID des Live-Raums, falls gerade gestreamt wird, sonst null

Beispielantwort

[
  {
    "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
  }
]

Codebeispiele

// 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]' : ''}`)
}

Liga-Endpunkte

Ultra erforderlich. Liga-Endpunkte setzen einen Ultra-Entwicklertarif voraus. Anfragen aus den Tarifen Basic und Pro bekommen einen Teaser mit 5 Einträgen - das Feld hasFullAccess in der Antwort ist dann false, und maskedCount zeigt, wie viele Einträge verborgen sind. Hinweis: Das Agency-PASS-Abo (tik.tools/vip) gibt Zugriff auf Liga-Daten über die Website, ist aber kein Entwickler-API-Abo.

4a. Ligen einer Region auflisten

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

Listet die verfügbaren Liga-Klassen einer Region auf, inklusive der Anzahl Creator pro Klasse und dem Zeitpunkt der letzten Aktualisierung.

Pfadparameter

ParameterTypBeschreibung
regionstringRegionscode (z. B. BK, BC, US+) aus der Regionsübersicht

Antwortschema

FeldTypBeschreibung
[].classTypenumberNumerische Klassen-ID (siehe classType-Übersicht unten)
[].classLabelstringLesbarer Klassenname (z. B. "A1", "B5")
[].countnumberAnzahl der Creator, die aktuell in dieser Klasse sind
[].updatedAtstringISO-8601-Zeitstempel der letzten Datenaktualisierung

Beispielantwort

[
  { "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. Liga-Einträge abrufen

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

Liefert die Rangliste der Creator in einer bestimmten Liga-Klasse einer Region. Das ist der wichtigste Endpunkt für Liga-Tools und Dashboards zur Creator-Überwachung.

Pfadparameter

ParameterTypBeschreibung
regionstringRegionscode (z. B. BK, US+)
classTypenumberNumerische Klassen-ID (2000=A1, 1900=A2, 1100=B5 usw.)

Antwortschema

FeldTypBeschreibung
hasFullAccessbooleanTrue, wenn dein Tarif vollen Zugriff hat; false = Teaser-Modus (5 Einträge)
maskedCountnumberAnzahl der Einträge, die wegen Tarif-Einschränkungen verborgen sind (0 bei hasFullAccess)
totalCountnumberGesamtzahl der Creator in dieser Klasse
entries[].ranknumberPlatz innerhalb dieser Klasse
entries[].userIdstringNumerische TikTok-User-ID (stabile Backend-ID, ändert sich nie)
entries[].uniqueIdstringTikTok-Username/Handle ohne @ (vom User änderbar)
entries[].nicknamestringAnzeigename (vom User änderbar)
entries[].scorenumberIn der aktuellen Liga-Periode verdiente Diamanten
entries[].isLivebooleanOb der Creator gerade live streamt

Beispielantwort

{
  "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}`)
}

classType-Übersicht

Liga-Klassen ordnen numerische classType-Werte den Liga-Stufen zu. A1 ist die höchste Stufe - die Elite-Creator mit den meisten Diamanten. D5 ist der Einstieg in die Liga.

classTypeKlasseBeschreibung
2000A1Elite-Stufe. Die Top-Verdiener der Region. Härteste Konkurrenz, höchste Diamanten-Anforderungen für eine Platzierung.
1900A2Obere Stufe. Etablierte Creator mit hohen Einnahmen auf dem Weg zum Aufstieg in A1.
1800A3Etablierte A-Klasse. Konstant hohe Einnahmen, die ihren Platz im Elite-Bereich halten.
1500B1Spitze des B-Bereichs. Creator, die nur einen Aufstieg von den A-Divisionen entfernt sind.
1400B2Obere B-Klasse. Starke Verdiener im Kampf um B1.
1300B3Mittlere B-Klasse. Stabile Verdiener in der Mitte des B-Bereichs.
1200B4Untere B-Klasse. Creator auf dem Weg zu den oberen B-Divisionen.
1100B5Einstieg in die B-Klasse. Creator mit starken, konstanten Einnahmen über die Liga-Periode.
1000C1Spitze des C-Bereichs. Aktive Verdiener auf dem Weg in den B-Bereich.
900C2Obere C-Klasse. Mittlere Verdiener im Kampf um den Aufstieg in C1.
800C3Mittlere C-Klasse. Regelmäßige Verdiener in der Mitte des C-Bereichs.
700C4Untere C-Klasse. Creator auf dem Weg zu den oberen C-Divisionen.
600C5Einstieg in die C-Klasse. Frisch aus dem D-Bereich aufgestiegen.
500D1Spitze des D-Bereichs. Creator, die in der Region allmählich spürbar verdienen.
400D2Obere D-Klasse. Neuere Creator oder Creator mit geringerem Volumen.
300D3Mittlere D-Klasse. Creator, die sich in der Liga einfinden.
200D4Untere D-Klasse. Erste Einnahmen in der Liga.
100D5Einstiegsliga. Der Startpunkt für ligaberechtigte Creator.
Nicht alle 18 Divisionen sind in jeder Region vorhanden. Ruf zuerst den Endpunkt Ligen auflisten auf, um zu sehen, welche Klassen es in deiner Zielregion gibt, und hol dann die Klasse, die du brauchst.

Praxisbeispiel: Alle A1-Creator finden, die gerade in Balkan live sind

Dieses komplette mehrstufige Beispiel zeigt das empfohlene Vorgehen: verfügbare Klassen ermitteln, die gesuchte finden, ihre Einträge abrufen und dann nach Live-Creatorn filtern. Das funktioniert für jede Kombination aus Region und Klasse.

1
Verfügbare Ligen für die Region BK (Balkan) abrufen
2
Den A1-Eintrag finden und prüfen, ob er existiert
3
Einträge der A1-Liga abrufen
4
Nach Creatorn mit isLive === true filtern
// 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`)
}

Rate-Limits & Best Practices

Antworten clientseitig cachen

Ranglistenplätze verschieben sich nur nach und nach. Cache 10-30 Sekunden, bevor du neu abrufst, damit du die API nicht unnötig belastest.

Liga-Daten werden nach festem Zeitplan aktualisiert

Liga-Ranglisten ändern sich langsam, deshalb bringt es nichts, Liga-Endpunkte öfter als alle paar Minuten abzufragen.

Regionen unabhängig abfragen

Alle 44 Regionen lassen sich parallel abfragen. Wenn du Daten aus mehreren Regionen brauchst, schick die Anfragen gleichzeitig statt nacheinander.

Mit isLive + roomId verbinden

Wenn isLive bei einem Ranglisteneintrag true ist, kannst du sofort einen WebSocket zu diesem Creator öffnen, mit seiner uniqueId und deinem API-Key.

Session-Cookies sicher speichern

Session-Cookies geben Zugriff auf dein Konto. Speicher sie in Umgebungsvariablen, niemals im Quellcode oder in öffentlichen Repositories.

Ligen auflisten, bevor du Einträge abrufst

Nicht jede Klasse gibt es in jeder Region. Ruf immer zuerst den Listen-Endpunkt auf, um zu prüfen, welche classType-Werte es in deiner Zielregion gibt.

Häufige Fragen

Welche Tarife enthalten Zugriff auf die Ranglisten-API?

Was brauche ich für Zugriff auf Liga-Rankings?

Wie oft werden die Ranglistendaten aktualisiert?

Wie viele Regionen gibt es?

Sehe ich in der Rangliste, ob ein Creator gerade live ist?

Für meine Region tauchen nicht alle classType-Werte auf. Warum?

Kann ich alle 44 Regionen auf einmal abfragen?