bac

个人中心

获取我的信息

https://api.bilibili.com/x/member/web/account

请求方式:GET

认证方式:Cookie(SESSDATA)或APP

url参数:

参数名 类型 内容 必要性 备注
access_key str APP登录Token APP方式必要  

json回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
-101:账号未登录
message str 错误信息 默认为0
ttl num 1  
data obj 信息本体  

data对象:

字段 类型 内容 备注
mid num 我的mid  
uname str 我的昵称  
userid str 我的用户名  
sign str 我的签名  
birthday str 我的生日 YYYY-MM-DD
sex str 我的性别 男 女 保密
nick_free bool 是否未设置昵称 false:设置过昵称
true:未设置昵称
rank str 我的会员等级  

示例:

curl 'https://api.bilibili.com/x/member/web/account' \
-b 'SESSDATA=xxx'
查看响应示例: ```json { "code":0, "message":"0", "ttl":1, "data":{ "mid":293793435, "uname":"社会易姐QwQ", "userid":"bili_84675323391", "sign":"高中技术宅一枚,爱好MC&电子&8-bit音乐&数码&编程,资深猿厨,粉丝群:1136462265", "birthday":"2002-03-05", "sex":"男", "nick_free":false, "rank":"正式会员" } } ```

查询每日奖励状态

https://api.bilibili.com/x/member/web/exp/reward

请求方式:GET

认证方式:Cookie(SESSDATA)或APP

url参数:

参数名 类型 内容 必要性 备注
access_key str APP登录Token APP方式必要  

json回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
-101:账号未登录
message str 错误信息 默认为0
ttl num 1  
data obj 信息本体  

data对象:

字段 类型 内容 备注
login bool 每日登录 false:未完成
true:已完成
完成奖励5经验
watch bool 每日观看 false:未完成
true:已完成
完成奖励5经验
coins num 每日投币所奖励的经验 上限为50
注:该值更新存在延迟
另外一个专门API
share bool 每日分享 false:未完成
true:已完成
完成奖励5经验
email bool 绑定邮箱 false:未完成
true:已完成
首次完成奖励20经验
tel bool 绑定手机号 false:未完成
true:已完成
首次完成奖励100经验
safe_question bool 设置密保问题 false:未完成
true:已完成
首次完成奖励30经验
identify_card bool 实名认证 false:未完成
true:已完成
首次完成奖励50经验

示例:

curl 'https://api.bilibili.com/x/member/web/exp/reward' \
-b 'SESSDATA=xxx'
查看响应示例: ```json { "code": 0, "message": "0", "ttl": 1, "data": { "login": true, "watch": true, "coins": 30, "share": true, "email": true, "tel": true, "safe_question": true, "identify_card": true } } ```

查询每日投币获得经验数

https://www.bilibili.com/plus/account/exp.php (已失效)

https://api.bilibili.com/x/web-interface/coin/today/exp

请求方式:GET

认证方式:仅可Cookie(SESSDATA)

该接口实时更新,未发现延迟

json回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
message str 错误信息 默认为0
data num 每日投币所奖励的经验 上限为50

示例:

curl 'https://api.bilibili.com/x/web-interface/coin/today/exp' \
-b 'SESSDATA=xxx'
查看响应示例: ```json { "code": 0, "message": "0", "ttl": 1, "data": 20 } ```

查询大会员状态

https://api.bilibili.com/x/vip/web/user/info

请求方式:GET

认证方式:仅可Cookie(SESSDATA)

json回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
-101:账号未登录
message str 错误信息 默认为0
ttl num 1  
data obj 信息本体  

data对象:

字段 类型 内容 备注
mid num 我的mid  
vip_type num 大会员类型 0:无
1:月度
2:年度
vip_status num 大会员状态 1:正常
2:由于IP地址更换过于频繁,服务被冻结
3:你的大会员账号风险过高,大会员功能已被锁定
vip_due_date num 大会员到期时间 时间戳 毫秒
vip_pay_type num 是否已购买大会员 0:未购买
1:已购买
theme_type num 0 作用尚不明确

