# 有没有一个 API 能同时监测品牌在 TikTok、YouTube 和 X 上的讨论？

> 用一个 key 每周跑一次 TikTok、YouTube 和 X 三个平台的品牌监测，三个平台返回同一种帖子结构：用哪些接口、每周花多少、代码和注意事项。

网页版：https://okdata.online/zh/answers/social-listening-api-tiktok-youtube-x/

**简短回答：**有。okdata 用一个 key 就能搜 TikTok（每页 $0.002）、YouTube（每页 $0.004）和 X（每页 $0.006），三个平台返回的帖子结构相同。每周扫一遍品牌，约 120 条 TikTok 视频、40 条 YouTube 视频外加热门视频评论、200 条 X 帖子，共 $0.156。

一位海外品牌经理每周一都想要一张表：上周 TikTok、YouTube 和 X 上关于产品的内容，按传播量排好。手工做要开三个 App、复制粘贴一上午；接三家官方 API，要申请三个开发者账号、对付三套鉴权和三种数据格式。在这里只需要一个 key，结果也只有一种结构：不管来自哪个平台，每条都是带 `url`、`text`、`published_at`、`author` 和 `metrics` 的帖子。

## 用到的接口

- [TikTok 视频搜索](/zh/apis/tiktok/videos/search/)：视频带播放、点赞、评论和分享数。
- [YouTube 视频搜索](/zh/apis/youtube/videos/search/)：视频带播放量、频道和发布时间；热门视频下的观众反馈用 [YouTube 视频评论](/zh/apis/youtube/videos/comments/list/)。
- [X 帖子搜索](/zh/apis/x/posts/search/)：帖子带浏览、点赞、回复和转发数，可以按最新排序。

## 每周扫一遍的费用

| 步骤 | 调用次数 | 费用 |
|---|---|---|
| TikTok 搜索 4 页（约 120 条视频） | 4 | $0.008 |
| YouTube 搜索 2 页（约 40 条视频） | 2 | $0.008 |
| 播放最高的 10 条 YouTube 视频，每条评论翻 2 页 | 20 | $0.08 |
| X 搜索 10 页（约 200 条帖子） | 10 | $0.06 |
| 合计 | 36 | $0.156 |

## 一个循环跑三个平台

```python
import csv, os, requests

API = "https://api.okdata.online/v1"
H = {"Authorization": f"Bearer {os.environ['OKDATA_API_KEY']}"}
BRAND = "glowlab serum"

def search(path, query, pages, **extra):
    cursor, out = None, []
    for _ in range(pages):
        params = {"query": query, **extra, **({"cursor": cursor} if cursor else {})}
        body = requests.get(f"{API}/{path}", headers=H, params=params, timeout=60).json()
        if body["code"] != "ok":
            raise RuntimeError(f"{path}: {body['code']} {body['message']}")
        out += body["data"]["items"]
        if not body["page"]["has_more"]:
            break
        cursor = body["page"]["next_cursor"]
    return out

rows = []
for platform, path, pages, extra in [("tiktok", "tiktok/videos/search", 4, {}),
                                     ("youtube", "youtube/videos/search", 2, {}),
                                     ("x", "x/posts/search", 10, {"sort": "latest"})]:
    for p in search(path, BRAND, pages, **extra):
        m = p["metrics"]
        rows.append([platform, p["url"], p["published_at"], p["author"]["username"], m["views"], m["likes"], (p["title"] or p["text"])[:120]])

rows.sort(key=lambda r: r[4] or 0, reverse=True)
csv.writer(open("weekly-sweep.csv", "w", newline="", encoding="utf-8")).writerows(rows)
```

## 三个平台的差别

- YouTube 搜索结果有播放量，但没有点赞数和评论数，这两个字段是 null，并写在 `meta.unavailable` 里。真正关心的几条视频再调视频详情补上。
- TikTok 和 YouTube 的搜索按相关性排序，选最新排序也不保证严格按时间排列。用 `published_at` 过滤，只留上周的。
- X 搜索支持 X 的高级语法，加上 `-from:你的品牌账号` 就能去掉品牌自己的帖子。
- TikTok 和 YouTube 的评论都只返回一级评论，附带回复数。

## 什么时候买舆情软件更划算

团队想要现成的看板、预警、情感打分和多年历史数据，又不想写代码，那舆情监测产品的订阅费是值得的。如果你更想把数据握在自己手里，喂给自己的模型，或者希望按调用付费，这个每周扫描就能完成核心工作。在此基础上做情感和话题标注，见[口碑监测方案](/zh/solutions/word-of-mouth/)；每个字段的含义见 [Post 对象说明](/zh/docs/objects/post/)。

## 用到的接口

- [TikTok 视频搜索](https://okdata.online/zh/apis/tiktok/videos/search/) `tiktok.videos.search`：$0.002/次 · 每页约 30 条视频
- [YouTube 视频搜索](https://okdata.online/zh/apis/youtube/videos/search/) `youtube.videos.search`：$0.004/次 · 每页约 20 条视频
- [X 帖子搜索](https://okdata.online/zh/apis/x/posts/search/) `x.posts.search`：$0.006/次 · 每页约 20 条帖子
- [YouTube 视频评论](https://okdata.online/zh/apis/youtube/videos/comments/list/) `youtube.videos.comments.list`：$0.004/次 · 每页约 20 条评论

更新于 2026-11-12
