Skip to content

获取 YouTube 视频结果(按任务 ID,Advanced)

通过本接口可根据任务 ID 获取已完成的 YouTube 视频抓取结果。

接口说明

请求方式: GET请求地址:

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

说明:

  • $id:任务唯一标识,UUID 格式
  • 任务提交成功后,可在 30 天 随时通过该 ID 获取结果
  • 账户在创建任务时扣费;结果查询本身在 30 天
  • 实扣费以响应头 X-SeerMarTech-Charge-CNY 为准

参考价格

该接口结果查询本身不额外收费;费用通常发生在对应任务提交阶段。 若异步任务单价为 USD 计费,请按以下规则估算:

  • 参考价约 ¥0.0000 / 次(当前结果获取接口通常不额外计费)
  • 实扣费以响应头 X-SeerMarTech-Charge-CNY 为准

路径参数

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

Sandbox

如需查看该端点可返回的完整字段结构,可使用 Sandbox 地址:

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

说明:

  • Sandbox 返回的是示例结构与模拟数据
  • 可用于联调字段解析逻辑
  • 调用 Sandbox 不扣费

响应结构

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

顶层字段

字段类型说明
versionstring当前 API 版本。
status_codeinteger通用状态码。完整错误码请参考 /v3/appendix/errors。建议对异常与错误状态做好处理。
status_messagestring通用状态信息。
timestring请求执行耗时,单位秒。
costfloat本次请求总成本,单位 USD。
tasks_countintegertasks 数组中的任务数量。
tasks_errorintegertasks 数组中返回错误的任务数量。
tasksarray任务结果数组。

tasks[] 字段

字段类型说明
idstring任务 ID,UUID 格式。
status_codeinteger任务状态码,范围通常为 10000-60000。完整列表参考 /v3/appendix/errors
status_messagestring任务状态说明。
timestring任务执行耗时,单位秒。
costfloat单个任务成本,单位 USD。
result_countintegerresult 数组中的结果数量。
patharray请求路径。
dataobject创建任务时传的原始参数。
resultarray结果数组。

tasks[].result[] 字段

字段类型说明
video_idstring创建任务时传的视频 ID。
se_domainstring创建任务时指定的搜索引擎域名。
location_codeinteger创建任务时指定的位置编码。
language_codestring创建任务时指定的语言编码。
check_urlstring指向搜索结果页的直达链接,可用于人工校验结果准确性。
datetimestring结果采集时间,UTC 格式:yyyy-mm-dd hh-mm-ss +00:00
spellobject搜索引擎自动纠错信息。如发生纠错,将返回纠错后的词及纠错类型。
refinement_chipsobject搜索细化项。该字段固定为 null
item_typesarray当前 SERP 中出现的结果类型列表。
items_countintegeritems 数组中的结果数量。
itemsarray搜索结果项数组。

item_types 可能值

说明
youtube_video_infoYouTube 视频结果

items[] 字段说明

items[] 中每个代表一个视频结果项。

字段类型说明
typestring结果类型,固定为 youtube_video_info
rank_groupinteger同类型结果的组排名。不同 type 间的位置不会计该值。
rank_absoluteinteger在整个 SERP 中的绝对排名。
video_idstring视频 ID。
titlestring视频标题。
urlstring视频链接。
thumbnail_urlstring缩略图所在页面 URL。
channel_idstring发布该视频的频道 ID。
channel_namestring频道名称。
channel_urlstring频道链接。
channel_logostring频道头像图片所在页面 URL。
descriptionstring视频描述。
views_countinteger视频观看次数。
likes_countinteger视频点赞数。
comments_countinteger视频评论数。
channel_subscribers_countobject频道订数信息。
publication_datestring视频发布日期,按页面展示文本返回。
timestampstring视频发布时间,UTC 格式:yyyy-mm-dd hh-mm-ss +00:00
keywordsarray与视频的。
categorystring视频所属分类。
is_liveboolean是否为直播。
is_embeddableboolean是否支持嵌。
duration_timestring视频时长,文本格式。
duration_time_secondsinteger视频时长,单位秒。
subtitlesarray字幕属性数组。
streaming_qualityarray可用流媒体晰度信息数组。

channel_subscribers_count 字段

字段类型说明
displayed_countstring页面展示的订数文本,例如 478K subscribers
countinteger标准化后的订数值。

subtitles[] 字段

字段类型说明
languagestring字幕语言。
is_translatableboolean字幕是否支持翻译。
is_auto_generatedboolean是否为自动生成字幕。

