bac

直播间管理

开通直播间

https://api.live.bilibili.com/xlive/app-blink/v1/preLive/CreateRoom

请求方式:POST

认证方式:Cookie(SESSDATA)

鉴权方式:Cookie中bili_jct的值正确并与csrf相同

正文参数( application/x-www-form-urlencoded ): | 参数名 | 类型 | 内容 | 必要性 | 备注 | | ——- | —- | ———————— | —— | ——————– | | platform | str | 客户端? | 必要 | 默认值web | | visit_id | str | 未知 | | 默认空 | | csrf | str | CSRF Token(位于cookie) | 必要 | | | csrf_token | str | CSRF Token(位于 cookie) | | |

json回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
1531193016:已经创建直播间~
-400:请求错误
ttl str 错误信息 默认为1
message str 错误信息 默认为0
data array 信息本体  

data对象:

字段 类型 内容 备注
roomID str 直播间房间号 创建成功返回直播间号

示例:

开通直播间

curl 'https://api.live.bilibili.com/xlive/app-blink/v1/preLive/CreateRoom' \
--data-urlencode 'platform=web' \
--data-urlencode 'visit_id=' \
--data-urlencode 'csrf=xxx' \
--data-urlencode 'csrf_token=xxx' \
-b 'SESSDATA=xxx;bili_jct=xx'
查看响应示例: ```json { "code": 0, "message": "0", "ttl": 1, "data": { "roomID": "1234" } } ``` ```json { "code": 1531193016, "message": "已经创建直播间~", "ttl": 1, "data": { "roomID": "" } } ```

更新直播间信息

https://api.live.bilibili.com/room/v1/Room/update

请求方式:POST

认证方式:Cookie(SESSDATA)

鉴权方式:Cookie中bili_jct的值正确并与csrf相同

正文参数( application/x-www-form-urlencoded ):

参数名 类型 内容 必要性 备注
csrf str CSRF Token(位于cookie) 必要  
csrf_token str CSRF Token(位于 cookie) 非必要  
platform str 平台标识 非必要  
visit_id str (?) 非必要 某种标识?
room_id num 直播间id 必要 必须为自己的直播间id
title str 直播间标题 非必要 上限40个字符
area_id num 直播分区id(子分区id) 非必要 详见直播分区
add_tag str 要添加的标签 非必要 开播设置界面上限10个字符
del_tag str 要删除的标签 非必要 若存在add_tag时不起作用

json回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
-1:操作太频繁
1:错误
3:未登录或鉴权失败
405:不允许的请求方法
60009:分区已下线
65530:token错误(登录错误)
msg str 错误信息 默认为ok
message str 错误信息 默认为ok
data obj 信息本体 部分失败情况下是[](空数组)

data对象:

字段 类型 内容 备注
sub_session_key str 信息变动标识  
audit_info obj 标题审核信息  

data中的audit_info对象:

字段 类型 内容 备注
audit_title_reason str 标题审核提示  
audit_title_status num 标题审核状态  
audit_title str 被审核的标题 更新标题时存在
update_title str "" 作用尚不明确

示例:

修改直播间10352053标题为测试

curl 'https://api.live.bilibili.com/room/v1/Room/update' \
  --data-urlencode 'room_id=10352053' \
  --data-urlencode 'title=测试' \
  --data-urlencode 'csrf=xxx' \
  -b 'SESSDATA=xxx;bili_jct=xx'
查看响应示例: ```json { "code":0, "msg":"ok", "message":"ok", "data":{ "sub_session_key":"", "audit_info":{ "audit_title_reason":"先发后审", "update_title":"", "audit_title_status":2, "audit_title":"测试" } } } ```

修改直播间10352053分区为40

curl 'https://api.live.bilibili.com/room/v1/Room/update' \
  --data-urlencode 'room_id=10352053' \
  --data-urlencode 'area_id=40' \
  --data-urlencode 'csrf=xxx' \
  -b 'SESSDATA=xxx;bili_jct=xx'
查看响应示例: ```json { "code": 0, "msg": "ok", "message": "ok", "data": { "sub_session_key": "", "audit_info": { "audit_title_reason": "", "update_title": "", "audit_title_status": 0 } } } ```

