什么是 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 直播基础设施之间,架构如下:
应用发起连接
你的应用携带 TikTok 用户名和 API Key,打开到 wss://api.tik.tools 的 WebSocket 连接。
TikTool 完成解析
TikTool 解析直播间 ID,处理鉴权和验证挑战,并加入直播间。
事件实时推送
实时事件(弹幕、礼物、观众等)以干净的 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 环境变量读取。
快速开始:原生 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观众数更新,包含当前观众数和观众贡献榜。
battlePK / 连线事件,包含 PK 状态、队伍、比分和参与者。
battleArmiesPK 阵营更新,包含队伍比分和参与者排名。
roomPin主播置顶或标星了一条弹幕。
captionTikTok 原生直播自动字幕,每帧一个字幕窗口。
envelope直播间内的宝箱或红包事件。
emote观众在弹幕中发送的自定义表情。
liveIntro直播简介更新,即标题和描述的变更。
streamEnd直播已结束,包含原因代码。
connected已成功连接到 TikTok 直播间。
error发生连接错误,包含错误详情。
你可以构建什么?
弹幕助手
构建自动化弹幕助手,实时响应观众消息、指令和礼物。
数据分析
跨直播间追踪观众数、互动率、礼物收入和弹幕活跃度。
互动游戏
让观众通过礼物、弹幕指令和点赞控制游戏元素。
直播叠加层
制作 OBS / Streamlabs 叠加层,展示弹幕、礼物提醒和观众数据。
主播挖掘
跟踪主播排名、头部送礼用户和联赛排名,发现并培养人才。
移动应用
构建可监控 TikTok LIVE 直播并与之互动的移动应用。
TikTool vs Euler Stream vs tiktok-live-connector
开源库 tiktok-live-connector(Node.js)和 TikTokLive(Python)由运营 Euler Stream 的同一团队维护。二者共同构成了一个维护良好的生态:MIT 许可的客户端加托管签名后端。TikTool 是一款独立的托管替代方案,拥有自有签名基础设施,功能侧重点也不同。
eulerstream价格与免费套餐
免费开始使用 TikTok LIVE API 进行开发,无需信用卡。