比莉Parser
接口信息
GET / POST
api.vsaa.cn/api/parser/bili/index.php
Method
GET / POST
分类
影视
Calls
9
KEY
KEY 必填
计费
免费
QPM
120/MIN
鉴权方式
Query 参数、Header(X-API-Key)、Bearer Token
作者
请求参数
| 参数名 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
| key | string | 是 | 接口调用密钥 | |
| action | string | 是 | 操作方法:play=解析播放地址 / detail=获取详情 / refresh_token=刷新TV凭据 / token_status=查看凭据状态 | play |
| url | string | 否 | 目标链接或ID(action=play/detail时必填),支持 ep号/ss整季/BV号/av号/b23.tv短链/完整网页链接 | https://www.bilibili.com/bangumi/play/ep4697996 |
| qn | string | 否 | 画质代号(仅action=play),不传或传all返回所有可用画质,可选 16/32/64/80/112/120 | all |
| format | string | 否 | 返回格式(仅action=play),mp4=单文件整段(默认),dash=音视频分离多码率流 | mp4 |
| try_look | integer | 否 | 未登录试看(仅action=play),1=开启,仅会员集有效 | 0 |
| redirect | integer | 否 | 302跳转开关(仅action=play),1=直接跳转到播放地址不返回JSON | 0 |
| page | integer | 否 | 投稿视频分P序号(action=play/detail可用),默认1 | 1 |
| cookie | string | 否 | 自定义Web Cookie(SESSDATA等),用于解锁会员内容,仅本次请求生效不落盘 | SESSDATA=xxx; bili_jct=xxx; DedeUserID=xxx |
| access_key | string | 否 | 自定义TV端access_key(传access_token同义),优先于服务端配置,仅本次请求生效不落盘 | 94f4e8efb5ae1db6e911f536b0f74c91 |
| refresh_token | string | 否 | 自定义refresh_token,配合access_key使用;若触发轮换,新凭据通过响应token_rotated字段完整返还,旧token作废 | 21850bb4ade7377a0b78a718139f6b91 |
[
{
"name": "key",
"type": "string",
"required": true,
"description": "接口调用密钥",
"example": ""
},
{
"name": "action",
"type": "string",
"required": true,
"description": "操作方法:play=解析播放地址 / detail=获取详情 / refresh_token=刷新TV凭据 / token_status=查看凭据状态",
"example": "play"
},
{
"name": "url",
"type": "string",
"required": false,
"description": "目标链接或ID(action=play/detail时必填),支持 ep号/ss整季/BV号/av号/b23.tv短链/完整网页链接",
"example": "https://www.bilibili.com/bangumi/play/ep4697996"
},
{
"name": "qn",
"type": "string",
"required": false,
"description": "画质代号(仅action=play),不传或传all返回所有可用画质,可选 16/32/64/80/112/120",
"example": "all"
},
{
"name": "format",
"type": "string",
"required": false,
"description": "返回格式(仅action=play),mp4=单文件整段(默认),dash=音视频分离多码率流",
"example": "mp4"
},
{
"name": "try_look",
"type": "integer",
"required": false,
"description": "未登录试看(仅action=play),1=开启,仅会员集有效",
"example": "0"
},
{
"name": "redirect",
"type": "integer",
"required": false,
"description": "302跳转开关(仅action=play),1=直接跳转到播放地址不返回JSON",
"example": "0"
},
{
"name": "page",
"type": "integer",
"required": false,
"description": "投稿视频分P序号(action=play/detail可用),默认1",
"example": "1"
},
{
"name": "cookie",
"type": "string",
"required": false,
"description": "自定义Web Cookie(SESSDATA等),用于解锁会员内容,仅本次请求生效不落盘",
"example": "SESSDATA=xxx; bili_jct=xxx; DedeUserID=xxx"
},
{
"name": "access_key",
"type": "string",
"required": false,
"description": "自定义TV端access_key(传access_token同义),优先于服务端配置,仅本次请求生效不落盘",
"example": "94f4e8efb5ae1db6e911f536b0f74c91"
},
{
"name": "refresh_token",
"type": "string",
"required": false,
"description": "自定义refresh_token,配合access_key使用;若触发轮换,新凭据通过响应token_rotated字段完整返还,旧token作废",
"example": "21850bb4ade7377a0b78a718139f6b91"
}
]
返回示例
{
"code": 200,
"msg": "成功",
"data": {
"type": "pgc",
"season_title": "昭阳公主",
"ep_title": "1 檀郎变状元",
"badge": "限免",
"multi_quality": true,
"channel": "tv",
"format": "mp4",
"quality": 64,
"quality_name": "高清 720P",
"qualities": [
{
"id": 112,
"name": "高清 1080P+"
},
{
"id": 80,
"name": "高清 1080P"
},
{
"id": 64,
"name": "高清 720P"
},
{
"id": 16,
"name": "流畅 360P"
}
],
"url": "http://cn-sh-cc-01-15.bilivideo.com/upgcxcode/34/89/40131888934/40131888934-1-192.mp4?e=ig8euxZM2rNcNbRVhwdVhwdlhWdVhwdVhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8gNEVE5XREto8z5JZC2X2gkX5L5F1eTX1jkXlsTXHeux_f2o859IMvNC8xNbLEkF6MuwLStj8fqJ0EkX1ftx7Sqr_aio8_&ua=tvproj&deadline=1788849809&oi=3550604333&gen=playurlv3&og=ali&mid=384327705&uipk=5&trid=0000b927d28869d74001b76dcf042cbad28T&os=bcache&nbs=1&upsig=33e219edd413c820bb418a507c54d11b&uparams=e,ua,deadline,oi,gen,og,mid,uipk,trid,os,nbs&cdnid=9763&bvc=vod&nettype=0&bw=717050&lrs=0&qn_dyeid=&mobi_app=android&allo_id=&agrr=0&np=151355465&buvid=XY00DFB0E21789F0808B1C62151DC881B9774&build=0&dl=0&f=T_0_0&orderid=0,3",
"backup_urls": [],
"total_size": 0,
"duration_ms": 0,
"variants": [
{
"channel": "tv",
"format": "mp4",
"quality": 64,
"quality_name": "高清 720P",
"qualities": [
{
"id": 112,
"name": "高清 1080P+"
},
{
"id": 80,
"name": "高清 1080P"
},
{
"id": 64,
"name": "高清 720P"
},
{
"id": 16,
"name": "流畅 360P"
}
],
"segments": [
{
"order": 1,
"urls": [
"http://cn-sh-cc-01-15.bilivideo.com/upgcxcode/34/89/40131888934/40131888934-1-192.mp4?e=ig8euxZM2rNcNbRVhwdVhwdlhWdVhwdVhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8gNEVE5XREto8z5JZC2X2gkX5L5F1eTX1jkXlsTXHeux_f2o859IMvNC8xNbLEkF6MuwLStj8fqJ0EkX1ftx7Sqr_aio8_&ua=tvproj&deadline=1788849809&oi=3550604333&gen=playurlv3&og=ali&mid=384327705&uipk=5&trid=0000b927d28869d74001b76dcf042cbad28T&os=bcache&nbs=1&upsig=33e219edd413c820bb418a507c54d11b&uparams=e,ua,deadline,oi,gen,og,mid,uipk,trid,os,nbs&cdnid=9763&bvc=vod&nettype=0&bw=717050&lrs=0&qn_dyeid=&mobi_app=android&allo_id=&agrr=0&np=151355465&buvid=XY00DFB0E21789F0808B1C62151DC881B9774&build=0&dl=0&f=T_0_0&orderid=0,3"
],
"size": 173436709,
"length_ms": 1935422
}
],
"segment_count": 1,
"total_size": 173436709,
"duration_ms": 1935422,
"url": "http://cn-sh-cc-01-15.bilivideo.com/upgcxcode/34/89/40131888934/40131888934-1-192.mp4?e=ig8euxZM2rNcNbRVhwdVhwdlhWdVhwdVhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8gNEVE5XREto8z5JZC2X2gkX5L5F1eTX1jkXlsTXHeux_f2o859IMvNC8xNbLEkF6MuwLStj8fqJ0EkX1ftx7Sqr_aio8_&ua=tvproj&deadline=1788849809&oi=3550604333&gen=playurlv3&og=ali&mid=384327705&uipk=5&trid=0000b927d28869d74001b76dcf042cbad28T&os=bcache&nbs=1&upsig=33e219edd413c820bb418a507c54d11b&uparams=e,ua,deadline,oi,gen,og,mid,uipk,trid,os,nbs&cdnid=9763&bvc=vod&nettype=0&bw=717050&lrs=0&qn_dyeid=&mobi_app=android&allo_id=&agrr=0&np=151355465&buvid=XY00DFB0E21789F0808B1C62151DC881B9774&build=0&dl=0&f=T_0_0&orderid=0,3",
"backup_urls": [],
"size": 173436709,
"length_ms": 1935422
},
{
"channel": "tv",
"format": "mp4",
"quality": 16,
"quality_name": "流畅 360P",
"qualities": [
{
"id": 112,
"name": "高清 1080P+"
},
{
"id": 80,
"name": "高清 1080P"
},
{
"id": 64,
"name": "高清 720P"
},
{
"id": 16,
"name": "流畅 360P"
}
],
"segments": [
{
"order": 1,
"urls": [
"http://cn-sh-cc-01-12.bilivideo.com/upgcxcode/34/89/40131888934/40131888934-1-16.mp4?e=ig8euxZM2rNcNbRVhwdVhwdlhWdVhwdVhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8gNEVE5XREto8z5JZC2X2gkX5L5F1eTX1jkXlsTXHeux_f2o859IMvNC8xNbLEkF6MuwLStj8fqJ0EkX1ftx7Sqr_aio8_&ua=tvproj&os=bcache&trid=00005bbbd108f5bb49409e64beb7193400bT&deadline=1788849809&mid=384327705&og=cos&uipk=5&nbs=1&oi=3550604333&gen=playurlv3&upsig=5a9718093f250e83cbf3fb71b84d8da2&uparams=e,ua,os,trid,deadline,mid,og,uipk,nbs,oi,gen&cdnid=9760&bvc=vod&nettype=0&bw=256430&lrs=0&dl=0&qn_dyeid=&np=151355465&agrr=0&build=0&f=T_0_0&allo_id=&mobi_app=android&buvid=XY00DFB0E21789F0808B1C62151DC881B9774&orderid=0,3"
],
"size": 62024081,
"length_ms": 1935422
}
],
"segment_count": 1,
"total_size": 62024081,
"duration_ms": 1935422,
"url": "http://cn-sh-cc-01-12.bilivideo.com/upgcxcode/34/89/40131888934/40131888934-1-16.mp4?e=ig8euxZM2rNcNbRVhwdVhwdlhWdVhwdVhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8gNEVE5XREto8z5JZC2X2gkX5L5F1eTX1jkXlsTXHeux_f2o859IMvNC8xNbLEkF6MuwLStj8fqJ0EkX1ftx7Sqr_aio8_&ua=tvproj&os=bcache&trid=00005bbbd108f5bb49409e64beb7193400bT&deadline=1788849809&mid=384327705&og=cos&uipk=5&nbs=1&oi=3550604333&gen=playurlv3&upsig=5a9718093f250e83cbf3fb71b84d8da2&uparams=e,ua,os,trid,deadline,mid,og,uipk,nbs,oi,gen&cdnid=9760&bvc=vod&nettype=0&bw=256430&lrs=0&dl=0&qn_dyeid=&np=151355465&agrr=0&build=0&f=T_0_0&allo_id=&mobi_app=android&buvid=XY00DFB0E21789F0808B1C62151DC881B9774&orderid=0,3",
"backup_urls": [],
"size": 62024081,
"length_ms": 1935422
}
],
"is_preview": false,
"durl_compatible_url": "",
"cookie_used": "(空)"
},
"qn": "all",
"format": "mp4"
}
详细文档
比莉Parser
接口说明
比莉Parser 提供 B 站影视、番剧及投稿视频的视频解析服务,支持通过 Play、详情查询、凭据刷新等操作获取播放地址与剧集信息。面向需要在移动端、TV 端或第三方播放器中调用 B 站内容的开发者,接口以 Query 鉴权方式接收请求,调用时需携带有效密钥。
调用地址
/api/parser/bili/index.php
请求方式
支持 GET 和 POST 两种请求方法。
鉴权说明
本接口为收费接口,调用时必须提供密钥。密钥通过 Query 参数传递,参数名为 key。
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| key | string | 是 | 接口调用密钥 |
| action | string | 是 | 操作方法:play 解析播放地址 / detail 获取详情 / refresh_token 刷新TV凭据 / token_status 查看凭据状态 |
| url | string | 否 | 目标链接或ID(action=play/detail 时必填),支持 ep号、ss整季、BV号、av号、b23.tv短链、完整网页链接 |
| qn | string | 否 | 画质代号(仅 action=play),不传或传 all 返回所有可用画质,可选值 16 / 32 / 64 / 80 / 112 / 120 |
| format | string | 否 | 返回格式(仅 action=play),mp4 单文件整段(默认),dash 音视频分离多码率流 |
| try_look | integer | 否 | 未登录试看(仅 action=play),1 开启,仅会员集有效 |
| redirect | integer | 否 | 302跳转开关(仅 action=play),1 直接跳转到播放地址不返回JSON |
| page | integer | 否 | 投稿视频分P序号(action=play/detail 可用),默认 1 |
| cookie | string | 否 | 自定义Web Cookie(SESSDATA等),用于解锁会员内容,仅本次请求生效不落盘 |
| access_key | string | 否 | 自定义TV端 access_key(传 access_token 同义),优先于服务端配置,仅本次请求生效不落盘 |
| refresh_token | string | 否 | 自定义 refresh_token,配合 access_key 使用;若触发轮换,新凭据通过响应 token_rotated 字段完整返还,旧 token 作废 |
参数取值说明
action枚举值:play、detail、refresh_token、token_statusformat枚举值:mp4、dashqn常见代号与画质对应关系:16流畅 360P、32高清 480P、64高清 720P、80高清 1080P、112高清 1080P+、120超清 4Kpage从1开始计数,表示投稿视频的对应分P序号
成功响应示例
{
"code": 200,
"msg": "成功",
"data": {
"type": "pgc",
"season_title": "昭阳公主",
"ep_title": "1 檀郎变状元",
"badge": "限免",
"multi_quality": true,
"channel": "tv",
"format": "mp4",
"quality": 64,
"quality_name": "高清 720P",
"qualities": [
{
"id": 112,
"name": "高清 1080P+"
},
{
"id": 80,
"name": "高清 1080P"
},
{
"id": 64,
"name": "高清 720P"
},
{
"id": 16,
"name": "流畅 360P"
}
],
"url": "http://cn-sh-cc-01-15.bilivideo.com/upgcxcode/34/89/40131888934/40131888934-1-192.mp4?e=ig8euxZM2rNcNbRVhwdVhwdlhWdVhwdVhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8gNEVE5XREto8z5JZC2X2gkX5L5F1eTX1jkXlsTXHeux_f2o859IMvNC8xNbLEkF6MuwLStj8fqJ0EkX1ftx7Sqr_aio8_&ua=tvproj&deadline=1788849809&oi=3550604333&gen=playurlv3&og=ali&mid=384327705&uipk=5&trid=0000b927d28869d74001b76dcf042cbad28T&os=bcache&nbs=1&upsig=33e219edd413c820bb418a507c54d11b&uparams=e,ua,deadline,oi,gen,og,mid,uipk,trid,os,nbs&cdnid=9763&bvc=vod&nettype=0&bw=717050&lrs=0&qn_dyeid=&mobi_app=android&allo_id=&agrr=0&np=151355465&buvid=XY00DFB0E21789F0808B1C62151DC881B9774&build=0&dl=0&f=T_0_0&orderid=0,3",
"backup_urls": [],
"total_size": 0,
"duration_ms": 0,
"variants": [
{
"channel": "tv",
"format": "mp4",
"quality": 64,
"quality_name": "高清 720P",
"qualities": [
{"id": 112, "name": "高清 1080P+"},
{"id": 80, "name": "高清 1080P"},
{"id": 64, "name": "高清 720P"},
{"id": 16, "name": "流畅 360P"}
],
"segments": [
{
"order": 1,
"urls": ["http://cn-sh-cc-01-15.bilivideo.com/upgcxcode/34/89/40131888934/40131888934-1-192.mp4?e=ig8euxZM2rNcNbRVhwdVhwdlhWdVhwdVhoNvNC8BqJIzNbfqXBvEuENvNC8a
## 错误响应示例
```json
{
"code": 0,
"msg": "未提供调用密钥",
"errcode": 11001
}
业务错误码说明
| errcode | 含义 |
|---|---|
| 11001 | 未提供调用密钥 |
| 11002 | 密钥错误 |
| 11003 | 密钥已禁用 |
| 11004 | 积分余额不足 |
| 11005 | 请求过于频繁(QPM 限制) |
| 11006 | 接口维护中 |
| 11007 | 接口已禁用 |
| 11008 | 接口不可用 |
| 11009 | 密钥校验暂不可用 |
| 11010 | 积分系统暂不可用 |
| 11011 | 收费接口须提供有效密钥 |
| 11012 | 鉴权方式错误 |
| 11013 | 接口不存在 |
| 11014 | ***地址无效 |
| 11015 | ***地址不允许 |
| 11016 | ***请求失败 |
| 11017 | 服务暂不可用 |
| 11018 | 请求方式不允许 |
| 11019 | 当前IP不在白名单内 |
| 11020 | 启用出口代理须提供有效密钥 |
| 11021 | 未配置可用出口代理 |
| 11022 | 出口代理不可用 |
| 11023 | 密钥已过期 |
| 11024 | 令牌分配积分不足 |
调用示例
终端 curl(bash)
curl -X POST "https://api.example.com/api/parser/bili/index.php?key=YOUR_KEY&action=play&url=https%3A%2F%2Fwww.bilibili.com%2Fbangumi%2Fplay%2Fep4697996&qn=all"
PHP
// PHP - Bili Parser
$url = 'https://api.example.com/api/parser/bili/index.php'
. '?key=' . urlencode($apiKey)
. '&action=play'
. '&url=' . urlencode('https://www.bilibili.com/bangumi/play/ep4697996')
. '&qn=all';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($data['code'] === 200) {
echo $data['data']['url'];
}
注意事项
- 接口调用密钥
key需妥善保存,不得嵌入前端页面、公开仓库或用户可见的代码中,避免被盗用导致额度损失。 - 本接口采用 Query 鉴权,
key以 URL 查询参数形式传递(如?key=xxx),请勿将密钥拼接在请求体或 Header 中。 - 返回的播放链接含签名参数,有效期有限,过期后需重新请求解析,直接复用旧链接可能导致播放失败。
action参数仅支持play、detail、refresh_token、token_status四种取值,其余值将被拒绝。qn参数用于指定画质,有效值为16、32、64、80、112、120或all;传入其他值可能返回默认画质或报错。format参数仅action=play时生效,mp4返回单文件完整流(默认),dash返回音视频分离的多码率分段流。cookie与access_key为本次请求临时使用,不会在服务端持久化存储,每次需主动传入。access_key与refresh_token配合使用时,若触发凭据轮换,响应中token_rotated字段将返回最新凭据,旧凭据立即作废。- 请求
b23.tv短链时,服务端会自动重定向解析,建议客户端允许 3xx 跳转或等待最终响应。 - 接口频率限制约为每分钟 120 次,超限将返回错误,请在高并发场景下做好限流与重试策略。
- 建议全站启用 HTTPS 传输,防止密钥及解析结果在链路中被拦截。
- 部分番剧或影视内容受 B 站区域版权限制,非会员内容需传入有效
cookie(含SESSDATA)方可解锁,否则返回结果可能为空或仅含试看片段。
快速上手
暂无代码示例。管理员可在后台用 AI 生成或手动编写。
在线测试
请求地址
api.vsaa.cn/api/parser/bili/index.php
Method
参数
Response
等待中
// 结果将在此处显示