主题
YouTube 视频信息实时高级接口
POST /v3/serp/youtube/video_info/live/advanced
本接口使用 POST 方法,请求路径为:
/v3/serp/youtube/video_info/live/advanced
用于实时获取指定 YouTube 视频的详细信息视频标题、描述、播放量、点赞数、评论数、所属频道信息、字幕、直播状态及可用播放质量等数据。每次请求支持提交一个任务。
所有 POST 请求体使用 UTF-8 编码的 JSON 格式,并将任务参数放 JSON 数组中。平台限流以认证说明中的 30/60/120 次/分钟规则为准。
计费说明
每个请求单独计费。示例响应中的 cost 为 0.006,按参考汇率折算约为 ¥0.0432 / 次。
扣费以响应头 X-SeerMarTech-Charge-CNY 为准。
请求参数
主要参数
| 参数 | 类型 | 说明 |
|---|---|---|
video_id | string | 视频 ID,填。可从 YouTube 视频 URL 或 YouTube Organic 接口结果中的 youtube_video 项获取。示例:vQXvyV0zIP4 |
location_code | integer | 搜索引擎地区代码。当未指定 location_name 时填。指定此参数后无需再指定 location_name。可通过 /v3/serp/youtube/locations 获取可用地区及代码。示例:2840 |
language_code | string | 搜索引擎语言代码。当未指定 language_name 时填。指定此参数后无需再指定 language_name。可通过 /v3/serp/youtube/languages 获取可用语言及代码。示例:en |
device | string | 设备类型,可选。当前支持 desktop。 |
附加参数
| 参数 | 类型 | 说明 |
|---|---|---|
location_name | string | 搜索引擎地区的完整名称。当未指定 location_code 时填。指定此参数后无需再指定 location_code。可通过 /v3/serp/youtube/locations 获取可用地区名称。示例:United States |
language_name | string | 搜索引擎语言的完整名称。当未指定 language_code 时填。指定此参数后无需再指定 language_code。可通过 /v3/serp/youtube/languages 获取可用语言名称。示例:English |
os | string | 设备操作系统,可选值:windows、macos。默认值为 windows。 |
tag | string | 自定义任务标识,可选,最长 255 个字符。可用于识别任务并将请求与响应进行匹。响应中会在 data 对象返回该值。 |
请求示例
cURL
bash
curl --location --request POST \
"https://api.seermartech.cn/v3/serp/youtube/video_info/live/advanced" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json" \
--data-raw '[
{
"language_code": "en",
"location_code": 2840,
"video_id": "vQXvyV0zIP4",
"device": "desktop",
"os": "windows"
}
]'Python
python
import requests
url = "https://api.seermartech.cn/v3/serp/youtube/video_info/live/advanced"
headers = {
"Authorization": "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json",
}
# 每次请求只能提交一个任务
payload = [
{
"language_code": "en",
"location_code": 2840,
"video_id": "vQXvyV0zIP4",
"device": "desktop",
"os": "windows",
}
]
response = requests.post(url, headers=headers, json=payload)
if response.ok:
result = response.json()
print(result)
else:
print(f"HTTP 错误:{response.status_code}")
print(response.text)TypeScript
typescript
import axios from "axios";
const response = await axios.post(
"https://api.seermartech.cn/v3/serp/youtube/video_info/live/advanced",
[
{
language_code: "en",
location_code: 2840,
video_id: "vQXvyV0zIP4",
device: "desktop",
os: "windows",
},
],
{
headers: {
Authorization: "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json",
},
}
);
console.log(response.data);响应结构
接口返回 JSON 对象 tasks 数组任务执行结果。
顶层字段
| 字段 | 类型 | 说明 |
|---|---|---|
version | string | 当前 API 版本。 |
status_code | integer | 请求级状态码。 |
status_message | string | 请求级提示信息。 |
time | string | 请求执行耗时,单位为秒。 |
cost | float | 平台原始 USD 成本兼容字段;人民币实扣以 X-SeerMarTech-Charge-CNY 为准。 |
tasks_count | integer | tasks 数组中的任务总数。 |
tasks_error | integer | tasks 数组中执行失败的任务数。 |
tasks | array | 任务结果数组。 |
任务字段
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 任务唯一标识,UUID 格式。 |
status_code | integer | 任务状态码,通常在 10000 至 60000 范围。 |
status_message | string | 任务状态说明。 |
time | string | 任务执行耗时,单位为秒。 |
cost | float | 平台原始 USD 成本兼容字段;人民币实扣以 X-SeerMarTech-Charge-CNY 为准。 |
result_count | integer | result 数组中的结果数量。 |
path | array | 请求 URL 路径。 |
data | object | 创建任务时提交的参数。 |
result | array | 任务执行结果数组。 |
结果字段
结果级字段
| 字段 | 类型 | 说明 |
|---|---|---|
video_id | string | 请求中提交的视频 ID。 |
se_domain | string | 请求中指定的搜索引擎域名。 |
location_code | integer | 请求中提交的地区代码。 |
language_code | string | 请求中提交的语言代码。 |
check_url | string | 搜索引擎结果页的直接 URL,可用于核验返回结果。 |
datetime | string | 获取结果的日期和时间,使用 UTC 格式:yyyy-mm-dd hh-mm-ss +00:00。示例:2019-11-15 12:57:46 +00:00 |
spell | object | 搜索引擎自动纠错信息。如果搜索引擎对进行了纠正,则返回纠正后的及纠错类型。 |
refinement_chips | object | 搜索细化选项。当前固定为 null。 |
item_types | array | SERP 中的结果类型。当前可能 youtube_video_info。 |
items_count | integer | items 数组中的结果数量。 |
items | array | SERP 中返回的视频信息结果。 |
视频信息字段
当 items 中的类型为 youtube_video_info 时,以下字段:
| 字段 | 类型 | 说明 |
|---|---|---|
type | string | 结果类型,固定为 youtube_video_info。 |
rank_group | integer | 结果在同类型结果组中的排名。不同类型结果之间不会计算此排名。 |
rank_absolute | integer | 结果在整个 SERP 中的绝对排名。 |
video_id | string | 视频 ID。 |
title | string | 视频标题。 |
url | string | 视频 URL。 |
thumbnail_url | string | 视频缩略图 URL。 |
channel_id | string | 发布该视频的频道 ID。 |
channel_name | string | 发布该视频的频道名称。 |
channel_url | string | 频道 URL。 |
channel_logo | string | 频道标志图片 URL。 |
description | string | 视频描述。 |
views_count | integer | 视频播放量。 |
likes_count | integer | 视频点赞数。 |
comments_count | integer | 视频评论数。 |
channel_subscribers_count | object | 频道订数。 |
channel_subscribers_count.displayed_count | string | YouTube 页面展示的订数,例如 478K subscribers。 |
channel_subscribers_count.count | integer | 频道订数的数值。 |
publication_date | string | 视频发布日期,通常为平台展示格式,例如 Premiered Jan 26, 2021。 |
timestamp | string | 视频发布的日期和时间,使用 UTC 格式:yyyy-mm-dd hh-mm-ss +00:00。 |
keywords | array | 与视频的,也称为 YouTube 标签。 |
category | string | 视频所属分类。 |
is_live | boolean | 是否为直播视频。 |
is_embeddable | boolean | 是否嵌播放。 |
duration_time | string | 视频时长,例如 02:09。 |
duration_time_seconds | integer | 视频时长,单位为秒。 |
subtitles | array | 字幕信息数组。无字幕时可能为 null。 |
subtitles.language | string | 字幕语言。 |
subtitles.is_translatable | boolean | 字幕是否支持翻译。 |
subtitles.is_auto_generated | boolean | 字幕是否为自动生成。 |
streaming_quality | array | 视频可用播放质量信息数组。 |
streaming_quality.type | string | 播放质量类型,固定为 streaming_quality_element。 |
streaming_quality.label | string | 播放质量标签。 |
streaming_quality.width | integer | 视频宽度,单位为像素。 |
streaming_quality.height | integer | 视频高度,单位为像素。 |
streaming_quality.bitrate | integer | 视频比特率。 |
streaming_quality.mime_type | string | 视频媒体类型。 |
streaming_quality.fps | integer | 视频帧率。 |
响应示例
json
{
"version": "0.1.20240801",
"status_code": 20000,
"status_message": "Ok.",
"time": "5.0955 sec.",
"cost": 0.006,
"tasks_count": 1,
"tasks_error": 0,
"tasks": [
{
"id": "00000000-0000-0000-0000-000000000000",
"status_code": 20000,
"status_message": "Ok.",
"time": "5.0955 sec.",
"cost": 0.006,
"result_count": 1,
"path": [
"v3",
"serp",
"youtube",
"video_info",
"live",
"advanced"
],
"data": {
"api": "serp",
"function": "live",
"se": "youtube",
"se_type": "video_info",
"language_code": "en",
"location_code": 2840,
"video_id": "vQXvyV0zIP4",
"device": "desktop",
"os": "windows"
},
"result": [
{
"video_id": "vQXvyV0zIP4",
"location_code": 2840,
"language_code": "en",
"datetime": "2021-01-26 23:00:09 +00:00",
"item_types": [
"youtube_video_info"
],
"items_count": 1,
"items": [
{
"type": "youtube_video_info",
"rank_group": 1,
"rank_absolute": 1,
"video_id": "vQXvyV0zIP4",
"title": "示例视频标题",
"url": "https://www.youtube.com/watch?v=vQXvyV0zIP4",
"thumbnail_url": "https://i.ytimg.com/vi/vQXvyV0zIP4/maxresdefault.jpg",
"channel_id": "UC00000000000000000000",
"channel_name": "示例频道",
"channel_url": "https://www.youtube.com/channel/UC00000000000000000000",
"channel_logo": "https://example.com/channel-logo.jpg",
"description": "视频描述",
"views_count": 5582811,
"likes_count": 100646,
"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": [
"example",
"youtube"
],
"category": "Autos & Vehicles",
"is_live": false,
"is_embeddable": true,
"duration_time": "02:09",
"duration_time_seconds": 129,
"subtitles": null,
"streaming_quality": [
{
"type": "streaming_quality_element",
"label": "720p",
"width": 1280,
"height": 720,
"bitrate": 2500000,
"mime_type": "video/mp4",
"fps": 30
}
]
}
]
}
]
}
]
}错误处理
请根据顶层 status_code、任务级 status_code 及对应的 status_message 判断请求和任务是否成功。建议在业务系统中实现以下处理机制:
- 检查 HTTP 状态码及接口返回的
status_code。 - 对
tasks_error大于0的响应逐个检查任务状态。 - 记录
id、tag和错误信息,便于重试及问题追踪。 平台限流以认证说明中的 30/60/120 次/分钟规则为准的调用限制。
实用场景
- 监控竞品视频表现:批量跟踪竞品视频的播放量、点赞数、评论数和订规模,评估竞争力。
- 分析视频质量:结合播放时长、字幕、分类、和互动指标,识别高表现特征。
- 检测直播与视频状态:通过
is_live和is_embeddable判断视频是否正在直播及是否嵌,支持运营监控。 - 构建频道增长看板:汇总视频所属频道、订数和视频互动数据,分析频道增长趋势。
- 优化视频 SEO 策略:提取视频标题、描述和 YouTube 标签,发现使用模式并指导优化。