给直播间11996900添加一个标签为测试标签

curl 'https://api.live.bilibili.com/room/v1/Room/update' \
  --data-urlencode 'room_id=11996900' \
  --data-urlencode 'add_tag=测试标签' \
  --data-urlencode 'csrf=xxx' \
  -b 'SESSDATA=xxx;bili_jct=xxx'
查看响应示例: ```json { "code": 0, "msg": "ok", "message": "ok", "data": { "sub_session_key": "", "audit_info": { "audit_title_reason": "", "update_title": "", "audit_title_status": 0 } } } ```

给直播间11996900删除内容为测试标签的标签

curl 'https://api.live.bilibili.com/room/v1/Room/update' \
  --data-urlencode 'room_id=11996900' \
  --data-urlencode 'del_tag=测试标签' \
  --data-urlencode 'csrf=xxx' \
  -b 'SESSDATA=xxx;bili_jct=xxx'
查看响应示例: ```json { "code": 0, "msg": "ok", "message": "ok", "data": { "sub_session_key": "", "audit_info": { "audit_title_reason": "", "update_title": "", "audit_title_status": 0 } } } ```

开始直播

https://api.live.bilibili.com/room/v1/Room/startLive

请求方式:POST

认证方式:Cookie(SESSDATA)

鉴权方式:Cookie中bili_jct的值正确并与csrf相同

开播时必须有分区选择,开播后返回推流地址

正文参数( application/x-www-form-urlencoded ):

参数名 类型 内容 必要性 备注
room_id num 直播间id 必要 必须为自己的直播间id
area_v2 num 直播分区id(子分区id) 必要 详见直播分区
platform str 直播平台 必要 直播姬(pc):pc_link
直播姬(android):android_link
csrf str CSRF Token(位于cookie) 必要  

json回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
65530:token错误(登录错误)
1:错误
60009:分区不存在
60013:非常抱歉,您所在的地区受实名认证限制无法开播
60024: 目标分区需要人脸认证
60034: 系统维护仅支持直播姬开播
60037: web 在线开播已下线
(其他错误码有待补充)
msg str 提示信息 默认为空
message str 提示信息 默认为空
data obj 信息本体  

data对象:

字段 类型 内容 备注
change num 是否改变状态 0:未改变
1:改变
status str 直播间状态 LIVE
room_type num 0 作用尚不明确
rtmp obj RTMP推流地址信息  
protocols array 推流协议、地址、密钥等信息
其中地址、密钥与 rtmp 字段的内容是一致的
协议只见到过 rtmp
try_time str ??? 作用尚不明确
live_key str 标记直播场次的key  
sub_session_key str 信息变动标识  
notice obj ??? 作用尚不明确
qr str "" 作用尚不明确
need_face_auth bool 需要人脸识别? 作用尚不明确
service_source str ??? 作用尚不明确
rtmp_backup null ??? 作用尚不明确
up_stream_extra obj 主播推流额外信息?  

data中的rtmp对象:

字段 类型 内容 备注
addr str RTMP推流(发送)地址 重要
code str RTMP推流参数(密钥) 重要
new_link str 获取CDN推流ip地址重定向信息的url 没啥用
provider str 推流云服务节点厂商 txy: 腾讯云

data中的protocols数组:

类型 内容 备注
0 obj rtmp 字段在地址和密钥上相同的推流协议信息  

data中的protocols数组中的对象:

字段 类型 内容 备注
protocol str rtmp 推流协议
addr str RTMP推流(发送)地址 格式为 rtmp://<推流节点>/live-bvc/
code str RTMP推流参数(密钥) 格式为 ?streamname=live_<B站UID>_<未知数字>&key=<密钥>&schedule=rtmp&pflag=<开播平台标志>
new_link str 获取CDN推流ip地址重定向信息的url  
provider str 推流云服务节点厂商 txy: 腾讯云

data中的notice对象:

字段 类型 内容 备注
type num 1 作用尚不明确
status num 0 作用尚不明确
title str 作用尚不明确
msg str 作用尚不明确
button_text str 作用尚不明确
button_url str 作用尚不明确

