Panduan

TikTok LIVE API WebSocket

Sambungkan ke siaran TikTok LIVE mana pun lewat WebSocket. Terima pesan chat, hadiah, jumlah penonton, LIVE match, dan data engagement secara real-time dengan latensi di bawah 50ms. Bisa dipakai dengan bahasa pemrograman apa pun.

Cara Kerja WebSocket TikTok LIVE

TikTool menyediakan endpoint WebSocket terkelola di wss://api.tik.tools yang mengalirkan event real-time dari siaran TikTok LIVE mana pun. Kamu cukup menyambung dengan API key dan username TikTok - server yang mengurus semua negosiasi protokol, autentikasi, dan logika reconnect.

Berbeda dengan koneksi protokol langsung ke infrastruktur siaran TikTok (yang sering putus), API WebSocket TikTool adalah relay yang stabil dan siap produksi.

Mulai Cepat - Tersambung dalam 3 Baris

JavaScript / Node.js

import { TikTokLive } from '@tiktool/live'

const client = new TikTokLive({ uniqueId: 'streamer_username', apiKey: 'YOUR_KEY' })
client.on('chat', e => console.log(`${e.user.uniqueId}: ${e.comment}`))
client.connect()

Atau sambungkan langsung dengan WebSocket native (tanpa SDK):

const ws = new WebSocket('wss://api.tik.tools?uniqueId=USERNAME&apiKey=YOUR_KEY')

ws.onmessage = (msg) => {
  const event = JSON.parse(msg.data)
  console.log(event.event, event.data)
}

Python

import asyncio, websockets, json

async def connect():
    uri = "wss://api.tik.tools?uniqueId=USERNAME&apiKey=YOUR_KEY"
    async with websockets.connect(uri) as ws:
        async for message in ws:
            event = json.loads(message)
            print(event["event"], event.get("data", {}))

Bahasa Apa Pun

Bahasa apa pun yang mendukung WebSocket bisa dipakai - Go, Rust, Java, C#, Ruby, PHP. Tinggal sambungkan ke:

wss://api.tik.tools?uniqueId=TIKTOK_USERNAME&apiKey=YOUR_API_KEY

Parameter Koneksi WebSocket

ParameterWajibDeskripsi
uniqueId✓Username TikTok streamer (tanpa @)
apiKey✓API key TikTool kamu
jwtKeyAutentikasi berbasis JWT (alternatif apiKey untuk client browser bertoken)

Jenis Event

Setiap pesan WebSocket adalah objek JSON dengan field event dan data. Berikut event yang akan kamu terima:

chat

Pesan chat baru dari penonton. Berisi info pengguna, teks pesan, dan badge.

gift

Hadiah virtual yang dikirim penonton. Berisi nama hadiah, nilai berlian, dan jumlah pengulangan.

like

Penonton menyukai siaran. Berisi total jumlah like.

member

Penonton masuk ke siaran. Terpicu saat pengguna masuk ke room live.

social

Follow / share / favorit. Field data.action memberi tahu jenisnya (follow, share, favourite).

roomUserSeq

Update jumlah penonton. Berisi viewerCount saat ini dan topViewers.

subscribe

Penonton berlangganan ke streamer.

battle

Event LIVE match LinkMic. Berisi status match, skor, durasi, dan peserta.

battleArmies

Update pasukan LIVE match. Skor tim dan peringkat peserta.

linkMic

Update tata letak tamu LinkMic. Berisi ID pengguna slot/tamu untuk siaran multi-host.

roomPin

Streamer menyematkan pesan chat.

liveIntro

Update intro siaran. Berisi judul dan deskripsi siaran.

emoteChat

Emote kustom yang dikirim di chat. Berisi ID emote dan URL gambar.

envelope

Event peti harta / angpao di dalam siaran.

question

Pertanyaan Q&A yang dikirim penonton.

rankUpdate

Pembaruan peringkat streamer per wilayah.

barrage

Pesan barrage/pengumuman di bagian atas layar.

superFan

Penonton menjadi Super Fan atau naik level. Berisi level barunya.

superFanJoin

Super Fan masuk ke room.

superFanBox

Event kotak / reward Super Fan.

control

Kontrol siklus siaran (jeda, selesai, dll.).

Batas Koneksi per Paket

PaketKoneksiHarga
Sandbox (gratis)15Paket Sandbox
Pro50mulai $15/minggu
Ultra250mulai $45/minggu
Agency500 + Firehosemulai $119/minggu

Penanganan Error & Reconnect

WebSocket akan ditutup dengan close code standar. Client kamu sebaiknya menangani reconnect:

// Auto-reconnect pattern (Node.js)
function connect() {
  const ws = new WebSocket('wss://api.tik.tools?uniqueId=USERNAME&apiKey=KEY')

  ws.onmessage = (msg) => {
    const event = JSON.parse(msg.data)
    // Process event
  }

  ws.onclose = (e) => {
    console.log(`Disconnected (${e.code}). Reconnecting in 3s...`)
    setTimeout(connect, 3000)
  }

  ws.onerror = (err) => {
    console.error('WebSocket error:', err.message)
    ws.close()
  }
}

connect()

Pertanyaan yang Sering Diajukan

Bagaimana cara menyambungkan ke siaran live TikTok lewat WebSocket?

Bahasa pemrograman apa saja yang bisa dipakai dengan WebSocket TikTok LIVE?

Apakah API WebSocket TikTok LIVE gratis?

Apa bedanya dengan library siaran live open-source?

Berapa latensi koneksi WebSocket-nya?