问答
怎么根据链接拿到 YouTube 视频的播放量和点赞数?
简短回答
把链接交给 YouTube 视频详情接口(/v1/youtube/videos/get),读 metrics.views、metrics.likes 和 metrics.comments:每个视频 $0.004,普通链接、youtu.be 短链和 Shorts 链接都能用,不需要 Google key。已经有 Google Cloud 项目的话,官方 videos.list 返回同样的数字,只消耗 1 个配额单位。
一家代理公司给客户投了 40 条 YouTube 合作视频,每天早上要报播放量。现在是有人挨个点开链接,把数字抄进表格。头一周还行,后来总有哪天会忘。给每个链接定时调用一次接口,就不用再靠人记了。
一个链接一次调用
YouTube 视频详情接收 url(普通观看链接、youtu.be、/shorts/、/embed/、/live/ 都可以)或 id。返回 title、published_at、频道名称和 handle,简介放在 text 里,各项数字在 metrics 下。
curl -s -G "https://api.okdata.online/v1/youtube/videos/get" \
-H "Authorization: Bearer $OKDATA_API_KEY" \
--data-urlencode "url=https://www.youtube.com/watch?v=dQw4w9WgXcQ" \
-d fields=id,title,published_at,metrics.views,metrics.likes,metrics.comments
响应里还有 meta.fetched_at,和数字一起存下来。播放量只有配上读取时间才有意义。
每天 40 个视频要花多少
| 任务 | 调用次数 | 费用 |
|---|---|---|
| 查一个视频一次 | 1 | $0.004 |
| 40 个视频,每天一次,持续 30 天 | 1,200 | $4.80 |
| 1,000 次查询 | 1000 | $4.00 |
调用失败、视频已经不存在(not_found)都不扣费。
官方 API 的账要算清楚
单看这个任务,Google 的 YouTube Data API 很难被比下去。videos.list 每次 1 个配额单位,一次最多查 50 个 ID,每个项目每天免费 10,000 单位(见配额表)。40 个视频的日报一天只用 1 个单位。能建 Google Cloud 项目、能保管好 API key,就用官方的。
下面几种情况,用 okdata 更合适:
- 不想维护 Google Cloud 项目,也不想操心配额和密钥;
- 同一份报表还要跟踪 TikTok 和 X 的帖子,希望一个 key、一种返回格式;
- 由 AI 智能体通过 MCP 服务在一个更大的任务里顺手查数字。
容易忽略的地方
- 没有订阅数。 不返回频道的订阅人数,
author.followers为 null,并写在meta.unavailable里。 - 没有分享和收藏数。 YouTube 不公开展示,所以是 null。
- 隐藏的点赞。 作者隐藏了点赞数时,
metrics.likes可能是 null。 - 只有当下的快照。 没有历史数据接口,要定时调用,自己攒时间序列。
- 额外字段按需要。 加
view=full会多出ext.duration_ms、ext.genre和ext.is_paid_promotion。
想搭一套更完整的监测,可以看竞品监测方案。
更新于