概览
YouTube 评论记录了观众对视频内容最直接的反馈,也保留点赞、回复和创作者互动等公开信号。这份数据把单个公开视频下的评论整理成明细,每条包含正文、作者、发布时间、互动数量和所属视频信息。
相比人工滚动浏览评论区,结构化评论更适合作为内容复盘、受众研究和社区运营的原始底表,可以快速定位高互动观点并观察讨论变化。
数据说明
数据来自公开可访问的 YouTube 视频评论区,按发布时间从新到旧返回,并按评论编号去重。记录可能是顶层评论,也可能是回复,可通过父评论编号和评论类型区分。正文、互动数、频道信息及创作者爱心以采集时的公开展示内容为准;时间保持数据源文本,不推断未注明的时区。私密视频、已删除评论、关闭评论区的视频及不可公开访问的内容不在覆盖范围内。
结果长什么样
每条记录代表一条公开评论或回复:
| 评论编号 | 评论正文 | 点赞数 | 回复数 |
|---|---|---|---|
| UgwnKwe6YJKooQl-JaZ4AaABAg | 年纪渐长,觉得这种大按钮设计很实用 | 1 | 0 |
| Ugx7mP9Q2LcN4sT8AaABAg | Great explanation, thank you! | 12 | 2 |
另有视频编号、作者标识、父评论编号、发布时间、频道主作者和创作者爱心等信息。
应用场景
- 做观众反馈分析时,结合「评论正文」「点赞数」和「回复数」,识别最受认同或争议最大的观点。
- 做社区互动复盘时,联看「频道主作者」「创作者爱心」和「作者标识」,观察创作者回应观众的情况。
- 做热度追踪时,按「发布时间」汇总评论数量,并用「评论正文」判断讨论主题变化。
- 梳理讨论关系时,使用「评论编号」「父评论编号」和「评论类型」还原评论与回复的关联。
适用边界
单次任务采集一个 YouTube 视频,目标评论数为 1 至 1000 条;仅覆盖公开可访问且采集时仍可见的评论。
- 适合用于
- 需要批量获取单个 YouTube 视频的公开评论明细时
- 需要分析评论内容、互动量或创作者参与情况时
- 不要用于
- 需要采集多个视频时——请为每个视频分别提交任务
- 需要私密、已删除或关闭评论的视频数据时——本 App 仅覆盖公开可见评论
失败处理
作者声明的失败与重试处理方式,接入时建议一并写进系统提示词。
- 1返回空结果时,先确认视频可公开访问且评论区已开启
- 2限流、服务暂不可用或请求超时可稍后原样重试
- 3鉴权失败需先检查执行环境中的 API Key 配置;任务失败或过期后可重新提交
输入参数
调用本 App 需要传入的参数,与 manifest.json 的 input.schema 同源。
| 字段名 | 业务名称 | 类型 | 必填 | 默认值 | 枚举 / 约束 | 示例 | 说明 |
|---|---|---|---|---|---|---|---|
| video_url | 视频链接 | string | 是 | — | — | https://www.youtube.com/watch?v=mpUwmWy_tlg | 要采集评论的 YouTube 视频完整链接,仅支持单个公开可访问视频;链接无效或视频不可访问时可能返回空结果 |
| comment_count | 目标评论数 | integer | 是 | — | 1–1000 | 1 | 希望采集的评论数量,最少 1 条、最多 1000 条;实际返回可能少于该值 |
输出数据
单条记录的字段结构,与 manifest.json 的 output.schema 同源。
| 字段名 | 业务名称 | 类型 | 示例 | 说明 |
|---|---|---|---|---|
| comment_id | 评论编号 | string | — | 评论在 YouTube 中的稳定唯一标识 |
| video_id | 视频编号 | string | — | 评论所属 YouTube 视频的标识 |
| parent_comment_id | 父评论编号 | string | — | 回复所对应的父评论标识,顶层评论通常为空 |
| author_id | 作者标识 | string | — | 评论作者的 YouTube 用户标识 |
| author_avatar_url | 作者头像 | string | — | 评论作者头像图片链接 |
| comment_text | 评论正文 | string | — | 评论或回复的文本内容 |
| published_at | 发布时间 | string | — | 评论的发布时间,保持数据源返回的时间文本 |
| relative_published_time | 相对时间 | string | — | 页面展示的相对发布时间文本,如 1 年前 |
| crawled_at | 采集时间 | string | — | 该条评论被采集的时间,保持数据源返回的时间文本 |
| like_count | 点赞数 | string | — | 评论获得的点赞数量,保持数据源返回的原始文本 |
| reply_count | 回复数 | string | — | 评论获得的回复数量,保持数据源返回的原始文本 |
| comment_type | 评论类型 | string | — | 区分顶层评论与回复的类型值 |
| is_channel_owner | 频道主作者 | boolean | — | 评论作者是否为视频所属频道的频道主 |
| has_creator_heart | 创作者爱心 | boolean | — | 评论是否获得视频创作者的爱心标记 |
| video_url | 视频地址 | string | — | 评论所属视频的完整 YouTube 链接 |
| channel_name | 频道名称 | string | — | 评论所属视频频道的名称 |
记录 Schema
输出按记录逐条返回。记录主键为 comment_id,去重、增量、关联以它为准。
{
"type": "object",
"properties": {
"comment_id": {
"type": "string",
"title": "评论编号",
"description": "评论在 YouTube 中的稳定唯一标识"
},
"video_id": {
"type": "string",
"title": "视频编号",
"description": "评论所属 YouTube 视频的标识"
},
"parent_comment_id": {
"type": "string",
"title": "父评论编号",
"description": "回复所对应的父评论标识,顶层评论通常为空"
},
"author_id": {
"type": "string",
"title": "作者标识",
"description": "评论作者的 YouTube 用户标识"
},
"author_avatar_url": {
"type": "string",
"title": "作者头像",
"description": "评论作者头像图片链接"
},
"comment_text": {
"type": "string",
"title": "评论正文",
"description": "评论或回复的文本内容"
},
"published_at": {
"type": "string",
"title": "发布时间",
"description": "评论的发布时间,保持数据源返回的时间文本"
},
"relative_published_time": {
"type": "string",
"title": "相对时间",
"description": "页面展示的相对发布时间文本,如 1 年前"
},
"crawled_at": {
"type": "string",
"title": "采集时间",
"description": "该条评论被采集的时间,保持数据源返回的时间文本"
},
"like_count": {
"type": "string",
"title": "点赞数",
"description": "评论获得的点赞数量,保持数据源返回的原始文本"
},
"reply_count": {
"type": "string",
"title": "回复数",
"description": "评论获得的回复数量,保持数据源返回的原始文本"
},
"comment_type": {
"type": "string",
"title": "评论类型",
"description": "区分顶层评论与回复的类型值"
},
"is_channel_owner": {
"type": "boolean",
"title": "频道主作者",
"description": "评论作者是否为视频所属频道的频道主"
},
"has_creator_heart": {
"type": "boolean",
"title": "创作者爱心",
"description": "评论是否获得视频创作者的爱心标记"
},
"video_url": {
"type": "string",
"title": "视频地址",
"description": "评论所属视频的完整 YouTube 链接"
},
"channel_name": {
"type": "string",
"title": "频道名称",
"description": "评论所属视频频道的名称"
}
},
"required": [],
"additionalProperties": false
}调用方式
本 App 支持通过 MCP、API、SDK 与文件导出方式接入,各接入方式共享同一套能力与计价。所有请求统一使用 Authorization: Bearer 请求头完成身份认证,凭证为 API Key(长期有效,在开放平台创建);MCP 客户端另支持 OAuth 免密钥登录。CLI、Skill 等更多接入方式正在规划中。
通过 MCP(Model Context Protocol)协议,可在 Claude、Cursor 等 AI 客户端中直接调用本 App。选择你的客户端与认证方式,复制下方配置即可接入。
客户端配置
把 Bearer 后替换为长期有效的 API Key 即可,各类客户端与 CI、无浏览器环境通用。
{
"mcpServers": {
"mona_kk__youtube-video-comments": {
"type": "http",
"url": "https://mcp-v2.bazhuayu.com?pin=mona_kk/youtube-video-comments",
"headers": { "Authorization": "Bearer <YOUR_API_KEY>" }
}
}
}让 AI 自己完成配置
不想手动改配置?复制安装提示词,粘贴到任意 AI 客户端对话框,由它按自身方式完成接入(提示词会让 AI 向你索要 API Key,避免凭证留在对话记录或共享配置里)。
如需在同一个 MCP 连接里指定多个 App,前往 MCP 连接页(已为你指定本 App)。
价格
每提交一次任务计费一次,与返回条数无关。
按实际成功返回的数据条数计费,任务失败不计费。每 20 条为一个计费单位,不足 20 条按 20 条计。
多个计费事件按各自口径独立累计,具体以每一项说明为准;任务失败不计费。
立即体验
填写参数直接运行,结果来自真实调用。