问答

怎么根据链接拿到 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。

想搭一套更完整的监测,可以看竞品监测方案。

更新于