Skip to content

获取 YouTube 视频评论高级结果

通过任务 id 获取 YouTube 视频评论抓取任务的高级结果。

接口说明

请求方式: GET请求地址:

https://api.seermartech.cn/v3/serp/youtube/video_comments/task_get/advanced/$id

$id 为任务唯一标识符,采用 UUID 格式。任务创建后,可在 30 天 随时调用本接口获取结果。

计费说明

本接口本身不会重复扣费;费用在创建任务时产生。任务提交后的 30 天,结果可查询。

扣费以响应头 X-SeerMarTech-Charge-CNY 为准。

路径参数

字段类型说明
idstring任务标识符,UUID 格式;可在任务创建后的 30 天用于获取结果

沙箱调试

你可以通过以下沙箱地址查看本接口可能返回的完整字段结构,响应中的字段为模拟数据:

https://sandbox.本平台.com/v3/serp/youtube/video_comments/task_get/advanced/00000000-0000-0000-0000-000000000000

沙箱接口不计费。

返回结果说明

接口返回 JSON 数据,顶层 tasks 数组。

顶层字段

字段类型说明
versionstring当前 API 版本
status_codeinteger接口通用状态码,完整列表见参考文档
status_messagestring接口通用状态信息,完整列表见参考文档
timestring执行耗时,单位秒
costfloat本次请求总成本,单位 USD
tasks_countintegertasks 数组中的任务数量
tasks_errorintegertasks 数组中返回错误的任务数量
tasksarray任务结果数组

tasks[] 字段

字段类型说明
idstring任务标识符,UUID 格式
status_codeinteger任务状态码,范围通常为 10000-60000
status_messagestring任务状态信息
timestring任务执行耗时,单位秒
costfloat该任务成本,单位 USD
result_countintegerresult 数组中的数量
patharray请求路径
dataobject与创建任务时 POST 请求中一致的参数
resultarray结果数组

result[] 字段

字段类型说明
video_idstringPOST 提交时传的视频 ID
se_domainstringPOST 提交时传的搜索引擎域名
location_codeintegerPOST 提交时传的地区编码
language_codestringPOST 提交时传的语言编码
check_urlstring搜索结果直达链接,可用于人工核验结果准确性
datetimestring结果抓取时间,UTC 格式:yyyy-mm-dd hh-mm-ss +00:00
spellobject搜索引擎自动纠错信息;若发生纠错,会返回修正后的及纠错类型
refinement_chipsobject搜索细分建议;该字段固定为 null
item_typesarray当前 SERP 中出现的结果类型;本接口可能值为 youtube_comment
titlestring视频标题
comments_countinteger视频评论总数
items_countintegeritems 数组中的结果数量
itemsarray评论结果列表

items[] 字段

字段类型说明
typestring素类型,固定为 youtube_comment
rank_groupinteger同类型结果组排名
rank_absoluteinteger在整个 SERP 中的绝对排名
author_namestring评论名称
author_thumbnailstring频道头像所在页面 URL
author_urlstring频道链接
textstring评论正文
publication_datestring页面展示的发布时间
timestampstring评论发布时间,UTC 格式:yyyy-mm-dd hh-mm-ss +00:00
likes_countinteger评论点赞数
reply_countinteger评论回复数

请求示例

cURL

bash
id="02261816-2027-0066-0000-c27d02864073"

curl --location --request GET "https://api.seermartech.cn/v3/serp/youtube/video_comments/task_get/advanced/${id}" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json"

Python

python
import requests

task_id = "02261816-2027-0066-0000-c27d02864073"
url = f"https://api.seermartech.cn/v3/serp/youtube/video_comments/task_get/advanced/{task_id}"

headers = {
 "Authorization": "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
}

response = requests.get(url, headers=headers)
print(response.json)

TypeScript

typescript
import axios from "axios";

const taskId = "02231256-2604-0066-2000-57133b8fc54e";

axios({
 method: "get",
 url: `https://api.seermartech.cn/v3/serp/youtube/video_comments/task_get/advanced/${taskId}`,
 headers: {
 Authorization: "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json",
 },
})
 .then((response) => {
 // 输出任务结果
 console.log(response.data);
 })
 .catch((error) => {
 console.error(error);
 });

