Geliştirici Rehberi

Sıralama ve Lig API'si

Anlık TikTok LIVE sıralama verisi. 44 bölgede günlük sıralamaları al, canlı lig sınıfı verisini sorgula ve yayıncı performansını takip et.

TÜM ÜCRETLİ PLANLAR YALNIZCA ULTRA - Ligler

Genel Bakış

TikTool, tik.tools adresindeki web sitesi API'si üzerinden iki tür sıralama verisi sunar. İki uç nokta da TikTok LIVE yayıncıları için elmas kazancına göre sıralanmış anlık rekabet verisi döndürür.

Tüm Ücretli Planlar

Bölgesel Sıralamalar

Toplam kazanılan elmasa göre ilk 100 yayıncının günlük sıralaması, coğrafi bölgelere ayrılmış halde. Gün boyunca sürekli güncellenir. Basic, Pro ve Ultra abonelerine açıktır.

  • Bölge başına ilk 100 yayıncı
  • Sıra, puan (elmas), canlı durumu, oda kimliği
  • Dünya genelinde 44 bölge
  • Veri sürekli yenilenir
Yalnızca Ultra Geliştirici Planı

Lig Sıralamaları

TikTok LIVE liglerinde yarışan yayıncılar için sınıf bazlı rekabet verisi (A1-D5). Herhangi bir bölgede hangi yayıncının hangi rekabet kademesinde olduğunu gösterir. Ultra geliştirici planı gerektirir. Agency PASS (tik.tools/vip) bir web sitesi aboneliğidir: lig verisine web sitesi arayüzünden erişim verir, programatik API erişimi vermez.

  • 18 lig kademesi: A1, A2, A3, B1, B2, B3, B4, B5, C1, C2, C3, C4, C5, D1, D2, D3, D4, D5
  • Canlı durumuyla sınıf bazlı sıralı kayıtlar
  • Alt planlar için önizleme (5 kayıt)
  • Veri sık sık yenilenir
Kimlik doğrulama: Bu uç noktalar api.tik.tools değil, tik.tools üzerindedir ve oturum tabanlı kimlik doğrulama kullanır. Bunları, ücretli bir geliştirici hesabıyla tik.tools'a giriş yaparak aldığın geçerli bir oturum çereziyle kendi sunucundan çağır. Tüm ücretli geliştirici planları (Basic, Pro, Ultra) bölgesel sıralama uç noktalarına erişebilir. Lig uç noktaları Ultra geliştirici planı gerektirir. Agency PASS aboneliği (tik.tools/vip) yalnızca web sitesine yönelik ayrı bir üründür: lig verisine bu geliştirici API'si üzerinden değil, tik.tools web sitesi arayüzünden erişim verir.

Bölge Referansı

44 bölgesel sıralama mevcut. Ülke sıralaması uç nokta URL'sinde Slug değerini, lig uç noktalarında ise Bölge Kodu değerini kullan.

SlugBölge KoduAçıklama
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

Uç nokta: Bölgesel Sıralama

GEThttps://tik.tools/api/leaderboards/country/:slugTüm Ücretli Planlar

Bir bölgenin o günkü ilk 100 sıralamasını döndürür. Kayıtlar score değerine (bugün kazanılan toplam elmas) göre azalan sırada dizilir.

Yol Parametreleri

ParametreTürAçıklama
slugstringYukarıdaki Bölge Referansı tablosundan bölge slug'ı (ör. balkans, north-america)

Yanıt Şeması

AlanTürAçıklama
[].ranknumberSıralamadaki konum (1 = en çok kazanan)
[].uniqueIdstringTikTok kullanıcı adı (@ olmadan)
[].nicknamestringTikTok'ta görünen ad
[].scorenumberBu bölgede bugün kazanılan toplam elmas
[].isLivebooleanYayıncının şu anda canlı yayında olup olmadığı
[].roomIdstring | nullŞu anda yayındaysa canlı oda kimliği, değilse null

