| noindex | true |
|---|---|
| title | Quick Start |
| description | Connect to a TikTok Live stream and receive real-time events in under 30 seconds. |
Sign up at tik.tools and get a free sandbox API key from the dashboard. No credit card required.
If using the Node.js SDK, install it via npm:
npm install @tiktool/liveOr use the WebSocket directly — no SDK required. Any language with WebSocket support works.
```javascript Node.js (SDK) import { TikTokLive } from '@tiktool/live';const client = new TikTokLive({ apiKey: 'YOUR_API_KEY', uniqueId: 'streamer_username', });
client.on('chat', (event) => {
console.log(${event.user.uniqueId}: ${event.comment});
});
client.on('gift', (event) => {
console.log(${event.user.uniqueId} sent ${event.giftName} (${event.diamondCount}💎));
});
client.on('connected', () => console.log('Connected!'));
await client.connect();
```javascript Node.js (WebSocket)
import WebSocket from 'ws';
const ws = new WebSocket('wss://api.tik.tools?uniqueId=streamer_name&apiKey=YOUR_KEY');
ws.on('open', () => console.log('Connected!'));
ws.on('message', (raw) => {
const { event, data } = JSON.parse(raw);
switch (event) {
case 'chat': console.log(`💬 ${data.user.uniqueId}: ${data.comment}`); break;
case 'gift': console.log(`🎁 ${data.user.uniqueId} sent ${data.giftName}`); break;
case 'like': console.log(`❤️ ${data.user.uniqueId} liked × ${data.likeCount}`); break;
case 'member': console.log(`👋 ${data.user.uniqueId} joined`); break;
case 'roomUserSeq': console.log(`👀 Viewers: ${data.viewerCount}`); break;
}
});
ws.on('close', (code, reason) => console.log('Closed:', code, reason.toString()));
import asyncio, websockets, json
async def listen():
url = "wss://api.tik.tools?uniqueId=streamer_name&apiKey=YOUR_KEY"
async with websockets.connect(url) as ws:
print("Connected!")
async for message in ws:
msg = json.loads(message)
event = msg["event"]
data = msg.get("data", {})
user = data.get("user", {}).get("uniqueId", "")
if event == "chat": print(f"💬 {user}: {data.get('comment', '')}")
elif event == "gift": print(f"🎁 {user} sent {data.get('giftName', '')}")
elif event == "like": print(f"❤️ {user} liked × {data.get('likeCount', 0)}")
elif event == "member": print(f"👋 {user} joined")
elif event == "roomUserSeq": print(f"👀 Viewers: {data.get('viewerCount', 0)}")
asyncio.run(listen())# Install wscat for WebSocket testing:
npm install -g wscat
# Connect to a live stream:
wscat -c "wss://api.tik.tools?uniqueId=streamer_name&apiKey=YOUR_KEY"
# Or check if a user is live via REST:
curl "https://api.tik.tools/webcast/check_alive?apiKey=YOUR_KEY&unique_id=streamer_name"import org.java_websocket.client.WebSocketClient;
import org.java_websocket.handshake.ServerHandshake;
import java.net.URI;
var ws = new WebSocketClient(new URI("wss://api.tik.tools?uniqueId=streamer_name&apiKey=YOUR_KEY")) {
public void onMessage(String msg) {
var json = new org.json.JSONObject(msg);
if (json.getString("event").equals("chat")) {
var data = json.getJSONObject("data");
System.out.println(data.getJSONObject("user").getString("uniqueId") + ": " + data.getString("comment"));
}
}
public void onOpen(ServerHandshake h) { System.out.println("Connected!"); }
public void onClose(int code, String reason, boolean remote) {}
public void onError(Exception e) { e.printStackTrace(); }
};
ws.connect();package main
import (
"fmt"
"log"
"github.com/gorilla/websocket"
)
func main() {
url := "wss://api.tik.tools?uniqueId=streamer_name&apiKey=YOUR_KEY"
conn, _, err := websocket.DefaultDialer.Dial(url, nil)
if err != nil { log.Fatal(err) }
defer conn.Close()
for {
_, msg, err := conn.ReadMessage()
if err != nil { break }
fmt.Println(string(msg))
}
}using System.Net.WebSockets;
using System.Text;
using System.Text.Json;
var ws = new ClientWebSocket();
await ws.ConnectAsync(new Uri("wss://api.tik.tools?uniqueId=streamer_name&apiKey=YOUR_KEY"), CancellationToken.None);
var buf = new byte[4096];
while (ws.State == WebSocketState.Open) {
var result = await ws.ReceiveAsync(buf, CancellationToken.None);
var msg = Encoding.UTF8.GetString(buf, 0, result.Count);
var json = JsonDocument.Parse(msg);
if (json.RootElement.GetProperty("event").GetString() == "chat") {
var data = json.RootElement.GetProperty("data");
Console.WriteLine(data.GetProperty("user").GetProperty("uniqueId") + ": " + data.GetProperty("comment"));
}
}