streaming_quality[] 字段

字段类型说明
typestring素类型,固定为 streaming_quality_element
labelstring晰度标签。
widthinteger视频宽度,单位像素。
heightinteger视频高度,单位像素。
bitrateinteger视频码率。
mime_typestring视频媒体类型。
fpsinteger帧率。

调用示例

cURL

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

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

Python

python
import requests

task_id = "02231256-2604-0066-2000-57133b8fc54e"
url = f"https://api.seermartech.cn/v3/serp/youtube/video_info/task_get/advanced/{task_id}"

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

response = requests.get(url, headers=headers)
print(response.status_code)
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_info/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);
 });

结合 tasks_ready 获取结果

在批量任务场景中,通常建议调用:

GET /v3/serp/youtube/video_info/tasks_ready

获取所有已完成任务,再逐个请求:

GET /v3/serp/youtube/video_info/task_get/advanced/$id

这样可以减少无效轮询,提高结果拉取效率。

Python 示例:查已完成任务,再获取结果

python
import requests

base_url = "https://api.seermartech.cn"
headers = {
 "Authorization": "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
}

# 1. 获取已完成任务列表
ready_resp = requests.get(
 f"{base_url}/v3/serp/youtube/video_info/tasks_ready",
 headers=headers
)
ready_data = ready_resp.json

results = []

if ready_data.get("status_code") == 20000:
 for task_group in ready_data.get("tasks", []):
 for task in task_group.get("result", []) if isinstance(task_group, dict) else []:
 task_id = task.get("id")
 if not task_id:
 continue

 # 2. 按任务 ID 获取 Advanced 结果
 result_resp = requests.get(
 f"{base_url}/v3/serp/youtube/video_info/task_get/advanced/{task_id}",
 headers=headers
 )
 results.append(result_resp.json)

print(results)

响应示例

json
{
 "version": "0.1.20240801",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "0.0529 sec.",
 "cost": 0,
 "tasks_count": 1,
 "tasks_error": 0,
 "tasks": [
 {
 "data": {
 "api": "serp",
 "function": "task_get",
 "se": "youtube",
 "se_type": "video_info",
 "language_code": "en",
 "location_code": 2840,
 "video_id": "vQXvyV0zIP4",
 "device": "desktop",
 "os": "windows"
 },
 "result": [
 {
 "items_count": 1,
 "items": [
 {
 "views_count": 5582858,
 "likes_count": 100649,
 "comments_count": 4367,
 "channel_subscribers_count": {
 "displayed_count": "478K subscribers",
 "count": 478000
 },
 "publication_date": "Premiered Jan 26, 2021",
 "timestamp": "2021-01-26 23:00:09 +00:00",
 "keywords": [],
 "category": "Autos & Vehicles",
 "is_live": false,
 "is_embeddable": true,
 "duration_time": "02:09",
 "duration_time_seconds": 129,
 "subtitles": null,
 "streaming_quality": []
 }
 ]
 }
 ]
 }
 ]
}

错误处理建议

建议至少处理以下几类:

场景建议处理方式
status_code != 20000按失败处理,并记录 status_message
tasks_error > 0遍历 tasks,检查失败任务。
result 为空可能任务尚未完成、已过期或无可用结果。
items 为空表示当前视频未抓取到有效结果。
过 30 天后查询任务结果可能不可再获取,建议重新创建任务。

使用说明

  • 本接口是按任务 ID 获取结果的接口,不负责创建任务
  • 使用前请通过对应的 POST 接口提交 YouTube Video Info 任务
  • 若需批量获取完成任务,建议合 /v3/serp/youtube/video_info/tasks_ready 使用
  • 若需校验采集结果,可使用返回中的 check_url

实用场景

  • 监控视频表现:定期抓取指定视频的播放量、点赞数、评论数,评估传播效果与用户互动质量。
  • 分析频道影响力:结合 channel_subscribers_count、频道名称与频道链接,评估视频发布方的账号体量与合作价值。
  • 校验视频可投放性:通过 is_embeddableis_liveduration_time_seconds 等字段,筛选适合落地页嵌或广告投放的视频素材。
  • 提取标签:利用 keywordscategorydescription 等字段构建视频主题标签体系,用于 SEO研究与竞品分析。
  • 评估多语言与分发能力:基于 subtitlesstreaming_quality 判断视频是否支持字幕翻译及多晰度分发,化运营。

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