问答
有没有能按关键词搜索 TikTok 视频的 API?
简短回答
有。TikTok 视频搜索(/v1/tiktok/videos/search)传一个关键词,每次调用 $0.002,返回一页约 30 条公开视频,带文案、作者、播放、点赞、评论和分享数。1,000 条视频需要 34 次调用,共 $0.068,不需要 TikTok 账号,也不用申请审核。
假设你在做一个防晒品牌的海外投放,想知道这周 TikTok 上搜 sunscreen review 会出来哪些视频、是谁拍的、播放多少。在 App 里翻十分钟、截一堆图也能看个大概。换成 API,一次请求就拿到同样的列表,而且是结构化数据,直接进表格或者交给模型分析。
用哪个接口
TikTok 视频搜索只有一个必填参数 query,写法和在 TikTok 搜索框里输入的一样,英文、西语、印尼语都可以。sort 选填:relevance(默认,按相关度)或 most_liked(按点赞)。每条视频返回:
text(文案)、hashtags、published_at和urlauthor:用户名、昵称、是否认证metrics.views、metrics.likes、metrics.comments、metrics.shares,以及收藏数metrics.favorites- 图文帖带
images;加view=full后,ext里还有时长、背景音乐和地区
价格
| 需求 | 调用次数 | 费用 |
|---|---|---|
| 一页(约 30 条) | 1 | $0.002 |
| 约 300 条 | 10 | $0.02 |
| 1,000 条 | 34 | $0.068 |
每一页返回时单独计费,翻几页付几页的钱。调用失败不扣费。
试一下
curl -s -G "https://api.okdata.online/v1/tiktok/videos/search" \
-H "Authorization: Bearer $OKDATA_API_KEY" \
--data-urlencode "query=sunscreen review" \
-d sort=most_liked \
-d fields=id,url,text,published_at,author.username,metrics
# 下一页:把 page.next_cursor 作为 cursor 传回
curl -s -G "https://api.okdata.online/v1/tiktok/videos/search" \
-H "Authorization: Bearer $OKDATA_API_KEY" \
--data-urlencode "query=sunscreen review" -d sort=most_liked \
--data-urlencode "cursor=<page.next_cursor>"
搜索做不到的事
- 没有国家和时间筛选。TikTok 只按相关度或点赞排序,传
sort=latest也不保证最新的排前面。要看最近的内容,自己按published_at排序,把太旧的丢掉。 - 搜索结果里作者的粉丝数是空的。真正关心的博主,再用 TikTok 账号信息查一下。
- TikTok 隐藏了播放量的视频,
metrics.views为 null,并在meta.unavailable里注明。 - 一个关键词能翻多少页由 TikTok 决定,
page.has_more为 false 时就停。
别的办法
- TikTok 官方 Research API:支持关键词、日期、地区查询,而且免费,但只开放给通过审核的非营利学术研究者。
- TikTokApi 这类开源库:靠真实浏览器去请求,不花钱,适合周末做个小项目。放到服务器上长期跑,常会碰到人机验证和空响应。
- 直接用 App:只看二三十条视频的话,手机上搜一下最省事。
更新于