Örnek Yanıt

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

Kod Örnekleri

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

Lig Uç Noktaları

Ultra gerekli. Lig uç noktaları Ultra geliştirici planı gerektirir. Basic ve Pro planlarından gelen istekler 5 kayıtlık bir önizleme alır: yanıttaki hasFullAccess alanı false olur ve maskedCount kaç kaydın gizlendiğini gösterir. Not: Agency PASS aboneliği (tik.tools/vip) lig verisine web sitesinden erişim verir ama bir geliştirici API aboneliği değildir.

4a. Bir Bölgenin Liglerini Listele

GEThttps://tik.tools/api/leaderboards/leagues/:regionYalnızca Ultra

Belirli bir bölgedeki mevcut lig sınıflarını, her sınıfta kaç yayıncı olduğunu ve verinin en son ne zaman güncellendiğini listeler.

Yol Parametreleri

ParametreTürAçıklama
regionstringBölge Referansı tablosundan bölge kodu (ör. BK, BC, US+)

Yanıt Şeması

AlanTürAçıklama
[].classTypenumberSayısal sınıf tanımlayıcısı (aşağıdaki classType Referansına bak)
[].classLabelstringOkunabilir sınıf adı (ör. "A1", "B5")
[].countnumberŞu anda bu sınıftaki yayıncı sayısı
[].updatedAtstringSon veri yenilemesinin ISO 8601 zaman damgası

Örnek Yanıt