示例:

curl 'https://api.bilibili.com/x/vip/web/user/info' \
-b 'SESSDATA=xxx'
查看响应示例: ```json { "code": 0, "message": "0", "ttl": 1, "data": { "mid": 293793435, "vip_type": 2, "vip_status": 1, "vip_due_date": 1612454400000, "vip_pay_type": 1, "theme_type": 0 } } ```

查询账号安全情况

https://passport.bilibili.com/web/site/user/info

请求方式:GET

认证方式:Cookie(SESSDATA)或APP

鉴权方式:如用Cookie方式认证时Cookie中DedeUserID存在且不为0

url参数:

参数名 类型 内容 必要性 备注
access_key str APP登录Token APP方式必要  

json回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
-101:账号未登录
message str 错误信息 默认为0
ttl num 1  
data obj 信息本体  

data对象:

字段 类型 内容 备注
account_info obj 账号绑定信息  
account_safe obj 密码安全信息  
account_sns obj 互联登录绑定信息  
account_other obj    

data中的account_info对象:

字段 类型 内容 备注
hide_tel str 绑定的手机号 星号隐藏部分信息
hide_mail str 绑定的邮箱 星号隐藏部分信息
bind_tel bool 是否绑定手机号 false:未绑定
true:已绑定
bind_mail bool 是否绑定邮箱 false:未绑定
true:已绑定
tel_verify bool 是否验证手机号 false:未验证
true:已验证
mail_verify bool 是否验证邮箱 false:未验证
true:已验证
unneeded_check bool 是否未设置密码 false:已设置
true:未设置
realname_certified bool 是否实名认证 false:未认证
true:已认证

data中的account_safe对象:

字段 类型 内容 备注
Score num 账号安全等级 0-100
已弃用?
score_new num 新版账号安全等级 0-100
pwd_level num 当前密码强度等级 1:弱
2:中
3:强
security bool 当前密码是否安全 false:不安全
true:安全

data中的account_sns对象:

字段 类型 内容 备注
weibo_bind num 是否绑定微博 0:未绑定
1:已绑定
qq_bind num 是否绑定qq 0:未绑定
1:已绑定
wechat_bind num 是否绑定微信 0:未绑定
1:已绑定

data中的account_other对象:

字段 类型 内容 备注
skipVerify bool false 作用尚不明确

示例:

curl 'https://passport.bilibili.com/web/site/user/info' \
-b 'SESSDATA=xxx;DedeUserID=1;'
查看响应示例: ```json { "code": 0, "data": { "account_info": { "hide_tel": "153*****056", "hide_mail": "144****@qq.com", "bind_tel": true, "bind_mail": true, "tel_verify": true, "mail_verify": true, "unneeded_check": false, "realname_certified": true }, "account_safe": { "Score": 90, "score_new": 100, "pwd_level": 3, "security": true }, "account_sns": { "weibo_bind": 1, "qq_bind": 1, "wechat_bind": 1 }, "account_other": { "skipVerify": false } } } ```

查询账号实名认证状态

https://api.bilibili.com/x/member/realname/status

请求方式:GET

认证方式:Cookie(SESSDATA)或APP

url参数:

参数名 类型 内容 必要性 备注
access_key str APP登录Token APP方式必要  

json回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
-101:账号未登录
message str 错误信息 默认为0
ttl num 1  
data obj 信息本体  

data对象:

字段 类型 内容 备注
status num 实名认证状态 0:未认证
1:已认证

示例:

当前状态为已认证

curl 'https://api.bilibili.com/x/member/realname/status' \
-b 'SESSDATA=xxx'
查看响应示例: ```json { "code": 0, "message": "0", "ttl": 1, "data": { "status": 1 } } ```

查询实名认证详细信息

https://api.bilibili.com/x/member/realname/apply/status

请求方式:GET

认证方式:Cookie(SESSDATA)或APP

url参数:

