B站信息查询 API 文档
本API提供B站数据查询功能,所有请求都使用了Cloudflare Pages Functions来避免跨域问题,
实际上还是使用了bilibili的API所以请不要使用本网站js代码中的API如需使用API请看本API文档。
1. 用户信息查询
GET https://api.bilibili.com/x/relation/stat?vmid={uid}
// JavaScript 示例
const response = await fetch('https://api.allorigins.win/raw?url=' + encodeURIComponent('https://api.bilibili.com/x/relation/stat?vmid=541080936'));
const data = await response.json();
console.log(data.data.follower); // 粉丝数
响应示例:
{
"code": 0,
"data": {
"follower": 1000000,
"following": 500,
"black": 10
}
}
2. 视频信息查询
GET https://api.bilibili.com/x/web-interface/view?bvid={bvid}
// JavaScript 示例
const response = await fetch('https://api.allorigins.win/raw?url=' + encodeURIComponent('https://api.bilibili.com/x/web-interface/view?bvid=BV1arpEz2EcE'));
const data = await response.json();
console.log(data.data.title); // 视频标题
响应示例:
{
"code": 0,
"data": {
"title": "视频标题",
"stat": {
"view": 1000000,
"danmaku": 5000,
"like": 10000
}
}
}
3. 直播间信息查询
GET https://api.live.bilibili.com/room/v1/Room/get_info?room_id={room_id}
参数说明:
room_id (必需) - 直播间ID
// JavaScript 示例
const response = await fetch('https://api.allorigins.win/raw?url=' + encodeURIComponent('https://api.live.bilibili.com/room/v1/Room/get_info?room_id=21452505'));
const data = await response.json();
console.log(data.data.online); // 在线人数
响应示例:
{
"code": 0,
"data": {
"online": 1000,
"live_status": 1
}
}
4. 排行榜查询
GET https://api.bilibili.com/x/web-interface/ranking/v2?rid={rid}&type=all
参数说明:
rid (必需) - 分区ID (0为全站)
type (可选) - 类型 (默认all)
// JavaScript 示例
const response = await fetch('https://api.allorigins.win/raw?url=' + encodeURIComponent('https://api.bilibili.com/x/web-interface/ranking/v2?rid=0&type=all'));
const data = await response.json();
console.log(data.data.list[0].title); // TOP1标题
响应示例:
{
"code": 0,
"data": {
"list": [
{
"title": "TOP1视频标题",
"stat": {
"view": 1000000
}
}
]
}
}
5. 视频评论查询
GET https://api.bilibili.com/x/v2/reply?type=1&oid={bvid}&sort=2&ps={count}
参数说明:
type (必需) - 评论类型 (1为视频评论)
oid (必需) - 对象ID (BVID)
sort (必需) - 排序方式 (2为按热度)
ps (必需) - 获取数量 (最大3)
// JavaScript 示例
const response = await fetch('https://api.allorigins.win/raw?url=' + encodeURIComponent('https://api.bilibili.com/x/v2/reply?type=1&oid=BV1arpEz2EcE&sort=2&ps=1'));
const data = await response.json();
console.log(data.data.replies[0].content.message); // 热门评论
响应示例:
{
"code": 0,
"data": {
"replies": [
{
"content": {
"message": "这是一条热门评论"
}
}
]
}
}
错误处理
当API返回错误时,通常会包含以下信息:
错误响应示例:
{
"code": -404,
"message": "稿件不存在"
}
常见错误码:
0: 成功
-404: 资源不存在
-500: 服务器错误
62002: 视频需要登录才能观看
使用限制
- 请合理使用API,避免频繁请求
- 建议添加请求间隔,避免被限制访问
- 数据仅供参考,实际数据以B站官方为准
- 此API仅供学习和研究使用