[
  { "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. Lig Kayıtlarını Al

GEThttps://tik.tools/api/leaderboards/league/:region/:classTypeYalnızca Ultra

Bir bölgede belirli bir lig sınıfındaki yayıncıların sıralı listesini döndürür. Lig odaklı araçlar ve yayıncı takip panelleri geliştirmek için temel uç nokta budur.

Yol Parametreleri

ParametreTürAçıklama
regionstringBölge kodu (ör. BK, US+)
classTypenumberSayısal sınıf tanımlayıcısı (2000=A1, 1900=A2, 1100=B5 vb.)

Yanıt Şeması

AlanTürAçıklama
hasFullAccessbooleanPlanın tam erişime sahipse true; false = önizleme modu (5 kayıt)
maskedCountnumberPlan kısıtlamaları nedeniyle gizlenen kayıt sayısı (hasFullAccess ise 0)
totalCountnumberBu sınıftaki toplam yayıncı sayısı
entries[].ranknumberBu sınıf içindeki konum
entries[].userIdstringTikTok sayısal kullanıcı kimliği (sabit arka uç kimliği, hiç değişmez)
entries[].uniqueIdstring@ olmadan TikTok kullanıcı adı (kullanıcı değiştirebilir)
entries[].nicknamestringGörünen ad (kullanıcı değiştirebilir)
entries[].scorenumberMevcut lig döneminde kazanılan elmas
entries[].isLivebooleanYayıncının şu anda canlı yayında olup olmadığı

Örnek Yanıt

{
  "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 Referansı

Lig sınıfları, sayısal classType değerlerini rekabet kademelerine eşler. A1 en üst kademedir: en çok elmas kazanan elit yayıncılar. D5 lig rekabetine giriş noktasıdır.

classTypeSınıfAçıklama
2000A1Elit kademe. Bölgenin en çok kazananları. En yüksek rekabet, yerleşmek için en yüksek elmas şartı.
1900A2Kıdemli kademe. A1'e yükselmeye çalışan, yerleşik ve yüksek kazançlı yayıncılar.
1800A3Yerleşik A sınıfı. Elit aralıktaki yerini koruyan, istikrarlı yüksek kazançlı yayıncılar.
1500B1B aralığının zirvesi. A kademelerine bir yükselme uzaklıktaki yayıncılar.
1400B2Üst B sınıfı. B1 için yarışan güçlü kazançlı yayıncılar.
1300B3Orta B sınıfı. B aralığının ortasında istikrarlı kazanan yayıncılar.
1200B4Alt B sınıfı. Üst B kademelerine doğru ilerleyen yayıncılar.
1100B5B sınıfı girişi. Lig dönemi boyunca güçlü ve istikrarlı kazanç sağlayan yayıncılar.
1000C1C aralığının zirvesi. B sınıfına doğru ilerleyen aktif kazançlı yayıncılar.
900C2Üst C sınıfı. C1'e yükselmek için yarışan orta düzey kazançlı yayıncılar.
800C3Orta C sınıfı. C aralığının ortasında düzenli kazanan yayıncılar.
700C4Alt C sınıfı. Üst C kademelerine doğru tırmanan yayıncılar.
600C5C sınıfı girişi. D aralığından yeni yükselenler.
500D1D aralığının zirvesi. Bölgede kayda değer kazanmaya başlayan yayıncılar.
400D2Üst D sınıfı. Daha yeni ya da daha düşük hacimli kazananlar.
300D3Orta D sınıfı. Lig rekabetine alışan yayıncılar.
200D4Alt D sınıfı. Ligde ilk kazançlarını elde edenler.
100D5Giriş ligi. Lige katılmaya uygun yayıncılar için başlangıç noktası.
18 kademenin hepsi her bölgede bulunmayabilir. Hedef bölgende hangi sınıfların olduğunu görmek için önce Ligleri Listele uç noktasını çağır, sonra ihtiyacın olan sınıfı çek.

Çalışan Örnek: Balkanlar'da Şu An Yayında Olan Tüm A1 Yayıncılarını Bul

Bu çok adımlı eksiksiz örnek, önerilen kalıbı gösterir: mevcut sınıfları keşfet, ihtiyacın olanı bul, kayıtlarını çek, sonra canlı yayıncılara göre filtrele. Her bölge ve sınıf kombinasyonunda çalışır.

1
BK (Balkanlar) bölgesi için mevcut ligleri çek
2
A1 kaydını bul ve var olduğunu doğrula
3
A1 lig kayıtlarını çek
4
isLive === true olan yayıncılara göre filtrele
// 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`)
}

İstek Limitleri ve En İyi Uygulamalar

Yanıtları istemci tarafında önbelleğe al

Sıralamadaki konumlar yavaş yavaş değişir. API'yi gereksiz yere yormamak için yeniden çekmeden önce 10-30 saniye önbellekte tut.

Lig verisi sabit bir programla yenilenir

Lig tabloları yavaş değişir; bu yüzden lig uç noktalarını birkaç dakikada birden daha sık sorgulamanın bir faydası yok.

Bölgeleri bağımsız sorgula

44 bölgenin hepsi paralel olarak sorgulanabilir. Birden fazla bölgenin verisine ihtiyacın varsa istekleri sırayla değil, eşzamanlı gönder.

Bağlanmak için isLive + roomId kullan

Bir sıralama kaydında isLive true ise, o yayıncının uniqueId değeri ve API anahtarınla hemen bir WebSocket açabilirsin.

Oturum çerezlerini güvenle sakla

Oturum çerezleri hesabına erişim sağlar. Onları ortam değişkenlerinde sakla; asla kaynak kodda ya da herkese açık depolarda tutma.

Kayıtları çekmeden önce ligleri listele

Her sınıf her bölgede bulunmaz. Hedef bölgende hangi classType değerlerinin mevcut olduğunu doğrulamak için her zaman önce listeleme uç noktasını çağır.

Sıkça Sorulan Sorular

Hangi planlar sıralama API erişimi içerir?

Lig sıralaması verisine erişmek için ne gerekir?

Sıralama verisi ne sıklıkla güncellenir?

Kaç bölge mevcut?

Sıralamadan bir yayıncının şu an canlıda olup olmadığını anlayabilir miyim?

Bölgemde tüm classType değerleri görünmüyor. Neden?

44 bölgenin hepsini aynı anda sorgulayabilir miyim?