Guía

API WebSocket de TikTok LIVE

Conéctate a cualquier transmisión de TikTok LIVE por WebSocket. Recibe en tiempo real mensajes del chat, regalos, espectadores, batallas y datos de interacción con una latencia de menos de 50ms. Funciona con cualquier lenguaje de programación.

Cómo funciona el WebSocket de TikTok LIVE

TikTool ofrece un endpoint WebSocket gestionado en wss://api.tik.tools que transmite eventos en tiempo real de cualquier transmisión de TikTok LIVE. Te conectas con tu API key y un usuario de TikTok, y el servidor se encarga de toda la negociación del protocolo, la autenticación y la lógica de reconexión.

A diferencia de las conexiones directas al protocolo de la infraestructura de transmisión de TikTok (que se rompen con frecuencia), la API WebSocket de TikTool es un relay estable y listo para producción.

Inicio rápido - Conéctate en 3 líneas

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()

O conéctate directamente con WebSocket nativo (sin 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", {}))

Cualquier lenguaje

Funciona cualquier lenguaje con soporte de WebSocket: Go, Rust, Java, C#, Ruby, PHP. Solo conéctate a:

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

Parámetros de conexión del WebSocket

ParámetroObligatorioDescripción
uniqueId✓Usuario de TikTok (sin @) del streamer
apiKey✓Tu API key de TikTool
jwtKeyAutenticación con JWT (alternativa a apiKey para clientes de navegador con token)

Tipos de eventos

Cada mensaje del WebSocket es un objeto JSON con los campos event y data. Estos son los eventos que recibirás:

chat

Nuevo mensaje de chat de un espectador. Incluye info del usuario, texto del mensaje e insignias.

gift

Regalo virtual enviado por un espectador. Incluye nombre del regalo, valor en diamantes y número de repeticiones.

like

Un espectador le dio like a la transmisión. Incluye el total de likes.

member

Un espectador entró a la transmisión. Se dispara cuando los usuarios entran a la sala LIVE.

social

Follow / compartir / favorito. El campo data.action indica cuál (follow, share, favourite).

roomUserSeq

Actualización del número de espectadores. Incluye viewerCount actual y topViewers.

subscribe

Un espectador se suscribió al streamer.

battle

Evento de batalla LinkMic. Incluye estado de la batalla, puntuaciones, duración y participantes.

battleArmies

Actualización de equipos de la batalla. Puntuaciones por equipo y clasificación de participantes.

linkMic

Actualización del diseño de invitados de LinkMic. Incluye los IDs de usuario de cada espacio/invitado en transmisiones con varios anfitriones.

roomPin

El streamer fijó un mensaje del chat.

liveIntro

Actualización de la presentación de la transmisión. Incluye título y descripción.

emoteChat

Emote personalizado enviado en el chat. Incluye el ID del emote y la URL de la imagen.

envelope

Evento de cofre del tesoro / sobre rojo en la transmisión.

question

Pregunta de preguntas y respuestas enviada por un espectador.

rankUpdate

Actualización de la posición del streamer por región.

barrage

Mensaje de anuncio/barrage en la parte superior de la pantalla.

superFan

Un espectador se convirtió en Super Fan o subió de nivel. Incluye el nuevo nivel.

superFanJoin

Un Super Fan entró a la sala.

superFanBox

Evento de caja / recompensa de Super Fan.

control

Control del ciclo de vida de la transmisión (pausa, fin, etc.).

Límites de conexión por plan

PlanConexionesPrecio
Sandbox (gratis)15Plan Sandbox
Pro50desde $15/semana
Ultra250desde $45/semana
Agency500 + Firehosedesde $119/semana

Manejo de errores y reconexión

El WebSocket se cierra con códigos de cierre estándar. Tu cliente debe encargarse de reconectar:

// 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()

Preguntas frecuentes

¿Cómo me conecto a una transmisión en vivo de TikTok por WebSocket?

¿Qué lenguajes de programación funcionan con el WebSocket de TikTok LIVE?

¿La API WebSocket de TikTok LIVE es gratis?

¿En qué se diferencia de las librerías de código abierto para transmisiones en vivo?

¿Cuál es la latencia de la conexión WebSocket?