YouTube API
10 个接口读 YouTube:视频、帖子、频道、评论。一次 $0.0020 起。不用登录 YouTube,不用 Cookie;失败不收费。
YouTube 的 10 个接口,各取什么
- YouTube 频道资料:按频道编号或账号名取 YouTube 频道资料:名称、简介、订阅数、视频数、总播放数、是否认证、创建日期。
- YouTube 频道搜索:按搜索词找 YouTube 频道:名称、账号名、简介、订阅数、是否认证。
- YouTube 频道视频:按频道编号或账号名取一页该 YouTube 频道的视频或 Shorts,可按最新或最热排:标题、简介、发布时间、播放数、点赞数、时长。
- YouTube 评论回复:用评论列表给的回复标识,取一页这条 YouTube 评论下的回复:正文、回复者、点赞数。
- YouTube 视频评论:按视频编号或链接取一页 YouTube 评论,可按热门或最新排:正文、评论者、点赞数、回复数,以及取回复用的标识。
- YouTube 视频详情:按视频编号或链接取一个 YouTube 视频:标题、简介、频道、发布时间、播放数、点赞数、评论数、时长。
- YouTube 视频搜索:按搜索词找 YouTube 视频,可按相关或播放数排、按发布时间筛:标题、频道、播放数、时长。
- YouTube 视频字幕:按视频编号或链接取 YouTube 视频的字幕全文和带时间的分段。
- YouTube 频道帖子:按频道编号或账号名取一页该 YouTube 频道“帖子”栏(原“社区”)里的帖子,从最新的开始:正文、图片、点赞数、附带的视频。
- YouTube 帖子详情:按帖子编号或链接取一条 YouTube 频道帖子(原“社区”帖):正文、频道、图片、点赞数、附带的视频。
调一次,拿回来的样子
录下来的真实返回,字段已经整理好,直接给 AI 或表格用。2026-10-12 18:50 UTC 录下的真实返回,这里是前 2 行。
在 Playground 里跑一次 · $0.0020{
"code": "ok",
"request_id": "2f106ec5-c4a3-42e6-9af6-a2ffd5848816",
"data": {
"items": [
{
"id": "TMvQhQaH-rq",
"url": "https://www.youtube.com/watch?v=TMvQhQaH-rq",
"type": "video",
"title": "I tried meteor shower for 30 days. Here is what happened",
"author": {
"id": "UCee61G0GfCvYQ4K3j4BgnU5",
"username": "maya.makes",
"name": "Northside Coffee",
"avatar_url": "https://yt3.ggpht.com/slva_3aFP2TCzQu0m-ZM4MLuiZ8Oe90XwjxhzkFn=s88-c-k-c0x00ffffff-no-rj"
},
"metrics": { "views": 1840 },
"images": ["https://i.ytimg.com/vi/D0fStB6ZVGr/hqdefault.jpg"]
},
// … 另有 19 条
]
},
"page": {
"next_cursor": "c1.8SROT5T8n_nqIVHBOaV7N-2SYvyHFY8uAkBYxJvF",
"cursor_expires_at": "2026-10-12T19:50:45.000Z",
"has_more": true,
"returned": 20
},
"warnings": [],
"meta": {
"capability": "youtube.videos.search",
"result_status": "complete",
"fetched_at": "2026-10-12T18:50:45.000Z",
"cached": false,
"replayed": false,
"unavailable": {
"text": "capability",
"lang": "capability",
"published_at": "capability",
"author.verified": "capability",
"author.followers": "capability",
"metrics.likes": "capability",
"metrics.comments": "capability",
"metrics.shares": "platform",
"metrics.favorites": "platform",
"metrics.reposts": "platform",
"hashtags": "capability",
"mentions": "capability",
"is_pinned": "platform",
"post_id": "platform",
"parent_id": "platform",
"root_id": "platform"
},
"billing": {
"amount": "0.002",
"currency": "USD",
"balance_after": "9.998"
}
}
}取自 2026-10-12 18:50 UTC 录下的真实返回。名字、正文和编号是示例,链接也是,都不是录到的原文(页面不展示任何人的个人信息);数字是原样。长列表做了截断。请求号、游标和余额是示意。
能拿到什么
每一行是一个接口:返回什么,一次多少钱。
大家拿它做什么
你的 AI 现在就能用 YouTube 数据跑的现成任务。每个任务是几次调用,带花费上限。
在 Claude、Cursor 里直接问 YouTube
加上 DataXAPI 的 MCP,AI 会自己找到合适的 YouTube 接口去调,回答里带原始链接。花多少钱按调了哪些接口算。
https://api.dataxapi.com/mcp三步开始
这里演示的是 YouTube 视频搜索。YouTube 的其他接口都是同样的调法,返回同样的格式。
拿一把 Key
用邮箱验证码或 Google 登录。可免费试用,不用绑卡。
自己调,或者让你的 AI 调
代码里一次 GET。或者把下面这段话带着你的 Key 贴给你的 agent:它自己接好,然后能自己找到并调用这些接口。
每次读到的都是同一种格式
数据在 data.items(单个对象在 data.item),下一页在 page.next_cursor,扣了多少在 meta.billing.amount。失败不扣费。
curl -G "https://api.dataxapi.com/v1/youtube/videos/search" \ --data-urlencode "query=meteor shower" \ -H "Authorization: Bearer $DATAXAPI_API_KEY"
# pip install dataxapi from dataxapi import DataXAPI dx = DataXAPI() # reads DATAXAPI_API_KEY result = dx.youtube.videos.search(query="meteor shower") print(result["data"]["items"])
// npm i @dataxapi/sdk import { DataXAPI } from "@dataxapi/sdk"; const dx = new DataXAPI(); // reads DATAXAPI_API_KEY const result = await dx.youtube.videos.search({ query: "meteor shower" }); console.log(result.data.items);
dataxapi call youtube.videos.search 'query=meteor shower'{
"mcpServers": {
"dataxapi": {
"type": "http",
"url": "https://api.dataxapi.com/mcp",
"headers": {
"Authorization": "Bearer ${DATAXAPI_API_KEY}"
}
}
}
}把这段加进你的 MCP 客户端,然后让你的 AI 调用 youtube.videos.search。
边界情况
YouTube 这些接口在边界上怎么表现,以及调用结果不对时先看哪里。
- 每页条数
- 列表每页 10 到 100 条,各接口不同。每个列表都能翻页:把
page.next_cursor作为cursor传回,每一页是一次单独的调用。 - 给不了的字段
- 10 个接口里有 9 个填不满它返回的对象。每个接口的页面列出了给不了哪些,每次返回也在
meta.unavailable里再写一遍:缺的字段不会被悄悄写成 0。 - 对象不存在时读起来像空结果
- YouTube 频道视频、YouTube 评论回复、YouTube 频道帖子:对象不存在和对象下面没有东西分不出来,所以返回空结果而不是 404。
- 频道编号或账号名
- 频道用编号(UC 开头)或不带 @ 的账号名。取帖子分栏时,不存在的账号名返回 404;不存在的频道编号返回空列表。
- 取回复要用回复标识
- 取评论回复用视频评论接口返回的
ext.replies_token(完整档才有),不是评论编号;传评论编号会被拒。 - Shorts 只有一页
- 用
type=short取频道的 Shorts,只有一页,没有下一页,每条也不带频道信息。 - 有些数是约数
- 订阅数只有三位有效数字,和 YouTube 页面上显示的一样;评论和帖子的点赞数过千就是约数。视频搜索不带点赞数、简介和准确的发布时间。
- 没字幕就没有文字稿
- 没有字幕的视频按不存在返回,不扣费。watch、shorts、embed、live、youtu.be 这几种链接都能用。
关于 YouTube API 的常见问题
回答从简,细节在各接口的页面。
通过 API 能拿到 YouTube 的哪些数据?
10 个接口:视频、帖子、频道、评论。每个接口的页面写明参数、返回字段,并附一份录制的真实返回。
怎么调用 YouTube API?
注册拿一把 Key,放进请求头 Authorization: Bearer <key>,按接口的地址发请求,比如 GET https://api.dataxapi.com/v1/youtube/channels/get。也可以把 DataXAPI 接进 Claude、Cursor 或 ChatGPT(MCP),用一句话让 AI 去调。注册可免费试用,不用绑卡。
YouTube 接口的返回给 AI 用,占多少 token?
YouTube 的 10 个接口各取一份录制的真实返回,平台原始 JSON 合计 5.3 万 token,AI 通过 DataXAPI 的 MCP 读到的只有 1.8 万 token,少 66%;直接调接口拿到的 JSON 也少 37%(2026-11-06 统计)。所有平台同一套字段名,用 fields 还能只取你要的字段。
YouTube API 怎么收费?
按次收费,没有订阅。10 个接口都是一次 $0.0020。拿到数据才扣费,失败不收。
需要 YouTube 账号或 Cookie 吗?
不需要。你只拿一把 DataXAPI 的 Key:不用登录 YouTube,不用 Cookie,也不用养设备。接口只返回公开可见的数据。
数据是实时的吗?
每次调用都当场去 YouTube 取,meta.fetched_at 写明取到的时间。结果保留 24 小时,带同一个 Idempotency-Key 重试不会再扣一次。
YouTube 改版了怎么办?
调用失败不管什么原因都不扣费。被暂停的接口返回 capability_paused,同样不扣费;GET /v1/catalog/status 写着现在哪些能用。
相关
一把 Key 调 YouTube。
免费试用:按 $0.0020 一次,最多可调 50 次,不用绑卡。 不用登录 YouTube,不用 Cookie,没有订阅。失败不收费。