TikTok LIVE API

TikTok 没有官方的 LIVE API。TikTool 是一款托管式替代方案:连接任意直播间,通过 WebSocket 实时接收弹幕、礼物和观众数据。连接维护与鉴权均由我们处理,无需逆向工程。

获取 API Key获取 API Key
文档面向开发者
正在加载 3D 演示轮播...

游戏榜

新 · AGENCY 专属
当前前 5 名 - 美国 游戏榜完整榜单
<50ms延迟
免费Sandbox 套餐

什么是 TikTok LIVE API?

TikTok 并未提供用于获取弹幕、礼物、观众数等直播数据的公开 API。TikTok Business API 仅覆盖广告和电商分析。如需获取实时直播数据,开发者通常使用第三方 API。

开源库 tiktok-live-connector(Node.js)和 TikTokLive(Python)采用 MIT 许可,可免费使用。它们把 TikTok 签名交给后端处理,其历史默认选项之一是由维护这些库的同一团队打造的付费签名服务。

TikTool 是一款拥有自有签名基础设施的独立替代方案,属于全托管 API:连接维护与鉴权均在我们这边完成。一条 WebSocket 连接即可推送 90+ 种事件类型,包括弹幕、礼物、点赞、关注、观众、PK 等。提供 Node.js 和 Python 官方 SDK。Sandbox 套餐无需信用卡。

TikTok LIVE API 如何工作?

TikTool 位于你的应用与 TikTok 直播基础设施之间,架构如下:

1

应用发起连接

你的应用携带 TikTok 用户名和 API Key,打开到 wss://api.tik.tools 的 WebSocket 连接。

2

TikTool 完成解析

TikTool 解析直播间 ID,处理鉴权和验证挑战,并加入直播间。

3

事件实时推送

实时事件(弹幕、礼物、观众等)以干净的 JSON 推送到你的应用,已完成解析、结构化并带有类型定义。

你无需直接处理 TikTok 的协议。当 TikTok 调整内部系统时(这种情况很常见),TikTool 会及时适配,你的代码无需任何改动即可继续运行。

快速开始:Node.js / TypeScript

从 npm 安装官方 SDK:

npm install @tiktool/live

连接直播间并接收事件:

import { TikTokLive } from '@tiktool/live';

