HuggingFace镜像/tiktok-videos-4b
数据集
数据集查看器
文件和版本

TikTok 视频:45 亿条帖子数据集

分步指南及获取爬虫代码的入口: tiktok-api.seeksocial.io。

45 亿条 TikTok 视频记录,包含文案、互动数据、音频标识符和时间信息。数据通过 TikTok 移动 API 采集,历时约三周。每个 content_id 恰好出现一次。

据我所知,这是目前规模最大的公开 TikTok 数据集。它按原样发布,供研究使用。

数据内容

共 27 个 Parquet 文件,采用 zstd 压缩,总大小约 289 GB。每行对应一条视频。

字段类型说明
content_iduint64TikTok 的视频 ID。在整个数据集中唯一
create_timedatetime视频发布时间
descstring文案,即创作者撰写的内容
mentionslist[uint64]视频中标记的账号 ID
durationuint16时长(秒)
is_videouint81 表示视频,0 表示图片帖
music_iduint64使用的音频。跨视频关联键
music_titlestring音频名称
viewsuint64采集时的播放量
likesuint64
commentsuint64评论数
sharesuint64
savesuint64收藏数。往往是某条内容开始走热的最早信号
countrystring两位字母国家代码
languagestring语言代码
is_aduint8标记为赞助内容

快速开始

import duckdb

# Query it without loading it. No unpacking, no full download needed.
duckdb.sql("""
  SELECT music_id, music_title, count(*) AS videos, sum(views) AS plays
  FROM 'videos-*.parquet'
  WHERE create_time >= '2025-01-01'
  GROUP BY 1, 2 ORDER BY plays DESC LIMIT 20
""").show()
import pandas as pd
df = pd.read_parquet("videos-00.parquet", columns=["content_id", "views", "desc"])
from datasets import load_dataset
ds = load_dataset("kuben-developer/tiktok-videos-4b", streaming=True)

一个文件约 10 GB,包含约 1.67 亿个视频,因此在拉取全部 27 个文件之前,先从一个文件开始。

数据是如何采集的

通过 TikTok Android 应用使用的私有 HTTP API 进行采集,而不是通过 Web 端点或无头浏览器。请求会像应用一样进行签名,并且来自匿名设备注册。整条流程中没有任何登录环节,没有账号,也没有会话 Cookie,因此这里的内容都不属于账号权限限制的内容。

完整方法说明见: https://tiktok-api.seeksocial.io.

使用之前需要知道的事项

这些计数是快照,而非时间序列。 每个互动数值都是该行在约三周采集窗口内某个采集时刻的数值。第一天采集的视频和第二十天采集的视频,积累观看量的时间不同。在没有按视频年龄进行归一化的情况下,不要直接比较相距较远的 create_time 值对应的原始计数。

数据行按创作者分组,未打乱。 导出保留了存储顺序,因此会把每位创作者的视频聚集在一起。如果你要基于这些数据训练,请打乱顺序。顺序读取会形成高度相关的批次。

未包含创作者身份信息。 没有作者 ID、用户名或资料数据。你可以按声音、话题标签提及或视频文案对视频进行分组,但不能按发布者进行分组。这是有意为之。

未包含媒体 URL。 TikTok 的 CDN 链接带有签名过期参数,几天内就会失效,因此提供 539 GB 的链接只会得到 539 GB 的死链。

覆盖范围是样本,而非普查。 这是 32 个存储分区中的 27 个,按创作者 ID 的哈希值划分,因此它是已采集内容的一个无偏随机子集,而不是经过筛选的子集。而已采集的内容本身也并不是 TikTok 的全量内容。

已按 content_id 去重。 源表中约有 10% 的重复行来自重叠的采集批次。这些重复行已合并,每个视频只保留最近一次采集到的版本。

country 和 language 是 TikTok 的标签,由 TikTok 推断得出,并未经过验证。它们的错误率较高,不应将其视为真实基准值。

许可与负责任使用

本数据集仅面向研究和教育用途发布。

字幕由真实人员撰写,无论是否公开发布,该数据集在 GDPR、UK GDPR 和 CCPA 下均属于个人数据。如果您所在的司法辖区适用上述法规,那么从下载之时起,相关义务就由您承担。请勿使用本数据识别、画像、定向或联系个人。

本数据的采集违反了 TikTok 的服务条款。该数据集与 TikTok 或 ByteDance 无关联、未获其认可,亦无任何联系。

如果您被包含在本数据中并希望删除您的相关记录,请在此仓库中开启讨论。