问答

有没有能按关键词搜索 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 和 url
  • author:用户名、昵称、是否认证
  • 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:只看二三十条视频的话,手机上搜一下最省事。

跨平台做一次完整的选题调研,可以参考内容调研方案。TikTok 全部接口的价格见价格页。

更新于