已完成任务查询示例

通常建议调用已完成任务列表接口,再按任务 ID 获取结果:

  • 已完成任务列表:GET /v3/serp/youtube/video_comments/tasks_ready
  • 获取指定结果:GET /v3/serp/youtube/video_comments/task_get/advanced/$id

Python 示例:取 ready 任务,再取结果

python
import requests

headers = {
 "Authorization": "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
}

# 1. 获取已完成任务列表
ready_url = "https://api.seermartech.cn/v3/serp/youtube/video_comments/tasks_ready"
ready_resp = requests.get(ready_url, headers=headers).json

results = []

if ready_resp.get("status_code") == 20000:
 for task_group in ready_resp.get("tasks", []):
 for task in task_group.get("result", []):
 endpoint = task.get("endpoint_advanced")
 if endpoint:
 # 2. 拉取每个已完成任务的高级结果
 result_resp = requests.get(
 "https://api.seermartech.cn" + endpoint,
 headers=headers
 ).json
 results.append(result_resp)

print(results)

TypeScript 示例:取 ready 任务,再取结果

typescript
import axios from "axios";

const headers = {
 Authorization: "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json",
};

async function fetchCompletedTasks {
 const readyResponse = await axios.get(
 "https://api.seermartech.cn/v3/serp/youtube/video_comments/tasks_ready",
 { headers }
 );

 const results: any[] = [];

 if (readyResponse.data.status_code === 20000) {
 for (const taskGroup of readyResponse.data.tasks || []) {
 for (const task of taskGroup.result || []) {
 if (task.endpoint_advanced) {
 const taskResponse = await axios.get(
 `https://api.seermartech.cn${task.endpoint_advanced}`,
 { headers }
 );
 results.push(taskResponse.data);
 }
 }
 }
 }

 console.log(results);
}

fetchCompletedTasks.catch(console.error);

响应示例

json
{
 "version": "0.1.20220819",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "0.0816 sec.",
 "cost": 0,
 "tasks_count": 1,
 "tasks_error": 0,
 "tasks": [
 {
 "data": {
 "api": "serp",
 "function": "task_get",
 "se": "youtube",
 "se_type": "video_comments",
 "language_code": "en",
 "location_code": 2840,
 "video_id": "vQXvyV0zIP4",
 "priority": 2,
 "device": "desktop",
 "os": "windows"
 },
 "result": [
 {
 "title": "The first-ever BMW M5 CS.",
 "comments_count": 4081,
 "items_count": 20,
 "items": []
 }
 ]
 }
 ]
}

错误处理建议

  • 优检查顶层 status_codestatus_message,确认请求是否成功。
  • 再检查 tasks[].status_code,判断单个任务是否执行成功。
  • tasks_error 大于 0,说明部分任务返回异常。
  • 建议为 40000+ 的状态码建立统一重试、告警和异常处理机制。
  • 任务结果最多保留 30 天,期后可能无法再次获取。

结果解读建议

  • comments_count 可用于评估视频整体互动规模。
  • items 中每条 youtube_comment 代表一条评论记录。
  • likes_countreply_count 可用于识别高互动评论。
  • timestamppublication_date 可用于分析评论时间分布与热点时段。
  • author_nameauthor_url 可用于识别高频互动用户或核心受众。

实用场景

  • 监控热视频舆:抓取指定视频评论与点赞、回复数据,快速识别用户绪与讨论焦点。
  • 筛选高互动评论:基于 likes_countreply_count 找出最有传播价值的用户观点,用于选题或社区运营。
  • 分析竞品视频反馈:对比不同视频下的评论数量、评论文本与互动强度,洞察竞品表现与用户偏好。
  • 提炼用户需求表达:从评论文本中抽取真实反馈、吐槽和功能诉求,为 SEO、产品优化和营销文案提供依据。
  • 跟踪发布时间后的反馈变化:结合 timestamp 分析评论出现节奏,评估视频发布后不同时间段的受众参与。

统一入口:官网 · LLM API · 控制台