# 怎么用 API 拿到 YouTube 视频的标签和简介？

> 读取任意公开 YouTube 视频隐藏的标签和完整简介，再统计同领域热门视频都在用哪些标签。单个视频的价格和 Python 示例。

网页版：https://okdata.online/zh/answers/youtube-video-tags-api/

**简短回答：**YouTube 视频详情接口在 hashtags 字段返回作者设置的标签，在 text 字段返回完整简介，每个视频 $0.004。要研究一个领域，先搜索：一页搜索结果加上前 20 个视频的详情，共 $0.084。

YouTube 不向观众显示视频标签，所以能把标签翻出来的浏览器插件才那么受欢迎。假如你在策划家用意式咖啡的选题，想看看播放量最高的 20 个视频都用了哪些标签、简介怎么写，用插件就得点 20 次、抄一大堆。写个循环调两个接口，几秒钟就完事。

## 标签和简介在哪

[YouTube 视频详情](/zh/apis/youtube/videos/get/)传链接或 ID，返回：

- `hashtags`：作者给视频设置的标签（YouTube 叫 keywords）。写在简介里的 # 话题仍然算简介正文的一部分。
- `text`：完整简介，包括链接、章节和赞助口播信息。
- `title`、`published_at`、`metrics.views`、`metrics.likes`、`metrics.comments`，以及频道名称和 handle。
- 加 `view=full` 时还有 `ext.genre`（分类）、`ext.duration_ms` 和 `ext.is_paid_promotion`。

## 统计一个领域的标签

```python
import os, requests
from collections import Counter

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

def get(path, **params):
    body = requests.get(f"{API}/{path}", headers=H, params=params, timeout=60).json()
    if body["code"] != "ok":
        raise RuntimeError(f"{body['code']}: {body['message']}")
    return body["data"]

hits = get("youtube/videos/search", query="home espresso", sort="most_viewed")["items"][:20]
tags = Counter()
for v in hits:
    video = get("youtube/videos/get", id=v["id"], fields="title,hashtags")["item"]
    tags.update(t.lower() for t in (video["hashtags"] or []))

for tag, n in tags.most_common(25):
    print(f"{n:>2}  {tag}")
```

## 费用

| 任务 | 调用次数 | 费用 |
|---|---|---|
| 一个视频的标签 | 1 | $0.004 |
| 一个主题的前 20 个视频 | 1 次搜索 + 20 | $0.084 |
| 5 个主题，每个 20 个视频 | 5 + 100 | $0.42 |

搜索结果里没有标签，真正起作用的是详情这一次调用。

## 心里要有数的地方

- 不少热门视频根本没设标签，`hashtags` 返回空或 null。YouTube 官方也说标签在推荐里作用不大，把它当成了解作者思路的线索，别当成排名公式。
- 简介往往更有参考价值：前两行、章节时间点和链接都在 `text` 里。
- 不返回频道订阅数。
- 视频被删除或设为私享时返回 `not_found`，不扣费。

## 其他办法

- **官方 Data API。** `videos.list` 带 `part=snippet` 就有 `tags` 和简介，一次最多 50 个视频，只花 1 个配额单位。有 Google key、视频清单也现成的话，这条路更省钱。
- **标签查看插件。** 用眼睛看一两个视频，足够了。
- **解析网页源码。** YouTube 一改页面结构就失效，这类爬虫经常坏就是这个原因。

跨 YouTube 和其他平台做选题研究，可以看[内容研究方案](/zh/solutions/content-research/)。

## 用到的接口

- [YouTube 视频详情](https://okdata.online/zh/apis/youtube/videos/get/) `youtube.videos.get`：$0.004/次
- [YouTube 视频搜索](https://okdata.online/zh/apis/youtube/videos/search/) `youtube.videos.search`：$0.004/次 · 每页约 20 条视频

更新于 2026-11-12
