https://api.live.bilibili.com/room/v1/Room/get_info
请求方式: GET
URL参数:
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| room_id | num | 直播间号 | 必要 | 可以为短号 |
json回复:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| code | num | 返回值 | 0:成功 1:不存在 |
| message | str | 错误信息 | |
| msg | str | 错误信息 | |
| data | obj | 信息本体 |
data对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| uid | num | 主播mid | |
| room_id | num | 直播间长号 | |
| short_id | num | 直播间短号 | 为0是无短号 |
| attention | num | 关注数量 | |
| online | num | 观看人数 | |
| is_portrait | bool | 是否竖屏 | |
| description | str | 描述 | |
| live_status | num | 直播状态 | 0:未开播 1:直播中 2:轮播中 |
| area_id | num | 分区id | |
| parent_area_id | num | 父分区id | |
| parent_area_name | str | 父分区名称 | |
| old_area_id | num | 旧版分区id | |
| background | str | 背景图片链接 | |
| title | str | 标题 | |
| user_cover | str | 封面 | |
| keyframe | str | 关键帧 | 用于网页端悬浮展示 |
| is_strict_room | bool | 未知 | 未知 |
| live_time | str | 直播开始时间 | YYYY-MM-DD HH:mm:ss |
| tags | str | 标签 | ’,’分隔 |
| is_anchor | num | 未知 | 未知 |
| room_silent_type | str | 禁言状态 | |
| room_silent_level | num | 禁言等级 | |
| room_silent_second | num | 禁言时间 | 单位是秒 |
| area_name | str | 分区名称 | |
| pardants | str | 未知 | 未知 |
| area_pardants | str | 未知 | 未知 |
| hot_words | list(str) | 热词 | |
| hot_words_status | num | 热词状态 | |
| verify | str | 未知 | 未知 |
| new_pendants | obj | 头像框\大v | |
| up_session | str | 未知 | |
| pk_status | num | pk状态 | |
| pk_id | num | pk id | |
| battle_id | num | 未知 | |
| allow_change_area_time | num | ||
| allow_upload_cover_time | num | ||
| studio_info | obj |
new_pendants对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| frame | obj | 头像框 | |
| mobile_frame | obj | 同上 | 手机版, 结构一致, 可能null |
| badge | obj | 大v | |
| mobile_badge | obj | 同上 | 手机版, 结构一致, 可能null |
frame对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| name | str | 名称 | |
| value | str | 值 | |
| position | num | 位置 | |
| desc | str | 描述 | |
| area | num | 分区 | |
| area_old | num | 旧分区 | |
| bg_color | str | 背景色 | |
| bg_pic | str | 背景图 | |
| use_old_area | bool | 是否旧分区号 |
badge对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| name | str | 类型 | v_person: 个人认证(黄) v_company: 企业认证(蓝) |
| position | num | 位置 | |
| value | str | 值 | |
| desc | str | 描述 |
studio_info对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| status | num | ||
| master_list | array |
示例:
查询直播间room_id=1信息
curl -G 'https://api.live.bilibili.com/room/v1/Room/get_info' \
--data-urlencode 'room_id=1'
https://api.live.bilibili.com/room/v1/Room/getRoomInfoOld
请求方式:GET
url参数:
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| mid | num | 目标用户mid | 必要 |
json回复:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| code | num | 返回值 | 0:成功 -400:请求错误 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | obj | 信息本体 |
data对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| roomStatus | num | 直播间状态 | 0:无房间 1:有房间 |
| roundStatus | num | 轮播状态 | 0:未轮播 1:轮播 |
| live_status | num | 直播状态 | 0:未开播 1:直播中 |
| url | str | 直播间网页url | |
| title | str | 直播间标题 | |
| cover | str | 直播间封面url | |
| online | num | 直播间人气 | 值为上次直播时刷新 |
| roomid | num | 直播间id(短号) | |
| broadcast_type | num | 0 | |
| online_hidden | num | 0 |
示例:
查询用户mid=322892的直播间信息
curl -G 'https://api.live.bilibili.com/room/v1/Room/getRoomInfoOld' \
--data-urlencode 'mid=322892'
https://api.live.bilibili.com/room/v1/Room/room_init
请求方式:GET
url参数:
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| id | num | 目标直播间号(短号) | 必要 |
json回复:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| code | num | 返回值 | 0:成功 60004:直播间不存在 |
| msg | str | 错误信息 | 默认为ok |
| message | str | 错误信息 | 默认为ok |
| data | obj | 信息本体 |
data对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| room_id | num | 直播间真实id | |
| short_id | num | 直播间id(短号) | |
| uid | num | 主播用户mid | |
| need_p2p | num | 是否p2p | |
| is_hidden | bool | 是否隐藏 | |
| is_locked | bool | 是否锁定 | |
| is_portrait | bool | 是否竖屏 | |
| live_status | num | 直播状态 | 0:未开播 1:直播中 2:轮播中 |
| hidden_till | num | 隐藏时间戳 | |
| lock_till | num | 锁定时间戳 | |
| encrypted | bool | 是否加密 | |
| pwd_verified | bool | 加密房间是否通过密码验证 | encrypted=true时才有意义 |
| live_time | num | 开播时间 | 未开播时为-62170012800 |
| room_shield | num | 未知 | |
| is_sp | num | 是否为特殊直播间 | 0:普通直播间 1:付费直播间 |
| special_type | num | 特殊直播间标志 | 0:普通直播间 1:付费直播间 2:拜年祭直播间 |
示例:
查询直播间id=76的直播间信息
curl -G 'https://api.live.bilibili.com/room/v1/Room/room_init' \
--data-urlencode 'id=76'
https://api.live.bilibili.com/live_user/v1/Master/info
请求方式:GET
url参数:
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| uid | num | 目标用户mid | 必要 |
json回复:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| code | num | 返回值 | 0:成功 1:参数错误 |
| msg | str | 错误信息 | 默认为空 |
| message | str | 错误信息 | 默认为空 |
| data | obj | 信息本体 |
data对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| info | obj | 主播信息 | |
| exp | obj | 经验等级 | |
| follower_num | num | 主播粉丝数 | |
| room_id | num | 直播间id(短号) | |
| medal_name | str | 粉丝勋章名 | |
| glory_count | num | 主播荣誉数 | |
| pendant | str | 直播间头像框url | |
| link_group_num | num | 0 | 作用尚不明确 |
| room_news | obj | 主播公告 |
info对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| uid | num | 主播mid | |
| uname | str | 主播用户名 | |
| face | str | 主播头像url | |
| official_verify | obj | 认证信息 | |
| gender | num | 主播性别 | -1:保密 0:女 1:男 |
info中的official_verify对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| type | num | 主播认证类型 | -1:无 0:个人认证 1:机构认证 |
| desc | str | 主播认证信息 |
exp对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| master_level | obj | 主播等级 |
exp中的master_level对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| level | num | 当前等级 | |
| color | num | 等级框颜色 | |
| current | array | 当前等级信息 | |
| next | array | 下一等级信息 |
master_level中的current数组:
| 项 | 类型 | 内容 | 备注 |
|---|---|---|---|
| 0 | num | 升级积分 | |
| 1 | num | 总积分 |
master_level中的next数组:
| 项 | 类型 | 内容 | 备注 |
|---|---|---|---|
| 0 | num | 升级积分 | |
| 1 | num | 总积分 |
room_news对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| content | str | 公告内容 | |
| ctime | str | 公告时间 | |
| ctime_text | str | 公告日期 |
示例:
查询直播间mid=2的主播信息
curl -G 'https://api.live.bilibili.com/live_user/v1/Master/info' \
--data-urlencode 'uid=2'
https://api.live.bilibili.com/xlive/web-room/v1/index/getRoomBaseInfo
请求方式: GET
注: 亦可用于批量获取
URL参数:
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| req_biz | str | web_room_componet |
必要 | |
| room_ids | num | 直播间短ID | 不必要 | 多个重复该参数即可 |
JSON回复:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| code | num | 返回值 | 0: 成功 -400: 请求错误 |
| message | str | 错误信息 | 默认为 0 |
| ttl | num | 1 | |
| data | obj | 信息本体 |
data对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| by_uids | obj | 空 | |
| by_room_ids | obj | 直播间信息 |
data中的by_room_ids对象:
以直播间长ID为键, 直播间信息为值的, 按键名降序排序
by_room_ids中的值对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| room_id | num | 直播间长ID | |
| uid | num | 主播用户mid | |
| area_id | num | 直播间分区ID | |
| live_status | num | 直播状态 | 0: 未开播 1: 直播中 2: 轮播中 |
| live_url | str | 直播间网页url | |
| parent_area_id | num | 直播间父分区ID | |
| title | str | 直播间标题 | |
| parent_area_name | str | 直播间父分区名称 | |
| area_name | str | 直播间分区名称 | |
| live_time | str | 开播时间 | yyyy-MM-dd HH:mm:ss |
| description | str | 直播间简介 | |
| tags | str | 直播间标签 | 以 , 分隔 |
| attention | num | 关注数 | |
| online | num | 在线人数 | |
| short_id | num | 直播间短ID | 为0是无短号 |
| uname | str | 主播用户名 | |
| cover | str | 直播间封面url | |
| background | str | 直播间背景url | |
| join_slide | num | 1 | |
| live_id | num | 0 | |
| live_id_str | str | “0” |
示例:
curl -G 'https://api.live.bilibili.com/xlive/web-room/v1/index/getRoomBaseInfo' \
--url-query 'req_biz=web_room_componet' \
--url-query 'room_ids=1' \
--url-query 'room_ids=3
这里是哔哩哔哩官方音乐台喔!
一起来听音乐吧ε=ε=(ノ≧∇≦)ノ
没想到蒸汽配圣诞下装,意外的很暴露呢=3=
\n", "tags": "", "attention": 225431, "online": 0, "short_id": 3, "uname": "3号直播间", "cover": "", "background": "https://i0.hdslb.com/bfs/live/2836bb7b84c792e2c6aadfd4d1cce13484775fa3.jpg", "join_slide": 1, "live_id": 0, "live_id_str": "0" }, "5440": { "room_id": 5440, "uid": 9617619, "area_id": 701, "live_status": 2, "live_url": "https://live.bilibili.com/5440", "parent_area_id": 11, "title": "华为nova Flip新生之夜", "parent_area_name": "知识", "area_name": "科技·科学", "live_time": "0000-00-00 00:00:00", "description": "华为novaFlip新生之夜正在直播中!备案号:Z0910417240818001
https://api.live.bilibili.com/room/v1/Room/get_status_info_by_uids
请求方式:GET/POST
认证方式:无 (无需添加Cookie)
url参数 (GET方式):
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| uids[] | array | 要查询的主播 mid | 必要 |
正文参数 (POST方式):
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| uids | nums | 要查询的主播 mid | 必要 |
json回复:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| code | num | 返回值 | 0:成功 -111:csrf校验失败 |
| message | str | 错误信息 | 默认为success |
| msg | str | 错误信息 | 默认为success |
| ttl | num | 1 | |
| data | obj | 信息本体 |
data对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| uid | str | 直播间信息 | 实际字段为主播mid |
uid对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| title | str | 直播间标题 | |
| room_id | num | 直播间房间号 | 直播间实际房间号 |
| uid | num | 主播mid | |
| online | num | 直播间在线人数 | |
| live_time | num | 开播时间戳,单位秒,未开播时为0 | |
| live_status | num | 直播间开播状态 | 0:未开播 1:正在直播 2:轮播中 |
| short_id | num | 直播间房间号 | 直播间短房间号,常见于签约主播 |
| area | num | 直播间分区id | |
| area_name | str | 直播间分区名 | |
| area_v2_id | num | 直播间新版分区id | |
| area_v2_name | str | 直播间新版分区名 | |
| area_v2_parent_id | num | 直播间父分区id | |
| area_v2_parent_name | str | 直播间父分区名 | |
| uname | str | 主播用户名 | |
| face | str | 主播头像url | |
| tag_name | str | 直播间标签 | |
| tags | str | 直播间自定标签 | |
| cover_from_user | str | 直播间封面url | |
| keyframe | str | 直播间关键帧url | |
| lock_till | str | 直播间封禁信息 | |
| hidden_till | str | 直播间隐藏信息 | |
| broadcast_type | num | 直播类型 | 0:普通直播 1:手机直播 |
示例:
查询用户mid=672328094的直播间信息
# GET方式
curl -G 'https://api.live.bilibili.com/room/v1/Room/get_status_info_by_uids'
--data-urlencode 'uids[]=672328094'
# POST方式
curl 'https://api.live.bilibili.com/room/v1/Room/get_status_info_by_uids' \
-H "Content-Type: application/json" \
-d "{\"uids\": [672328094]}"
| 代码 | 说明 |
|---|---|
| 30000 | 杜比 |
| 20000 | 4K |
| 10000 | 原画 |
| 400 | 蓝光 |
| 250 | 超清 |
| 150 | 高清 |
| 80 | 流畅 |
https://api.live.bilibili.com/xlive/web-room/v2/index/getRoomPlayInfo
请求方式:GET
认证方式:无 (无需添加Cookie)
url参数 (GET方式):
| 参数名 | 类型 | 内容 | 必填 | 备注 |
|---|---|---|---|---|
| room_id | num | 直播间id | 必要 | |
| protocol | str | 直播协议 | 必要 | 0:http_stream 1:http_hls 可多选, 使用英文逗号分隔 |
| format | str | 格式 | 必要 | 0:flv 1:ts 2:fmp4 可多选, 使用英文逗号分隔 |
| codec | str | 编码格式 | 必要 | 0:AVC 1:HEVC 可多选, 使用英文逗号分隔 |
| qn | num | 清晰度编码 | 默认150清晰度代码 |
|
| platform | str | web |
||
| ptype | num | 8 |
||
| dolby | num | 5 |
||
| panorama | num | 1 |
||
| only_audio | num | 是否为音频流 | 非必要 | 默认为视频流,1 为音频流 |
json回复:
根对象:
| 字段名 | 类型 | 内容 | 备注 |
|---|---|---|---|
| code | num | 响应码 | 0:成功 1002002:参数错误 |
| message | str | 0 | |
| ttl | num | 1 | |
| data | obj | 信息本体 |
data对象:
| 字段名 | 类型 | 内容 | 备注 |
|---|---|---|---|
| room_id | num | 直播间id | |
| short_id | num | 直播间短id | |
| uid | num | 主播uid | |
| is_hidden | bool | 直播间是否被隐藏 | |
| is_locked | bool | 直播间是否被锁定 | |
| is_portrait | bool | 是否竖屏 | |
| live_status | num | 直播状态 | 0:未开播 1:直播中 2:轮播中 |
| hidden_till | num | 隐藏结束时间 | |
| lock_till | num | 封禁结束时间 | 秒级时间戳 |
| encrypted | bool | 直播间为加密直播间 | |
| pwd_verified | bool | 是否通过密码验证 | 当encrypted为true时才有意义 |
| live_time | num | 本次开播时间 | 秒级时间戳 |
| room_shield | num | ||
| all_special_types | array | ||
| playurl_info | obj | 直播流信息 |
playurl_info对象
| 字段名 | 类型 | 内容 | 备注 |
|---|---|---|---|
| conf_json | str | ||
| playurl | obj |
playurl对象
| 字段名 | 类型 | 内容 | 备注 |
|---|---|---|---|
| cid | num | 直播间id | |
| g_qn_desc | array | 清晰度列表 | |
| stream | array | 直播流信息 | |
| p2p_data | obj | ||
| dolby_qn |
g_qn_desc数组中的对象
| 字段名 | 类型 | 内容 | 备注 |
|---|---|---|---|
| qn | num | 清晰度代码 | 清晰度代码 |
| desc | str | 清晰度描述 | |
| hdr_desc | str | ||
| attr_desc |
stream数组中的对象
| 字段名 | 类型 | 内容 | 备注 |
|---|---|---|---|
| protocol_name | str | 协议名 | |
| format | array | 格式列表 |
format数组中的对象
| 字段名 | 类型 | 内容 | 备注 |
|---|---|---|---|
| format_name | str | 格式名 | |
| codec | array | 编码列表 |
codec数组中的对象
| 字段名 | 类型 | 内容 | 备注 |
|---|---|---|---|
| codec_name | str | 编码名 | |
| current_qn | num | 当前清晰度编码 | 清晰度代码 |
| accept_qn | array | 可用清晰度编码列表 | 清晰度代码 |
| base_url | str | 播放源路径 | |
| url_info | array | 域名信息列表 | |
| hdr_qn | null | ||
| dolby_type | num | ||
| attr_name | str |
url_info数组中的对象
| 字段名 | 类型 | 内容 | 备注 |
|---|---|---|---|
| host | str | 域名 | |
| extra | str | URL参数 | |
| stream_ttl | num |
p2p_data对象
| 字段名 | 类型 | 内容 | 备注 |
|---|---|---|---|
| p2p | bool | ||
| p2p_type | num | ||
| m_p2p | bool | ||
| m_servers | null |
示例:
查询room_id=3的直播间信息
curl -L -X GET 'https://api.live.bilibili.com/xlive/web-room/v2/index/getRoomPlayInfo?room_id=3&protocol=0,1&format=0,1,2&codec=0,1&qn=10000'
https://api.live.bilibili.com/live_user/v1/UserInfo/get_anchor_in_room
请求方式: GET
URL参数:
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| roomid | num | 直播间号 | 必要 | 可以为短号 |
json回复:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| code | num | 返回值 | 0:成功 (直播间不存在也为0) |
| message | str | 错误信息 | |
| msg | str | 错误信息 | |
| data | obj | 信息本体 |
data对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| info | obj | 主播信息 | |
| level | obj | 直播等级 | |
| san | num | 主播san值 | 12满分 |
info对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| uid | num | 主播mid | |
| uname | str | 主播用户名 | |
| face | str | 主播头像URL | |
| rank | str | 主播排名 | |
| platform_user_level | num | 平台用户等级 | |
| mobile_verify | num | 手机验证状态 | |
| identification | num | 身份认证状态 | |
| official_verify | obj | 认证信息 | |
| vip_type | num | VIP类型 | |
| gender | num | 主播性别 | -1:保密 0:女 1:男 |
info中的official_verify对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| type | num | 主播认证类型 | -1:无 0:个人认证 1:机构认证 |
| desc | str | 主播认证信息 | |
| role | num | 未知 |
level对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| uid | num | 用户ID | |
| cost | num | 消费金额 | |
| rcost | num | 充值金额 | |
| user_score | str | 用户积分 | |
| vip | num | VIP状态 | |
| vip_time | str | VIP到期时间 | |
| svip | num | SVIP状态 | |
| svip_time | str | SVIP到期时间 | |
| update_time | str | 更新时间 | |
| master_level | obj | 主播等级 | |
| user_level | num | 用户等级 | |
| color | num | 颜色值 | |
| anchor_score | num | 主播积分 |
level 中的 master_level对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| level | num | 主播等级 | |
| color | num | 颜色值 | |
| current | list | 当前积分 | |
| next | list | 下一等级积分 | |
| anchor_score | num | 主播积分 | |
| upgrade_score | num | 升级积分 | |
| master_level_color | num | 主播等级颜色值 | |
| sort | str | 排名 |
示例:
查询roomid=1的直播间主播信息
curl -G 'https://api.live.bilibili.com/live_user/v1/UserInfo/get_anchor_in_room' \
--data-urlencode 'roomid=1'