// the tiktok live api

Ship TikTok LIVE,
not infrastructure.

Chat, gifts, likes, follows and battles - real-time, over one signed WebSocket. We run the signing, the proxies and the reconnects. You write product.

~300 live streams piped right now<50ms event latency5 languages
// run it

Three lines. A live stream in your terminal.

No signup for the demo key. Pick a language, paste, run.

tiktool - live.js
import { TikTool } from 'tiktok-live-api'

const tt = new TikTool('your_api_key')
await tt.connect('@charlidamelio')

tt.on('gift', g => console.log(`gift: ${g.user} sent ${g.gift}`))
tt.on('chat', m => console.log(`chat: ${m.user}: ${m.text}`))
// build

Everything in the live room, as a stream.

Chat & gifts

Every comment, gift, combo and streak as typed events with diamond values resolved.

Likes, follows, joins

Engagement events with viewer counts and join order, debounced and deduped server-side.

Battles & PK

Live battle state, scores and invites - the events nobody else decodes.

Signed REST

room_info, room_id, live_status, bulk checks - pre-signed so you never touch TikTok auth.

Webhooks

live.start / live.end pushed to your endpoint - monitor a roster without holding a socket open.

Leaderboards & ranks

Regional, league and gaming boards - top gifters and movers, masked or fully unmasked.

// in production

Powering overlays, bots and agency war-rooms.

"Swapped three flaky scrapers for one WebSocket. Gifts show up in the overlay before they finish animating on TikTok."

overlay builder

"The unmasked league boards are the whole reason we scout where we scout. Nothing else has them."

agency operator

"Free tier let me ship the whole thing on my own IP, then I upgraded the day I needed proxies."

bot developer
6
event types, one socket
<50ms
end-to-end latency
28
regions of rank data
99.5%
uptime SLA

Start streaming TikTok LIVE
in the next five minutes.