data中的up_stream_extra对象:

字段 类型 内容 备注
isp str 主播的互联网服务提供商  

示例:

27作为分区id开播直播间10352053

其中"data"."rtmp"."addr"为推流地址

"data"."rtmp"."code"为推流参数

curl 'https://api.live.bilibili.com/room/v1/Room/startLive' \
--data-urlencode 'room_id=10352053' \
--data-urlencode 'area_v2=27' \
--data-urlencode 'platform=pc' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx;bili_jct=xx'
查看响应示例: ```json { "code": 0, "data":{ "change": 1, "status": "LIVE", "try_time": "0000-00-00 00:00:00", "room_type": 0, "live_key": "608336837537435443", "sub_session_key": "608336837537435443sub_time:1747292297", "rtmp":{ "type": 1, "addr": "rtmp://live-push.bilivideo.com/live-bvc/", "code": "?streamname=live_348892132_32373699\u0026key=e03061d4a7529d8eaa322dc4d330ca1c\u0026schedule=rtmp\u0026pflag=11", "new_link": "https://core.bilivideo.com/video/uplinkcore/selfbuild/schedule?up_rtmp=live-push.bilivideo.com%2Flive-bvc%2F%3Fstreamname%3Dlive_348892132_32373699%26key%3De73061d8a7539d8eaa233dc4d880ca1c%26schedule%3Drtmp%26pflag%3D11\u0026edge=edge", "provider": "live" }, "protocols":[ { "protocol": "rtmp", "addr": "rtmp://live-push.bilivideo.com/live-bvc/","code":"?streamname=live_348892132_32373699\u0026key=e73061d4a1002d8eaa322dc4d880ca1c\u0026schedule=rtmp\u0026pflag=11", "new_link": "https://core.bilivideo.com/video/uplinkcore/selfbuild/schedule?up_rtmp=live-push.bilivideo.com%2Flive-bvc%2F%3Fstreamname%3Dlive_348892132_32373699%26key%3De10298d4a7539d8eaa322dc4d220ca1c%26schedule%3Drtmp%26pflag%3D11\u0026edge=edge", "provider": "txy" } ], "notice":{ "type": 1, "status": 0, "title": "", "msg": "", "button_text": "", "button_url": "" }, "qr": "", "need_face_auth": false, "service_source": "live-streaming", "rtmp_backup": null, "up_stream_extra":{ "isp": "电信" } }, "message": "", "msg": "" } ```

关闭直播

https://api.live.bilibili.com/room/v1/Room/stopLive

请求方式:POST

认证方式:Cookie(SESSDATA)

鉴权方式:Cookie中bili_jct的值正确并与csrf相同

正文参数( application/x-www-form-urlencoded ):

参数名 类型 内容 必要性 备注
platform str 直播平台 必要 直播姬(pc):pc_link
直播姬(android):android_link
room_id num 直播间id 必要 必须为自己的直播间id
csrf str CSRF Token(位于cookie) 必要  

json回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
65530:token错误(登录错误)
-400:没有权限
60034: 系统维护仅支持直播姬关播
(其他错误码有待补充)
msg str 提示信息 默认为空
message str 提示信息 默认为空
data obj 信息本体  

data对象:

字段 类型 内容 备注
change num 是否改变状态 0:未改变
1:改变
status str 直播间状态 PREPARINGROUND

示例:

关闭直播间10352053的直播

curl 'https://api.live.bilibili.com/room/v1/Room/stopLive' \
  --data-urlencode 'platform=pc_link' \
  --data-urlencode 'room_id=10352053' \
  --data-urlencode 'csrf=xxx' \
  -b 'SESSDATA=xxx;bili_jct=xxx'
查看响应示例: ```json { "code": 0, "msg": "", "message": "", "data": { "change": 1, "status": "PREPARING" } } ```

预更新直播间信息

https://api.live.bilibili.com/xlive/app-blink/v1/preLive/UpdatePreLiveInfo

请求方法: POST

认证方式:Cookie(SESSDATA)

鉴权方式:Cookie中bili_jct的值正确并与csrf相同

