跳到正文
B 站视频搜索
raw.bilibili.search

B 站视频搜索

实时Beta:接口和返回字段仍可能调整可用免费额度
GEThttps://api.qovia.ai/v1/raw/bilibili/search

按关键词搜索视频,每页最多 20 条、最多 50 页,可按播放、发布时间、弹幕、收藏、评论排序。B 站对任何关键词都会给出模糊匹配; has_more 为 false 时请停止翻页(超出末页时 B 站会重复返回第 1 页)。结果不含投币和分享数。

价格
$0.0015 / 次$1.5 / 千次每月超过 500 万次后 $1 / 千次
计费
成功且有结果才扣费优先用免费额度
权限
raw:bilibiliAPI Key 需要这个 scope
限速
全局 5 次/秒所有用户合计,另有账户每分钟上限

请求参数

作为查询参数发送

只接受下列参数,多出的参数会返回 400。

keywordstring必填

搜索关键词

最多 100 字格式\S

示例台积电

pageinteger

页码;用上一页返回的 cursor

默认1范围1–50
page_sizeinteger

每页条数

默认20范围1–20
orderstring · enum

排序:totalrank 综合(默认)、click 播放最多、pubdate 最新发布、dm 弹幕最多、stow 收藏最多、scores 评论最多

可选值totalrank · click · pubdate · dm · stow · scores

响应

成功返回 HTTP 200 和统一信封:request_id、data(本接口的数据,见示例)、meta(扣费信息)。结果为空时同样是 200,meta.empty 为 true,不扣费,data 可能为空结构或 null。

响应结构详解

错误码

这个接口可能返回的错误码
codeHTTP计费说明
scope_denied403不扣费这个 API Key 没有该接口需要的权限(scope)。
endpoint_unavailable503不扣费接口暂不可用(尚未接入数据源,或价格未配置),没有执行。
invalid_params400不扣费参数没有通过校验:缺少必填、类型或格式不对、有多余参数,或 POST 请求体不是 JSON 对象。单个参数的错误以参数名开头(item_id: …),缺少必填或多出参数以 params: … 开头。
rate_limited可重试429不扣费超过账户每分钟请求上限(滑动 60 秒窗口),按 Retry-After 等待。
too_many_unbilled可重试429不扣费最近 10 分钟打到数据源的请求里,空结果、不存在或被拒的有至少 50 次且占 80% 以上,放慢后再试。
endpoint_busy可重试429不扣费这个接口所有用户合计的每秒请求已满,1 秒后重试;不占你的每分钟额度。
insufficient_balance402不扣费余额不足以支付这次调用(免费额度已用完,或接口不使用免费额度)。
upstream_busy可重试503已退款数据源繁忙或在冷却,已退款,按 Retry-After 重试。
upstream_timeout504已退款数据源超时,已退款。
upstream_error502 / 503已退款数据源返回失败,已退款。
upstream_rejected400已退款数据源拒绝了这组参数(格式合法但不被接受),已退款。
not_found404已退款数据源里没有这条数据(已删除或 ID 不存在),已退款。
reservation_expired504已退款处理时间过长,已自动退款,没有返回数据。

任何请求还可能返回认证错误:401 invalid_api_key、403 account_disabled、429 too_many_auth_failures。

全部错误码
在浏览器里直接调用

需要登录;调试台调用和 API 调用一样计费,同样优先用免费额度。