参数名 类型 内容 必要性 备注
access_key str APP登录Token APP方式必要  

json回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
-101:账号未登录
message str 错误信息 默认为0
ttl num 1  
data obj 数据本体  

data对象:

字段 类型 内容 备注
status num 认证状态 1:已认证
3:未认证
remark str 驳回信息 默认为空
realname str 实名姓名 星号隐藏完全信息
card str 证件号码 星号隐藏部分信息
card_type num 证件类型代码 0:身份证
2:港澳居民来往内地通行证
3:台湾居民来往大陆通行证
4:护照(中国签发)
5:外国人永久居留证
6:其他国家或地区身份证明
curl 'https://api.bilibili.com/x/member/realname/apply/status' \
-b 'SESSDATA=xxx'
查看响应示例: ```json { "code": 0, "message": "0", "ttl": 1, "data": { "status": 1, "remark": "", "realname": "***", "card": "6****************7", "card_type": 0 } } ```

查询硬币变化情况

https://api.bilibili.com/x/member/web/coin/log

请求方式:GET

认证方式:Cookie(SESSDATA)或APP

仅能查询最近一周的情况

url参数:

参数名 类型 内容 必要性 备注
access_key str APP登录Token APP方式必要  

json回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
-101:账号未登录
message str 错误信息 默认为0
ttl num 1  
data obj 数据本体  

data对象:

字段 类型 内容 备注
list array 变化记录条目列表  
count num 变化记录条目数  

data中的list数组:

类型 内容 备注
0 obj 变化记录条目1  
n obj 变化记录条目(n+1)  
…… obj …… ……

list数组中的对象:

字段 类型 内容 备注
time str 变化时间 YYYY-MM-DD HH:MM:SS
delta num 变化量 正值为收入,负值为支出
reason str 变化说明  

示例:

curl 'https://api.bilibili.com/x/member/web/coin/log' \
-b 'SESSDATA=xxx'
查看响应示例: ```json { "code": 0, "message": "0", "ttl": 1, "data": { "list": [ { "time": "2020-05-19 23:58:29", "delta": -1, "reason": "给视频 BV1j5411s7M8 打赏" }, { "time": "2020-05-19 16:02:53", "delta": -1, "reason": "给视频 BV1Ht4y117A1 打赏" }, { "time": "2020-05-19 15:38:42", "delta": 0.1, "reason": "给视频 BV1nb411C7aa 打赏" }, { "time": "2020-05-19 02:19:20", "delta": 1, "reason": "登录奖励" }, { "time": "2020-05-18 22:34:04", "delta": -1, "reason": "给视频 BV1Bp4y1Q7uw 打赏" }, { "time": "2020-05-18 22:33:59", "delta": -1, "reason": "给视频 BV1j5411s7M8 打赏" }, { "time": "2020-05-18 02:45:53", "delta": 1, "reason": "登录奖励" }, { "time": "2020-05-17 03:02:38", "delta": 1, "reason": "登录奖励" }, { "time": "2020-05-16 01:57:02", "delta": 1, "reason": "登录奖励" }, { "time": "2020-05-15 11:10:35", "delta": 0.2, "reason": "给视频 BV1Yt41137T6 打赏" }, { "time": "2020-05-15 00:34:27", "delta": 1, "reason": "登录奖励" }, { "time": "2020-05-14 02:11:37", "delta": 1, "reason": "登录奖励" }, { "time": "2020-05-13 02:12:28", "delta": 1, "reason": "登录奖励" } ], "count": 13 } } ```

修改个人签名

https://api.bilibili.com/x/member/web/sign/update

请求方式:POST

认证方式:Cookie(SESSDATA)或APP

修改签名不会立即生效,会等待审核队列稍后生效

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

参数名 类型 内容 必要性 备注
access_key str APP登录Token APP方式必要  
user_sign str 要设置的签名内容 非必要 删除签名留空或省去即可
最多支持70个字符
csrf str CSRF Token(位于cookie) Cookie方式必要  