const client = new TikTokLive({
  uniqueId: 'streamer_username',
  apiKey: 'YOUR_API_KEY' // Get free key → https://tik.tools
});

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} diamonds)`);
});

client.on('roomUserSeq', (event) => {
  console.log(`${event.viewerCount} viewers watching`);
});

client.connect();

完整的 TypeScript 支持:所有事件类型、字段和参数均有完整类型定义,可在 IDE 中自动补全。阅读完整 Node.js 指南 →

快速开始:Python

从 PyPI 安装:

pip install tiktok-live-api

使用 SDK 连接,并通过装饰器注册处理函数:

from tiktok_live_api import TikTokLive

client = TikTokLive("streamer_username", api_key="YOUR_API_KEY")  # Get free key at https://tik.tools

@client.on("chat")
def on_chat(event):
    print(f"{event['user']['uniqueId']}: {event['comment']}")

@client.on("gift")
def on_gift(event):
    print(f"{event['user']['uniqueId']} sent {event['giftName']} ({event['diamondCount']} diamonds)")

@client.on("roomUserSeq")
def on_viewers(event):
    print(f"{event['viewerCount']} viewers watching")

client.run()  # blocks; reconnects automatically

更喜欢 asyncio?await client.connect() 可在你自己的事件循环中运行同一个客户端。API Key 也可以从 TIKTOOL_API_KEY 环境变量读取。

阅读完整 Python 指南 →

快速开始:原生 WebSocket(任意语言)

任何支持 WebSocket 的语言都可以使用,包括 Go、Rust、Java、C#、Ruby、PHP、Dart、Kotlin、Swift。只需连接:

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

每条消息都是包含 event 和 data 字段的 JSON 对象。数据干净、结构化,无需解析二进制。完整 WebSocket API 参考 →

全部事件类型

TikTok LIVE API 可从任意直播间实时推送 18+ 种事件:

chat

观众发送的弹幕消息,包含用户信息、评论内容、表情和徽章。

gift

观众赠送的虚拟礼物,包含礼物名称、钻石价值、连送次数和连击状态。

like

观众为直播点赞,包含单次事件点赞数和累计点赞数。

member

观众进入直播间,在用户进入时触发。

follow

观众在直播期间关注了主播。

share

观众将直播间分享给好友。

subscribe

观众订阅了主播。

roomUserSeq

观众数更新,包含当前观众数和观众贡献榜。

battle

PK / 连线事件,包含 PK 状态、队伍、比分和参与者。

battleArmies

PK 阵营更新,包含队伍比分和参与者排名。

roomPin

主播置顶或标星了一条弹幕。

caption

TikTok 原生直播自动字幕,每帧一个字幕窗口。

envelope

直播间内的宝箱或红包事件。

emote

观众在弹幕中发送的自定义表情。

liveIntro

直播简介更新,即标题和描述的变更。

streamEnd

直播已结束,包含原因代码。

connected

已成功连接到 TikTok 直播间。

error

发生连接错误,包含错误详情。

查看包含示例 payload 的完整事件参考 →

你可以构建什么?

弹幕助手

构建自动化弹幕助手,实时响应观众消息、指令和礼物。

数据分析

跨直播间追踪观众数、互动率、礼物收入和弹幕活跃度。

互动游戏

让观众通过礼物、弹幕指令和点赞控制游戏元素。

直播叠加层

制作 OBS / Streamlabs 叠加层,展示弹幕、礼物提醒和观众数据。

主播挖掘

跟踪主播排名、头部送礼用户和联赛排名,发现并培养人才。

移动应用

构建可监控 TikTok LIVE 直播并与之互动的移动应用。

查看更多使用场景 →

TikTool vs Euler Stream vs tiktok-live-connector

开源库 tiktok-live-connector(Node.js)和 TikTokLive(Python)由运营 Euler Stream 的同一团队维护。二者共同构成了一个维护良好的生态:MIT 许可的客户端加托管签名后端。TikTool 是一款独立的托管替代方案,拥有自有签名基础设施,功能侧重点也不同。

功能TikToolTikTokLive (Python)tiktok-live-connectorEuler Stream
托管服务✓ 托管自托管客户端自托管客户端✓ 托管
Node.js SDK✓ 官方✗✓ 官方✓ eulerstream
Python SDK✓ 官方✓ 官方✗✓ 通过 TikTokLive
公会情报(排行榜、联赛)✓✗✗✗
送礼用户情报(LTV、用户画像)✓✗✗✗
实时排行榜✓ 实时✗✗✗
PK 历史 + 时间线✓ 按场次✗✗✗
联赛排名✓ Diamond Rush✗✗✗
实时提醒✓ Discord + Telegram✗✗✗
Sniper Gap(实时 PK 追踪)✓✗✗✗
公会 CRM + 观察名单✓✗✗✗
公开主页(主播 + 送礼用户)✓ 已索引✗✗✗
免费套餐✓ 5,000 次请求/天✓ MIT 许可✓ MIT 许可✓ 1,000 次请求/天
WebSocket API✓ 任意语言仅 Python仅 Node.js✓
验证码处理✓ 内置通过签名后端通过签名后端✓ 内置

价格与免费套餐

免费开始使用 TikTok LIVE API 进行开发,无需信用卡。

套餐WebSocketREST价格
Sandbox3 个并发(50/24 小时)5,000/天Sandbox 套餐
Pro50 个并发75,000/天$15/周
Ultra250 个并发300,000/天$45/周
Agency500 + Firehose1,000,000/天$119/周

常见问题

有没有获取直播数据的公开 API?

TikTok LIVE API 免费吗?

TikTok LIVE API 支持哪些编程语言?

TikTool 与开源直播库有什么不同?

可以从 TikTok LIVE 直播中获取哪些数据?

延迟是多少?

可以构建 TikTok LIVE 弹幕助手吗?

可以同时监控多少个直播间?

TikTool 与 Euler Stream 相比如何?

对开发者来说,TikTool 比 TikFinity 更好吗?

可以用 TikTok LIVE API 做直播数据分析吗?

TikTok LIVE API 能配合 OBS 和 Streamlabs 使用吗?