直播
直播间信息、主播信息、弹幕/礼物等长连接消息、直播分区与榜单接口。注意直播间长连接使用 WebSocket,需要在 HTTP 接口拿到 token 与 host_list 后再建立连接。
来源声明:本页接口资料整理自开源项目
bilibili-api-python(GPL-3.0)随包提供的 API 数据文件,仅作来源标注。使用前请以哔哩哔哩实际返回为准,并遵守其服务条款。
直播间与主播
查询 info
start 开始直播
| 方法 | 地址 | 鉴权 |
|---|---|---|
| POST | https://api.live.bilibili.com/room/v1/Room/startLive | 需登录 + APP 签名 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
room_id | int | 房间号 |
platform | — | pc/web/... |
area_v2 | int | 直播间新版分区id, 可参考https://github.com/withsalt/BilibiliLiveTools#直播分区 |
csrf,csrf_token | — | 要给两个 |
stop 关闭直播
| 方法 | 地址 | 鉴权 |
|---|---|---|
| POST | https://api.live.bilibili.com/room/v1/Room/stopLive | 需登录 + APP 签名 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
room_id | int | 房间号 |
platform | — | pc/web/... |
csrf,csrf_token | — | 要给两个 |
room_play_info 获取房间信息(真实房间号,封禁情况等)
| 方法 | 地址 | 鉴权 |
|---|---|---|
| GET | https://api.live.bilibili.com/xlive/web-room/v1/index/getRoomPlayInfo | 免登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
room_id | int | 房间号 |
emoticons 获取当前用户在本房间可用的表情包
| 方法 | 地址 | 鉴权 |
|---|---|---|
| GET | https://api.live.bilibili.com/xlive/web-ucenter/v2/emoticon/GetEmoticons | 需登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
platform | const str | pc |
room_id | int | 房间号 |
danmu_info 获取聊天弹幕服务器配置信息(websocket)
| 方法 | 地址 | 鉴权 |
|---|---|---|
| GET | https://api.live.bilibili.com/xlive/web-room/v1/index/getDanmuInfo | 免登录 + WBI 签名 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
id | int | 真实房间号 |
type | int | 0 |
web_location | — | 444.8 |
room_info 获取直播间信息(标题,简介等)
| 方法 | 地址 | 鉴权 |
|---|---|---|
| GET | https://api.live.bilibili.com/xlive/web-room/v1/index/getInfoByRoom | 免登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
room_id | int | 真实房间号 |
user_info_in_room 获取自己在直播间的信息(粉丝勋章等级,直播用户等级等)
| 方法 | 地址 | 鉴权 |
|---|---|---|
| GET | https://api.live.bilibili.com/xlive/web-room/v1/index/getInfoByUser | 需登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
room_id | int | 真实房间号 |
area_info 获取直播间分区信息
| 方法 | 地址 | 鉴权 |
|---|---|---|
| GET | https://api.live.bilibili.com/room/v1/Area/getList | 免登录 |
user_info 获取直播用户等级等信息
| 方法 | 地址 | 鉴权 |
|---|---|---|
| GET | https://api.live.bilibili.com/xlive/web-ucenter/user/get_user_info | 需登录 |
user_guards 获取用户开通的大航海列表
| 方法 | 地址 | 鉴权 |
|---|---|---|
| GET | https://api.live.bilibili.com/xlive/web-ucenter/user/guards | 需登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
page | — | 页码 |
page_size | — | 每页数量, 过多可能报错 默认:10 |
bag_list 获取自己的礼物包裹
| 方法 | 地址 | 鉴权 |
|---|---|---|
| GET | https://api.live.bilibili.com/xlive/web-room/v1/gift/bag_list | 需登录 |
dahanghai 获取大航海列表
| 方法 | 地址 | 鉴权 |
|---|---|---|
| GET | https://api.live.bilibili.com/xlive/app-room/v1/guardTab/topList | 免登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
roomid | int | 真实房间号 |
page | int | 页码 |
ruid | int | 全称 room_uid,从 room_play_info 里头的 uid 可以找到 |
page_size | — | 29 |
gaonengbang 获取高能榜
| 方法 | 地址 | 鉴权 |
|---|---|---|
| GET | https://api.live.bilibili.com/xlive/general-interface/v1/rank/getOnlineGoldRank | 免登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
roomId | int | 真实房间号 |
page | int | 页码 |
ruid | int | 全称 room_uid,从 room_play_info 里头的 uid 可以找到 |
pageSize | — | 50 |
fan_model 获取房间的粉丝牌,自己的粉丝牌等数据
| 方法 | 地址 | 鉴权 |
|---|---|---|
| GET | https://api.live.bilibili.com/xlive/app-ucenter/v1/fansMedal/panel | 需登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
roomId | int | 房间号,不是必须的 |
page | int | 页码,不是必须的 |
target_id | int | 主播Uid,不是必须的 |
pageSize | int | 默认 10 是必须的,否则不返回有效数据 |
live_info 获取自己粉丝牌,粉丝勋章,大航海等数据
| 方法 | 地址 | 鉴权 |
|---|---|---|
| GET | https://api.live.bilibili.com/xlive/web-ucenter/user/live_info | 免登录 |
general_info 获取自己在当前房间的大航海信息, 是否开通,等级,当前经验,同时可获得自己开通的所有航海日志
| 方法 | 地址 | 鉴权 |
|---|---|---|
| GET | https://api.live.bilibili.com/xlive/fuxi-interface/general/half/initial | 需登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
actId | — | 未知,大航海信息:100061 |
roomId | — | 真实房间号 |
uid | — | 直播者uid |
csrf,csrf_token | — | 要给两个 |
update_news 更新房间公告
| 方法 | 地址 | 鉴权 |
|---|---|---|
| POST | https://api.live.bilibili.com/xlive/app-blink/v1/index/updateRoomNews | 需登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
roomId | — | 真实房间号 |
uid | — | 直播者uid |
content | — | 内容, 最多60字符 |
csrf | — | csrf |
csrf_token | — | csrf |
seven_rank 获取七日榜
| 方法 | 地址 | 鉴权 |
|---|---|---|
| GET | https://api.live.bilibili.com/rankdb/v1/RoomRank/webSevenRank | 免登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
roomid | int | 真实房间号 |
ruid | int | 全称 room_uid,从 room_play_info 里头的 uid 可以找到 |
fans_medal_rank 获取粉丝勋章排行榜
| 方法 | 地址 | 鉴权 |
|---|---|---|
| GET | https://api.live.bilibili.com/rankdb/v1/RoomRank/webMedalRank | 免登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
roomid | int | 真实房间号 |
ruid | int | 全称 room_uid,从 room_play_info 里头的 uid 可以找到 |
black_list 获取房间黑名单列表,登录账号需要是该房间房管
| 方法 | 地址 | 鉴权 |
|---|---|---|
| POST | https://api.live.bilibili.com/xlive/web-ucenter/v1/banned/GetSilentUserList | 需登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
room_id | int | 真实房间号 |
ps | const int | 1 |
room_play_url 获取房间直播流列表
| 方法 | 地址 | 鉴权 |
|---|---|---|
| GET | https://api.live.bilibili.com/xlive/web-room/v1/playUrl/playUrl | 免登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
cid | int | 真实房间号 |
platform | const str | web |
qn | int | 清晰度编号,原画 10000,蓝光 400,超清 250,高清 150,流畅 80 |
https_url_req | const int | 1 |
ptype | const int | 16 |
room_play_info_v2 获取房间信息及可用清晰度列表
| 方法 | 地址 | 鉴权 |
|---|---|---|
| GET | https://api.live.bilibili.com/xlive/web-room/v2/index/getRoomPlayInfo | 免登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
room_id | int | 真实房间号 |
protocol | int | 流协议,0 为 FLV 流,1 为 HLS 流。默认:0,1 |
format | int | 容器格式,0 为 flv 格式;1 为 ts 格式(仅限 hls 流);2 为 fmp4 格式(仅限 hls 流)。默认:0,2 |
codec | int | 视频编码,0 为 avc 编码,1 为 hevc 编码。默认:0,1 |
qn | int | 清晰度编号,原画:10000(建议),4K:800,蓝光(杜比):401,蓝光:400,超清:250,高清:150,流畅:80,默认:0 |
platform | const str | web |
ptype | const int | 16 |
popular_ticket 获取自己在该直播间的人气票信息
| 方法 | 地址 | 鉴权 |
|---|---|---|
| GET | https://api.live.bilibili.com/xlive/general-interface/v1/rank/getUserPopularTicketsNum | 需登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
ruid | int | 全称 room_uid,从 room_play_info 里头的uid可以找到 |
source | const str | live |
gift_common 获取该直播间通用礼物的信息,此 API 只返回 gift_id ,不包含礼物 price 参数
| 方法 | 地址 | 鉴权 |
|---|---|---|
| GET | https://api.live.bilibili.com/xlive/web-room/v1/giftPanel/giftData | 免登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
room_id | int | 显示房间号 |
platform | const str | pc |
source | const str | live |
area_id | int | 子分区 ID 可以不用填 |
area_parent_id | int | 父分区 ID 可以不用填, 获取分区 ID 可使用 get_area_info 方法 |
gift_special 获取该直播间特殊礼物的信息
| 方法 | 地址 | 鉴权 |
|---|---|---|
| GET | https://api.live.bilibili.com//xlive/web-room/v1/giftPanel/tabRoomGiftList | 免登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
room_id | int | 显示房间号 |
platform | const str | pc |
source | const str | live |
tab_id | int | 礼物tab编号,2 为特权礼物,3 为定制礼物 |
build | int | 未知作用, 默认 1 |
area_id | int | 子分区 ID 可以不用填 |
area_parent_id | int | 父分区 ID 可以不用填, 获取分区id可使用 get_area_info 方法 |
gift_config 获取所有礼物信息,三个字段可以不用填,但填了有助于减小返回内容的大小,置空返回约 2.7w 行,填了三个对应值返回约 1.4w 行
| 方法 | 地址 | 鉴权 |
|---|---|---|
| GET | https://api.live.bilibili.com/xlive/web-room/v1/giftPanel/giftConfig | 免登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
room_id | int | 显示房间号 可以不用填 |
platform | const str | pc |
source | const str | live |
area_id | int | 子分区 ID 可以不用填 |
area_parent_id | int | 父分区 ID 可以不用填, 获取分区id可使用 get_area_info 方法 |
followers_live_info 获取关注列表中正在直播的直播间信息, 包括房间直播热度, 房间名称及标题, 清晰度, 是否官方认证等信息.
| 方法 | 地址 | 鉴权 |
|---|---|---|
| GET | https://api.live.bilibili.com/xlive/app-interface/v1/relation/liveAnchor | 免登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
filterRule | int | 0 ,未知 |
need_recommend | int | 是否接受推荐直播间, 0为不接受, 1为接受 |
followers_unlive_info 获取关注列表中未在直播的直播间信息, 包括上次开播时间, 上次开播的类别, 直播间公告, 是否有录播等.
| 方法 | 地址 | 鉴权 |
|---|---|---|
| GET | https://api.live.bilibili.com/xlive/app-interface/v1/relation/unliveAnchor | 免登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
page | int | 页码 |
pagesize | — | 每页数量,过多可能报错 默认:30 |
live_history 获取用户直播观看历史.
| 方法 | 地址 | 鉴权 |
|---|---|---|
| GET | https://api.live.bilibili.com/xlive/web-ucenter/v1/history/get_history_by_uid | 需登录 |
操作 operate
send_danmaku 发送直播间弹幕,有的参数不确定因为自己不搞这块没权限发一些样式的弹幕
| 方法 | 地址 | 鉴权 |
|---|---|---|
| POST | https://api.live.bilibili.com/msg/send | 需登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
roomid | int | 真实房间号 |
color | int | 十进制颜色,有权限限制 |
fontsize | int | 字体大小,默认 25 |
mode | int | 弹幕模式,1 飞行 5 顶部 4 底部 |
msg | str | 弹幕信息 |
rnd | int | 当前时间戳 |
bubble | int | 默认 0,功能不知 |
reply_mid | int | uid |
csrf,csrf_token | str | 要给两个 |
send_emoticon 发送直播间弹幕,有的参数不确定因为自己不搞这块没权限发一些样式的弹幕
| 方法 | 地址 | 鉴权 |
|---|---|---|
| POST | https://api.live.bilibili.com/msg/send | 需登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
roomid | int | 真实房间号 |
color | int | 十进制颜色,有权限限制 |
fontsize | int | 字体大小,默认 25 |
mode | int | 弹幕模式,1 飞行 5 顶部 4 底部 |
msg | str | 表情包代号 |
rnd | int | 当前时间戳 |
bubble | int | 默认 0,功能不知 |
dm_type | int | 默认 1,功能不知 |
emoticonOptions | — | 默认 [object Object] 功能不知 |
csrf,csrf_token | str | 要给两个 |
send_popular_ticket 在直播间中赠送所有免费人气票
| 方法 | 地址 | 鉴权 |
|---|---|---|
| POST | https://api.live.bilibili.com/xlive/general-interface/v1/rank/popularRankFreeScoreIncr | 需登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
ruid | int | 全称 room_uid,从 room_play_info 里头的 uid 可以找到 |
csrf,csrf_token | — | 要给两个 |
visit_id | str | 空 |
add_block 封禁用户
| 方法 | 地址 | 鉴权 |
|---|---|---|
| POST | https://api.live.bilibili.com/xlive/web-ucenter/v1/banned/AddSilentUser | 需登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
room_id | int | 真实房间号 |
tuid | int | 封禁用户 UID |
mobile_app | str | 设备类型 |
hour | int | 禁言小时数, -1永久,0本场 |
visit_id | str | 空 |
del_block 解封用户
| 方法 | 地址 | 鉴权 |
|---|---|---|
| POST | https://api.live.bilibili.com/xlive/web-ucenter/v1/banned/DelSilentUser | 需登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
room_id | int | 真实房间号 |
tuid | int | 封禁用户 UID |
sign_up_dahanghai 航海日志签到
| 方法 | 地址 | 鉴权 |
|---|---|---|
| POST | https://api.live.bilibili.com/xlive/activity-interface/v2/userTask/UserTaskSignUp | 需登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
task_id | int | 任务 id,签到:1447,可能还有别的 |
uid | int | 真实房间号 |
csrf,csrf_token | — | 要给两个 |
send_gift_from_bag 在直播间中赠送包裹中的礼物,包裹信息可用 get_self_bag 方法获取
| 方法 | 地址 | 鉴权 |
|---|---|---|
| POST | https://api.live.bilibili.com/xlive/revenue/v1/gift/sendBag | 需登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
uid | int | 赠送用户的 UID |
bag_id | int | 礼物包裹的id |
gift_id | int | 礼物id |
gift_num | int | 赠送数量 |
platform | const str | pc |
send_ruid | int | 未知作用,默认:0 |
storm_beat_id | int | 未知作用,默认:0 |
price | int | 礼物单价,背包中的礼物价值默认:0 |
biz_code | const str | live |
biz_id | int | room_display_id 房间显示 ID |
ruid | int | 全称 room_uid,从 room_play_info 里头的 UID 可以找到 |
csrf,csrf_token | — | 要给两个 |
send_gift_gold 在直播间中赠送金瓜子礼物
| 方法 | 地址 | 鉴权 |
|---|---|---|
| POST | https://api.live.bilibili.com/xlive/revenue/v1/gift/sendGold | 需登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
uid | int | 赠送用户的 UID |
gift_id | int | 礼物 ID |
ruid | int | 全称 room_uid,从 room_play_info 里头的uid可以找到 |
send_ruid | int | 未知作用,默认:0 |
gift_num | int | 赠送数量 |
coin_type | const str | gold |
bag_id | int | 0 |
platform | const str | pc |
biz_code | const str | Live |
biz_id | int | room_display_id 房间显示 ID |
rnd | int | 当前时间戳 |
storm_beat_id | int | 未知作用,默认:0 |
price | int | 礼物单价 |
visit_id | — | void: 空 |
csrf,csrf_token | — | 要给两个 |
send_gift_silver 在直播间中赠送银瓜子礼物
| 方法 | 地址 | 鉴权 |
|---|---|---|
| POST | https://api.live.bilibili.com/xlive/revenue/v1/gift/sendSilver | 需登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
uid | int | 赠送用户的 UID |
gift_id | int | 礼物 ID 辣条的 ID 为 1 |
ruid | int | 全称 room_uid,从 room_play_info 里头的 UID 可以找到 |
send_ruid | int | 未知作用,默认:0 |
gift_num | int | 赠送数量 |
coin_type | const str | silver |
bag_id | int | 0 |
platform | const str | pc |
biz_code | const str | Live |
biz_id | int | room_display_id 房间显示id |
rnd | int | 当前时间戳 |
storm_beat_id | int | 未知作用,默认:0 |
price | int | 礼物单价 辣条单价为100 |
visit_id | int | 空 |
csrf,csrf_token | — | 要给两个 |
receive_reward 领取航海日志奖励
| 方法 | 地址 | 鉴权 |
|---|---|---|
| POST | https://api.live.bilibili.com/xlive/activity-interface/v2/spec-act/sep-guard/receive/awards | 需登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
ruid | int | 房间真实id |
receive_type | int | 领取类型, 全部领取:2 |
csrf,csrf_token | — | 要给两个 |
create_reserve 创建预约
| 方法 | 地址 | 鉴权 |
|---|---|---|
| POST | https://api.bilibili.com/x/activity/up/reserve/create | 需登录 |
请求体(application/x-www-form-urlencoded)
| 参数 | 类型 | 说明 |
|---|---|---|
type | int | 2 |
title | str | 预约标题 |
live_plan_start_time | int | 预约开始时间,时间戳 |
stime | int | 预约结束时间,时间戳 |
from | int | 1 |
heartbeat_web [直播心跳包]
| 方法 | 地址 | 鉴权 |
|---|---|---|
| GET | https://live-trace.bilibili.com/xlive/rdata-interface/v1/heartbeat/webHeartBeat | 免登录 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
pf | str | web |
hb | str | 60|{直播间真实 id}|1|0 base64加密得到的结果 |
直播分区
查询 info
list
| 方法 | 地址 | 鉴权 |
|---|---|---|
| GET | https://api.live.bilibili.com/xlive/web-interface/v1/second/getList | 免登录 + WBI 签名 |
Query / 表单参数
| 参数 | 类型 | 说明 |
|---|---|---|
platform | str | web |
parent_area_id | int | 主分区 id |
area_id | int | 分区 id,如果要获取主分区所有数据则为 0 |
page | int | 第几页 |
sort_type | str | 排序方式,live_time 最新, 不填写则为综合 |