问答

抖音热搜的历史数据去哪里找?

简短回答

抖音自己只展示此刻的榜单,历史数据只能靠有人持续去拉、去存。用 okdata 可以自建存档:一次调用拿到整张榜单,$0.002;每小时存一次,一个月 $1.44,一年 $17.52。

研究舆论注意力怎么流动的学者,或者想确认去年春天那次营销有没有上过热榜的品牌,需要的是几周、几个月前榜单的样子。抖音不提供这个。App 里只有当前的榜单,一个话题掉出去,就从榜上消失了。凡是存在的历史数据,都是当时有人在持续抓取并保存下来的。

从现在开始记录

抖音热搜榜一次调用就返回完整的当前榜单,约 50 条,每条有排名、热词和热度。每份快照连同 meta.fetched_at 一起存下来,从今天起你就有了一条时间序列。

频率 每月调用 每月 每年
每天 9 点一次 30 $0.06 $0.73
每小时一次 720 $1.44 $17.52
每 10 分钟一次 4,320 $8.64 —

一般选每小时一次:很多话题几个小时内就上榜又下榜,每天一次会漏掉。

最简单的存档脚本

# crontab: 0 * * * *  python3 archive_douyin_hot.py
import json, os, requests

r = requests.get(
    "https://api.okdata.online/v1/douyin/trends/list",
    headers={"Authorization": f"Bearer {os.environ['OKDATA_API_KEY']}"},
    timeout=60,
)
body = r.json()
if body["code"] == "ok":
    with open("douyin_hot.jsonl", "a", encoding="utf-8") as f:
        f.write(json.dumps({"at": body["meta"]["fetched_at"], "items": body["data"]["items"]}, ensure_ascii=False) + "\n")

调用失败不扣费,记一笔日志,下一个小时会补上。有了这份 JSONL,就能算出每个热词第一次上榜的时间、最高排名和在榜时长。

限制

  • 不能回溯。开始记录之前的榜单,API 给不了。
  • 只有主榜,没有抖音的分类榜单。
  • heat 是抖音自己的热度指数,适合在同一份快照里排序、看随时间的变化,不是精确的搜索次数。

历史数据还能从哪来

  • **热榜存档类开源项目。**GitHub 上有一些项目每天保存各平台热榜快照,其中包括抖音。用之前先确认它覆盖的日期和频率是否满足你的需要。
  • **巨量算数。**能看一个关键词在一段时间里的搜索热度,就算某个话题从没上过榜,也能回答它当时有多热。
  • **抖音创作者工具。**抖音热点宝给创作者展示近期热点和分析。

如果你关心的是已经过去的某段时间,先去这些地方找。往后的数据,自己按小时存档是最完整的。团队拿这份存档能做什么,可以看趋势研究方案。

更新于