Outlier 视频搜索

按关键词、赛道、地区和爆款指数搜索已存储数据。

POST
https://api.shortsmonkey.com/v1/videos/outliers/search

每实际返回 1–20 条扣 2 Credits

Outlier 视频搜索#

按关键词、赛道、地区和爆款指数搜索已存储数据。

鉴权#

发送 Authorization: Bearer sm_live_...。完整 Key 不能放在 URL、Cookie、请求体、日志或 Analytics 中。

数据新鲜度#

榜单只读取 Worker 发布的稳定 Snapshot。公开读取绝不会触发 YouTube 刷新。

接口请求#

项目说明
请求方法POSTHTTP 请求方法
完整 URLhttps://api.shortsmonkey.com/v1/videos/outliers/search生产环境 API 地址
鉴权Authorization: Bearer sm_live_...完整 Key 仅放在 Header 中
内容类型application/json请求体使用 JSON
计费每实际返回 1–20 条扣 2 Credits错误响应消耗 0 Credits

请求参数#

参数名位置类型必填默认值取值或限制说明
keywordJSON 请求体string1–120 个字符匹配标题或赛道文本的关键词
nicheJSON 请求体string1–80 个字符赛道或分类筛选
video_typeJSON 请求体stringallshorts / long / all视频类型
regionJSON 请求体string2–16 个字符地区代码
max_channel_subscribersJSON 请求体integer0–10,000,000频道订阅数上限
min_viewsJSON 请求体integer0–1,000,000,000最低播放量
min_vs_ratioJSON 请求体number100–100,000最低播放订阅比
time_windowJSON 请求体string7d24h / 3d / 7d / 30d视频发布时间窗口
limitJSON 请求体integer201–50本页最多返回的条数
all_cursorJSON 请求体stringdata.all_data.next_cursor获取未筛选数据的下一页
filter_cursorJSON 请求体stringdata.filter_data.next_cursor获取筛选后数据的下一页;筛选参数保持不变
cursorJSON 请求体string旧版兼容参数等同 filter_cursor;两者不能同时传

成功返回字段#

all_data 是稳定 Snapshot 中未应用请求筛选的全部数据页;filter_data 是同一 Snapshot 应用本接口默认条件及用户参数后的数据页。两组数据各自分页。

字段路径使用点号表示嵌套对象,[] 表示数组元素。订阅者数未知时返回 null,并设置 subscriber_count_hidden: true。单次请求按两组实际返回条数中的较大值结算一次,不相加重复计费。

字段路径类型可为空说明
data.all_data.itemsarray<object>未应用请求筛选的当前页视频列表
data.all_data.items[].video_idstringYouTube 视频 ID
data.all_data.items[].titlestring视频标题
data.all_data.items[].video_urlstringYouTube 视频地址
data.all_data.items[].channel.idstring频道 ID
data.all_data.items[].channel.titlestring频道名称
data.all_data.items[].channel.subscribersinteger频道订阅数;隐藏时为 null
data.all_data.items[].channel.subscriber_count_hiddenboolean订阅数是否隐藏
data.all_data.items[].viewsinteger播放量快照
data.all_data.items[].views_to_subscribers_rationumber播放订阅比
data.all_data.items[].opportunity_scorenumber机会分数
data.all_data.items[].duration_secondsinteger视频时长,单位为秒
data.all_data.items[].published_atstring(date-time)视频发布时间,UTC ISO 8601
data.all_data.items[].snapshot_atstring(date-time)数据采集时间
data.all_data.items[].nichestring赛道或分类
data.all_data.items[].trackstring数据赛道标识
data.all_data.items[].regionstring地区代码
data.all_data.items[].reasonsarray<string>入榜原因
data.all_data.items[].video_typestringshortslong
data.all_data.next_cursorstring本结果集的下一页 Cursor;无下一页时为 null
data.filter_data.itemsarray<object>应用默认条件与请求筛选后的当前页视频列表
data.filter_data.items[].video_idstringYouTube 视频 ID
data.filter_data.items[].titlestring视频标题
data.filter_data.items[].video_urlstringYouTube 视频地址
data.filter_data.items[].channel.idstring频道 ID
data.filter_data.items[].channel.titlestring频道名称
data.filter_data.items[].channel.subscribersinteger频道订阅数;隐藏时为 null
data.filter_data.items[].channel.subscriber_count_hiddenboolean订阅数是否隐藏
data.filter_data.items[].viewsinteger播放量快照
data.filter_data.items[].views_to_subscribers_rationumber播放订阅比
data.filter_data.items[].opportunity_scorenumber机会分数
data.filter_data.items[].duration_secondsinteger视频时长,单位为秒
data.filter_data.items[].published_atstring(date-time)视频发布时间,UTC ISO 8601
data.filter_data.items[].snapshot_atstring(date-time)数据采集时间
data.filter_data.items[].nichestring赛道或分类
data.filter_data.items[].trackstring数据赛道标识
data.filter_data.items[].regionstring地区代码
data.filter_data.items[].reasonsarray<string>入榜原因
data.filter_data.items[].video_typestringshortslong
data.filter_data.next_cursorstring本结果集的下一页 Cursor;无下一页时为 null
meta.request_idstring请求追踪 ID
meta.snapshot_idstring稳定 Snapshot ID
meta.snapshot_atstring(date-time)Snapshot 时间
meta.data_statusstring数据状态
credits.costinteger本次实际消耗
credits.remaininginteger账户剩余 Credits
credits.period_ends_atstring(date-time)当前额度周期结束时间

分页与 Cursor#

limit 默认为 20,最大 50。all_data.next_cursor 传给 all_cursorfilter_data.next_cursor 传给 filter_cursor;两个 Cursor 独立、不透明、带签名并在 24 小时后过期,且始终读取同一 Snapshot。旧 cursor 仅作为 filter_cursor 的兼容别名。

ETag#

排行榜支持 If-None-Match。命中返回 304、X-Credits-Cost: 0,且不会重复执行。

错误与限流#

错误 Envelope 始终包含 code、固定英文 messagerequest_iddetails。429 与所有 4xx/5xx 都不扣 Credits。

HTTP 状态错误码原因处理建议
400INVALID_REQUEST参数格式、组合或范围错误根据 details.issues 修正参数
401INVALID_API_KEYKey 无效或已失效检查 Bearer Header 和 Key 状态
402SUBSCRIPTION_REQUIRED / CREDITS_EXHAUSTED订阅或 Credits 不可用检查套餐、余额和 Key 安全预算
429RATE_LIMITED速率或并发超限Retry-After 退避重试
503DATA_STALE / SERVICE_UNAVAILABLE数据或服务暂不可用稍后重试并保留 request_id
curl -X POST "https://api.shortsmonkey.com/v1/videos/outliers/search" \
  -H "Authorization: Bearer $SHORTSMONKEY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"keyword":"finance","video_type":"all","time_window":"7d","min_vs_ratio":10,"limit":20}'