正文参数( application/x-www-form-urlencoded ):

参数名 类型 内容 必要性 备注
csrf str CSRF Token(位于cookie) 必要  
csrf_token str CSRF Token(位于cookie) 必要  
platform str 平台标识 必要 似乎可随意提供
网页端: web
mobi_app str 平台标识? 必要 似乎可随意提供
网页端: web
build num 构建标识? 必要 建议取1,似乎可随意提供
cover str 直播封面链接 非必要 图片链接需要在.hdslb.com域名下
title str 直播间标题 非必要 参见更新直播间信息的title参数
coverVertical str (?) 非必要 作用尚不明确
liveDirectionType num (?) 非必要 1
visit_id str (?) 非必要 ""

json回复:

根对象:

字段 类型 内容 备注
code num 返回值 0: 成功
1: 错误
100402: 图片地址不合法
message str 错误信息 成功时为"0"
ttl num 1  
data obj 内容本体  

data对象:

字段 类型 内容 备注
audit_info obj 审核信息  

data.audit_info对象:

字段 类型 内容 备注
audit_title str 被审核的标题  
audit_title_status num 标题审核状态  
audit_title_reason str 标题审核提示  

示例:

更新直播间封面

curl 'https://api.live.bilibili.com/xlive/app-blink/v1/preLive/UpdatePreLiveInfo' \
  --data-urlencode 'platform=web' \
  --data-urlencode 'mobi_app=web' \
  --data-urlencode 'build=1' \
  --data-urlencode 'cover=https://i0.hdslb.com/bfs/live/59fc254c1f51a962dbf69ae85e4920f2f6fb8dcd.png' \
  --data-urlencode 'csrf=xxx' \
  -b 'SESSDATA=xxx;bili_jct=xxx'
查看响应示例: ```json { "code": 0, "message": "0", "ttl": 1, "data":{ "audit_info":{ "audit_title": "", "audit_title_status": 0, "audit_title_reason": "" } } } ```

使用此接口更新直播间标题

curl 'https://api.live.bilibili.com/xlive/app-blink/v1/preLive/UpdatePreLiveInfo' \
  --data-urlencode 'platform=web' \
  --data-urlencode 'mobi_app=web' \
  --data-urlencode 'build=1' \
  --data-urlencode 'title=你好你好,我是花火~咱们来找点乐子吧?小灰毛,不要害羞嘛,要大胆的来,一起欢愉吧' \
  --data-urlencode 'csrf=xxx' \
  -b 'SESSDATA=xxx;bili_jct=xxx'
查看响应示例: ```json { "code": 0, "message": "0", "ttl": 1, "data":{ "audit_info":{ "audit_title": "你好你好,我是花火~咱们来找点乐子吧?小灰毛,不要害羞嘛,要大胆的来,一起欢愉吧", "audit_title_status": 2, "audit_title_reason": "先发后审" } } } ```

更新直播间公告

https://api.live.bilibili.com/xlive/app-blink/v1/index/updateRoomNews

请求方式:POST

认证方式:Cookie(SESSDATA)

鉴权方式:Cookie中bili_jct的值正确并与csrf相同

正文参数( application/x-www-form-urlencoded ):

参数名 类型 内容 必要性 备注
room_id num 直播间id 必要 必须为自己的直播间id
uid num 用户id 必要  
content str 公告内容 必要 最大60个字符,可以为空
csrf str CSRF Token(位于cookie) 必要  
csrf_token str CSRF Token(位于 cookie)    

json回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
65530:token错误(登录错误)
1:错误
data array  
message str 错误信息 默认为ok
ttl num 1 作用尚不明确

示例:

修改直播间11996900公告为测试修改公告

curl 'https://api.live.bilibili.com/xlive/app-blink/v1/index/updateRoomNews' \
--data-urlencode 'room_id=11996900' \
--data-urlencode 'uid=306903238' \
--data-urlencode 'content=测试修改公告' \
--data-urlencode 'csrf_token=xxx' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx;bili_jct=xxx'
查看响应示例: ```json { "code": 0, "message": "0", "ttl": 1, "data": {} } ```