json回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
-101:账号未登录
-111:csrf校验失败
40015:签名包含敏感词
40021:签名不能包含表情图片
40022:签名过长
message str 错误信息 默认为0
ttl num 1  

示例:

更新个人标签为高中技术宅一枚,爱好MC&电子&8-bit音乐&数码&编程,资深猿厨,粉丝群:1136462265

curl 'https://api.bilibili.com/x/member/web/sign/update' \
--data-urlencode 'user_sign=高中技术宅一枚,爱好MC&电子&8-bit音乐&数码&编程,粉丝群:1136462265' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
查看响应示例: ```json { "code":0, "message":"0", "ttl":1 } ```

最近一周的经验记录

https://api.bilibili.com/x/member/web/exp/log

请求方式: GET

认证方式: Cookie (SESSDATA)

URL参数:

参数名 类型 内容 必要性 备注
jsonp str 回调函数名? 非必要 默认 jsonp
web_location str 网页位置? 非必要 默认 333.33

JSON回复:

根对象:

字段 类型 内容 备注
code num 返回值 0: 成功
-101: 账号未登录
message str 错误信息 默认为0
ttl num 1  
data obj 数据本体  

data对象:

字段 类型 内容 备注
list array 经验记录条目列表  
count num 经验记录条目数  

data中的list数组:

类型 内容 备注
0 obj 记录1  
…… obj …… ……
n obj 记录(n+1)  

list数组中的对象:

字段 类型 内容 备注
delta num 经验值  
time str 记录时间 格式为 yyyy-MM-dd HH:mm:ss
reason str 记录原因  

示例:

curl -G "https://api.bilibili.com/x/member/web/exp/log" \
-b "SESSDATA=xxx
查看响应示例: ```json { "code": 0, "message": "0", "ttl": 1, "data": { "list": [ { "delta": 5, "time": "2024-07-27 15:08:23", "reason": "分享视频奖励" }, { "delta": 5, "time": "2024-07-27 08:28:21", "reason": "登录奖励" }, { "delta": 5, "time": "2024-07-27 08:28:21", "reason": "观看视频奖励" }, { "delta": 5, "time": "2024-07-26 12:44:19", "reason": "登录奖励" }, { "delta": 5, "time": "2024-07-26 12:44:19", "reason": "观看视频奖励" }, { "delta": 20, "time": "2024-07-25 06:58:49", "reason": "视频投币奖励" }, { "delta": 5, "time": "2024-07-25 06:58:30", "reason": "观看视频奖励" }, { "delta": 5, "time": "2024-07-25 06:58:30", "reason": "登录奖励" }, { "delta": 5, "time": "2024-07-23 18:47:48", "reason": "观看视频奖励" }, { "delta": 5, "time": "2024-07-23 18:47:48", "reason": "登录奖励" } ], "count": 10 } } ```

最近一周的节操记录

https://api.bilibili.com/x/member/web/moral/log

请求方式: GET

认证方式: Cookie (SESSDATA)

URL参数:

参数名 类型 内容 必要性 备注
jsonp str 回调函数名? 非必要 默认 jsonp
web_location str 网页位置? 非必要 默认 333.33

JSON回复:

根对象:

字段 类型 内容 备注
code num 返回值 0: 成功
-101: 账号未登录
message str 错误信息 默认为0
ttl num 1  
data obj 数据本体  

data对象:

字段 类型 内容 备注
moral num 节操值  
list array 记录条目列表  
count num 记录条目数  

data中的list数组:

类型 内容 备注
0 obj 记录1  
…… obj …… ……
n obj 记录(n+1)  

list数组中的对象:

字段 类型 内容 备注
time string 时间  
delta number 变化  
origin string 原因  
reason string 说明  

示例:

curl -G "https://api.bilibili.com/x/member/web/moral/log" \
-b "SESSDATA=xxx
查看响应示例: ```json { "code": 0, "message": "0", "ttl": 1, "data": { "moral": 70, "list": [], "count": 0 } } ```