Shorts搜索(原始数据,推荐使用V2)/Shorts search (raw data, recommend V2)
About
Shorts搜索(原始数据,推荐使用V2)/Shorts search (raw data, recommend V2)
Documentation
Shorts搜索(原始数据,推荐使用V2)/Shorts search (raw data, recommend V2)
[中文]
⚠️ 推荐使用 V2 版本:
- 本接口返回 YouTube 原始数据结构,需要自行解析
- 清洗过的数据版本请使用
/get_shorts_search_v2接口,返回结构化的 Shorts 列表数据,自动过滤非 Shorts 内容
用途:
- YouTube Shorts短视频专门搜索,使用原生YouTube API接口
特点:
- 🎬 专门搜索YouTube Shorts短视频(<60秒)
- 🔍 支持多种过滤条件和排序方式
- 📱 优化的移动端短视频内容
- ⚡ 智能过滤:首次请求可能返回混合内容(长视频+短视频),默认自动过滤长视频
重要说明 - YouTube Shorts搜索机制:
根据YouTube的搜索逻辑,Shorts搜索有以下特性:
- 首次请求(无continuation_token):可能返回混合内容(部分长视频 + 部分短视频)
- 后续请求(有continuation_token):仅返回纯短视频内容
- 解决方案:
- 方案A:使用
filter_mixed_content=true(默认),自动过滤掉长视频 - 方案B:使用第一次返回的 continuation_token 进行第二次请求,获取纯Shorts内容
- 方案C:设置
filter_mixed_content=false,获取原始混合内容
- 方案A:使用
参数详解:
📌 必选参数 (Required Parameters):
search_query (string)
- 作用: 搜索关键字,用于匹配Shorts视频的标题、描述等内容
- 格式: 任意字符串
- 示例:
"Python编程","gaming","cooking tutorial" - 注意: 支持中英文及其他语言,空格会被自动处理
⚙️ 可选参数 - 基础设置 (Optional Parameters - Basic Settings):
language_code (string, 可选)
- 作用: 设置搜索结果的显示语言,影响返回内容的语言偏好
- 默认值:
"en-US" - 可用值:
"zh-CN"- 简体中文"zh-TW"- 繁体中文"en-US"- 英语(美国)"en-GB"- 英语(英国)"ja-JP"- 日语"ko-KR"- 韩语"es-ES"- 西班牙语"fr-FR"- 法语"de-DE"- 德语- 其他符合IETF BCP 47标准的语言代码
- 示例:
language_code=zh-CN - 影响: 会影响搜索算法的语言匹配和结果排序
country_code (string, 可选)
- 作用: 设置地区/国家代码,影响搜索结果的地域相关性和内容可用性
- 默认值:
"US" - 可用值:
"US"- 美国"CN"- 中国"JP"- 日本"KR"- 韩国"GB"- 英国"DE"- 德国"FR"- 法国"CA"- 加拿大- 其他符合ISO 3166-1 alpha-2标准的国家代码
- 示例:
country_code=JP - 影响: 某些Shorts可能因地区限制而不可见
time_zone (string, 可选)
- 作用: 设置时区,影响时间相关过滤器(如"今天"、"本周")的计算
- 默认值:
"America/Los_Angeles" - 可用值: 符合IANA时区数据库的时区标识符
"America/Los_Angeles"- 美国太平洋时区"America/New_York"- 美国东部时区"Asia/Shanghai"- 中国时区"Asia/Tokyo"- 日本时区"Europe/London"- 英国时区"Europe/Paris"- 法国时区
- 示例:
time_zone=Asia/Shanghai - 影响: 结合upload_time参数使用时,决定"今天"等时间段的具体范围
filter_mixed_content (boolean, 可选)
- 作用: 控制是否自动过滤掉响应中的长视频(非Shorts内容)
- 默认值:
true - 可用值:
true- 自动过滤长视频,只返回Shorts(推荐)false- 返回原始内容,可能包含长视频
- 示例:
filter_mixed_content=true - 使用场景:
true: 当你只需要纯Shorts内容时使用(推荐首次请求使用)false: 当你需要分析YouTube原始返回的混合内容时使用(调试用)
- 注意: 只影响首次请求,使用continuation_token的请求本身就只返回Shorts
🎯 可选参数 - Shorts过滤条件 (Optional Parameters - Shorts Filters):
upload_time (string, 可选)
- 作用: 按上传时间过滤Shorts,只返回指定时间段内上传的视频
- 默认值:
null(不过滤) - 可用值:
"hour"- 过去1小时内上传"today"- 今天上传(基于time_zone参数)"week"- 本周上传(最近7天)"month"- 本月上传(最近30天)"year"- 今年上传(最近365天)
- 示例:
upload_time=week - 使用场景: 寻找最新、热门的Shorts内容
- 注意: 与time_zone参数配合使用,时间计算基于设定的时区
sort_by (string, 可选)
- 作用: 设置搜索结果的排序方式
- 默认值:
null(YouTube默认相关性排序) - 可用值:
"relevance"- 按相关性排序(YouTube默认算法)"upload_date"- 按上传日期排序(最新优先)"view_count"- 按观看次数排序(最多观看优先)"rating"- 按评分排序(最高评分优先)
- 示例:
sort_by=view_count - 使用场景:
relevance: 寻找最相关的内容upload_date: 寻找最新发布的Shortsview_count: 寻找最受欢迎的Shortsrating: 寻找质量最高的Shorts
- 优先级: sort_by的优先级高于upload_time,两者同时使用时以sort_by为准
📄 可选参数 - 翻页控制 (Optional Parameters - Pagination):
continuation_token (string, 可选)
- 作用: 用于获取下一页搜索结果的翻页令牌
- 默认值:
null(获取第一页) - 格式: YouTube返回的加密字符串
- 示例:
continuation_token=EqcBEgPkuKzor4YybhmgGk... - 获取方式: 从上一次请求的响应中提取(见"翻页机制详解"部分)
- 使用场景:
- 首次搜索:不传此参数,获取第一页结果
- 后续翻页:传入上次返回的token,获取下一页结果
- 注意:
- Token有时效性,通常在数小时内有效
- 使用continuation_token时,必须保持search_query等其他参数一致
- 使用token的请求会自动返回纯Shorts内容(无需过滤)
翻页机制详解:
如何获取 continuation_token:
从响应JSON中提取,路径通常为以下之一:
# 路径1:在 onResponseReceivedCommands 中
response["data"]["onResponseReceivedCommands"][0]["appendContinuationItemsAction"]["continuationItems"][-1]["continuationItemRenderer"]["continuationEndpoint"]["continuationCommand"]["token"]
# 路径2:在 contents 中
response["data"]["contents"]["twoColumnSearchResultsRenderer"]["primaryContents"]["sectionListRenderer"]["contents"][-1]["continuationItemRenderer"]["continuationEndpoint"]["continuationCommand"]["token"]
使用流程:
- 首次请求: 不传 continuation_token
GET /api/v1/youtube_web/get_shorts_search?search_query=python - 提取token: 从响应中找到 continuation_token
- 后续请求: 传入 continuation_token 获取下一页
GET /api/v1/youtube_web/get_shorts_search?search_query=python&continuation_token=xxx
响应数据结构:
{
"code": 200,
"data": {
"contents": {
"twoColumnSearchResultsRenderer": {
"primaryContents": {
"sectionListRenderer": {
"contents": [
{
"itemSectionRenderer": {
"contents": [
{
"gridShelfViewModel": {
// Shorts视频列表
"items": [...]
}
}
]
}
},
{
"continuationItemRenderer": {
"continuationEndpoint": {
"continuationCommand": {
"token": "xxx" // 下一页的token
}
}
}
}
]
}
}
}
}
}
}
返回:
- 专门针对Shorts的搜索结果,包含视频列表和翻页token
[English]
Purpose:
- YouTube Shorts specialized search using native YouTube API
Features:
- 🎬 Specialized search for YouTube Shorts (<60 seconds)
- 🔍 Support for multiple filter conditions and sorting options
- 📱 Optimized for mobile short-form content
- ⚡ Smart filtering: First request may return mixed content (long+short videos), automatically filters long videos by default
Important - YouTube Shorts Search Mechanism:
According to YouTube's search logic, Shorts search has these characteristics:
- First request (no continuation_token): May return mixed content (some long videos + some short videos)
- Subsequent requests (with continuation_token): Returns only pure Shorts content
- Solutions:
- Solution A: Use
filter_mixed_content=true(default) to automatically filter long videos - Solution B: Use continuation_token from first response for second request to get pure Shorts
- Solution C: Set
filter_mixed_content=falseto get original mixed content
- Solution A: Use
Parameters:
- search_query: Search keyword
- language_code: Language code (zh-CN for Chinese, en-US for English)
- country_code: Country code affecting regional relevance
- time_zone: Time zone (e.g., America/Los_Angeles, Asia/Shanghai)
- filter_mixed_content: Whether to filter long videos from mixed content (default true)
Shorts-specific Filters:
Upload Time (upload_time):
hour: Shorts uploaded in the past hourtoday: Shorts uploaded todayweek: Shorts uploaded this weekmonth: Shorts uploaded this monthyear: Shorts uploaded this year
Sort By (sort_by):
relevance: Relevance (default)upload_date: Upload dateview_count: View countrating: Rating
Pagination Mechanism Explained:
How to get continuation_token:
Extract from response JSON, typically at one of these paths:
# Path 1: In onResponseReceivedCommands
response["onResponseReceivedCommands"][0]["appendContinuationItemsAction"]["continuationItems"][-1]["continuationItemRenderer"]["continuationEndpoint"]["continuationCommand"]["token"]
# Path 2: In contents
response["contents"]["twoColumnSearchResultsRenderer"]["primaryContents"]["sectionListRenderer"]["contents"][-1]["continuationItemRenderer"]["continuationEndpoint"]["continuationCommand"]["token"]
Usage Flow:
- First request: Don't pass continuation_token
GET /api/v1/youtube_web/get_shorts_search?search_query=python - Extract token: Find continuation_token in response
- Next requests: Pass continuation_token to get next page
GET /api/v1/youtube_web/get_shorts_search?search_query=python&continuation_token=xxx
Response Data Structure:
{
"code": 200,
"data": {
"contents": {
"twoColumnSearchResultsRenderer": {
"primaryContents": {
"sectionListRenderer": {
"contents": [
{
"itemSectionRenderer": {
"contents": [
{
"gridShelfViewModel": {
// Shorts video list
"items": [...]
}
}
]
}
},
{
"continuationItemRenderer": {
"continuationEndpoint": {
"continuationCommand": {
"token": "xxx" // Token for next page
}
}
}
}
]
}
}
}
}
}
}
⚠️ Recommend using V2 version:
- This endpoint returns raw YouTube data structure that requires manual parsing
- For cleaned/structured data, use
/get_shorts_search_v2endpoint, which returns structured Shorts list and automatically filters non-Shorts content
Returns:
- Shorts-specific search results with video list and pagination token
[示例/Examples]
基础Shorts搜索(自动过滤长视频)
GET /youtube_web/get_shorts_search?search_query=Python编程
获取原始混合内容(包含长视频)
GET /youtube_web/get_shorts_search?search_query=Python编程&filter_mixed_content=false
搜索本周上传的Python相关Shorts
GET /youtube_web/get_shorts_search?search_query=python&upload_time=week
搜索观看次数最多的技术Shorts
GET /youtube_web/get_shorts_search?search_query=技术&sort_by=view_count
翻页获取更多Shorts
GET /youtube_web/get_shorts_search?search_query=编程&continuation_token=EqcBEgPkuKzor4YybhmgGk...
Imported from a validated TikHub OpenAPI document. Pricing must be reviewed before enabling.
Try Shorts搜索(原始数据,推荐使用V2)/Shorts search (raw data, recommend V2)
Test this model in the Sandbase Playground with your own prompts.
Open in Playground