Entwickler-Guide

TikTok LIVE API für Node.js

Bau TikTok-LIVE-Assistenten, Overlays und Dashboards in JavaScript. npm install, in 3 Zeilen verbinden, Events in Echtzeit empfangen. Kostenloses SDK, Open Source, MIT-Lizenz.

Warum Node.js?

Node.js ist die beliebteste Runtime für TikTok-LIVE-Integrationen. Das offizielle SDK @tiktool/live ist in TypeScript geschrieben, auf npm veröffentlicht und bringt vollständige Typdefinitionen direkt mit. Du bekommst:

  • Typsicherheit - vollständige TypeScript-Definitionen für jedes Event und jede Methode
  • Automatischer Reconnect - das SDK fängt abgebrochene Verbindungen automatisch ab
  • Eventbasiert - vertrautes .on('event', handler)-Muster
  • Läuft überall - Node.js 18+, Bun, Deno

SDK installieren

npm install @tiktool/live

Oder mit anderen Paketmanagern:

# Yarn
yarn add @tiktool/live

# pnpm
pnpm add @tiktool/live

# Bun
bun add @tiktool/live

Schnellstart: 3 Zeilen bis zu Live-Daten

Erstell app.mjs und füg ein:

import { TikTokLive } from '@tiktool/live'

const client = new TikTokLive({
  uniqueId: 'tv_asahi_news',   // TikTok username (without @)
  apiKey: process.env.TIKTOOL_API_KEY
})

client.on('chat', (event) => {
  console.log(`${event.nickname}: ${event.comment}`)
})

await client.connect()

Ausführen:

TIKTOOL_API_KEY=your_api_key node app.mjs

Innerhalb von Sekunden siehst du Chatnachrichten in deinem Terminal.

Alle verfügbaren Events

Das SDK sendet strukturierte Events für jede Interaktion im Stream:

import { TikTokLive } from '@tiktool/live'

const client = new TikTokLive({
  uniqueId: 'target_username',
  apiKey: process.env.TIKTOOL_API_KEY
})

// Chat messages
client.on('chat', (event) => {
  console.log(`[CHAT] ${event.nickname}: ${event.comment}`)
})

// Virtual gifts (Rose, Universe, etc.)
client.on('gift', (event) => {
  console.log(`[GIFT] ${event.nickname} sent ${event.giftName} (${event.diamondCount} 💎)`)
})

// New followers
client.on('follow', (event) => {
  console.log(`[FOLLOW] ${event.nickname} just followed!`)
})

// Likes
client.on('like', (event) => {
  console.log(`[LIKE] ${event.nickname} liked (total: ${event.totalLikeCount})`)
})

// Viewer count changes
client.on('viewer_count', (event) => {
  console.log(`[VIEWERS] ${event.viewerCount} watching`)
})

// Member joins (someone enters the stream)
client.on('member', (event) => {
  console.log(`[JOIN] ${event.nickname} joined the stream`)
})

// Share events
client.on('share', (event) => {
  console.log(`[SHARE] ${event.nickname} shared the stream`)
})

await client.connect()
console.log('✅ Connected and listening!')

Erwartete Ausgabe

✅ Connected and listening!
[VIEWERS] 3,412 watching
[CHAT] viewer_1: Hello everyone! 👋
[FOLLOW] new_fan just followed!
[GIFT] whale_user sent Universe (34,000 💎)
[LIKE] cool_viewer liked (total: 12,847)
[CHAT] fan_123: Love this stream!
[JOIN] curious_viewer joined the stream
[SHARE] supporter_1 shared the stream

TypeScript-Unterstützung

Das SDK ist in TypeScript geschrieben. Die Typen sind automatisch dabei - kein @types-Paket nötig:

import { TikTokLive } from '@tiktool/live'
import type { ChatEvent, GiftEvent } from '@tiktool/live'

const client = new TikTokLive({
  uniqueId: 'target_username',
  apiKey: process.env.TIKTOOL_API_KEY
})

client.on('chat', (event: ChatEvent) => {
  // event.comment, event.nickname, event.userId - all typed
  console.log(event.nickname, event.comment)
})

client.on('gift', (event: GiftEvent) => {
  // event.giftName, event.diamondCount, event.repeatCount - all typed
  if (event.diamondCount >= 100) {
    console.log(`Big gift from ${event.nickname}!`)
  }
})

await client.connect()

Roher WebSocket (ohne SDK)

Lieber direkt den rohen WebSocket nutzen? Das funktioniert mit jeder Sprache und jedem Framework:

import WebSocket from 'ws'  // npm install ws

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

ws.on('message', (raw) => {
  const msg = JSON.parse(raw.toString())

  switch (msg.event) {
    case 'chat':
      console.log(`${msg.data.user.nickname}: ${msg.data.comment}`)
      break
    case 'gift':
      console.log(`Gift: ${msg.data.giftName} (${msg.data.diamondCount} 💎)`)
      break
    case 'viewer_count':
      console.log(`Viewers: ${msg.data.viewerCount}`)
      break
  }
})

ws.on('open', () => console.log('Connected!'))

FAQ

Hat TikTok eine offizielle Node.js-API?

Nein. TikTok bietet keine öffentliche API für LIVE-Streamdaten. Die TikTools API ist ein verwalteter Drittanbieter-Service, der zuverlässigen Echtzeit-Zugriff auf Chat, Geschenke, Zuschauer und weitere LIVE-Events bietet. Das npm-Paket @tiktool/live ist das offizielle SDK für diese API.

Ist es kostenlos?

Ja. Der Sandbox-Tarif gibt dir 5.000 Anfragen/Tag und 3 gleichzeitige WebSocket-Verbindungen - kostenlos, nur zur Evaluierung, keine Kreditkarte nötig. Hier registrieren.

Kann ich es mit Express, Fastify oder Next.js nutzen?

Ja. Das SDK funktioniert in jeder Node.js-Umgebung. Nutz es in Express-Route-Handlern, Fastify-Plugins, Next.js-API-Routes oder eigenständigen Skripten.

Funktioniert es mit Bun und Deno?

Ja. Das SDK ist kompatibel mit Bun und Deno. Installier es mit bun add @tiktool/live oder importier es in Deno von npm.