历史记录

获取历史记录列表_web端

https://api.bilibili.com/x/web-interface/history/cursor

请求方式:GET

认证方式:Cookie (SESSDATA)

注:maxbusinessview_at参数用于历史记录列表的 IFS (无限滚动),其用法类似链表的 next 指针

本接口也可以返回已失效稿件的信息

url参数:

参数名类型内容必要性备注
maxnum历史记录截止目标 id非必要默认为 0
稿件:稿件 avid
剧集(番剧 / 影视):剧集 ssid
直播:直播间 id
文集:文集 rlid
文章:文章 cvid
businessstr历史记录截止目标业务类型非必要默认为空
archive:稿件
pgc:剧集(番剧 / 影视)
live:直播
article-list:文集
article:文章
view_atnum历史记录截止时间非必要时间戳
默认为 0
0 为当前时间
typestr历史记录分类筛选非必要all:全部类型(默认)
archive:稿件
live:直播
article:文章
psnum每页项数非必要默认为 20,最大 30

json回复:

根对象:

字段类型内容备注
codenum返回值0:成功
-101:账号未登录
-400:请求错误
messagestr错误信息默认为 0
ttlnum1
dataarray历史记录列表

data对象:

字段类型内容备注
cursorobj历史记录页面信息
tabarray历史记录筛选类型
listarray分段历史记录列表

data中的cursor对象:

字段类型内容备注
maxnum最后一项目标 id见请求参数
view_atnum最后一项时间节点时间戳
businessstr最后一项业务类型见请求参数
psnum每页项数

data中的tab数组:

类型内容备注
0obj历史记录筛选类型 1
1obj历史记录筛选类型 2
2obj历史记录筛选类型 3

tab数组中的对象:

字段类型内容备注
typestr类型
namestr类型名

data中的list数组:

类型内容备注
0obj历史记录 1
nobj历史记录 (n+1)按照查看顺序排列
……obj

list数组中的对象:

字段类型内容备注
titlestr条目标题
long_titlestr条目副标题
coverstr条目封面图 url用于专栏以外的条目
covers有效时:array
无效时:null
条目封面图组仅用于专栏
uristr重定向 url仅用于剧集和直播
historyobj条目详细信息
videosnum视频分 P 数目仅用于稿件视频
author_namestrUP 主昵称
author_facestrUP 主头像 url
author_midnumUP 主 mid
view_atnum查看时间时间戳
progressnum视频观看进度单位为秒
用于稿件视频或剧集
badgestr角标文案稿件视频 / 剧集 / 笔记
show_titlestr分 P 标题用于稿件视频或剧集
durationnum视频总时长用于稿件视频或剧集
currentstr(?)
totalnum总计分集数仅用于剧集
new_descstr最新一话 / 最新一 P 标识用于稿件视频或剧集
is_finishnum是否已完结仅用于剧集
0:未完结
1:已完结
is_favnum是否收藏0:未收藏
1:已收藏
kidnum条目目标 id详细内容见参数
tag_namestr子分区名用于稿件视频和直播
live_statusnum直播状态仅用于直播
0:未开播
1:已开播

list数组中的对象中的covers数组:

类型内容备注
0str封面图片 1
nstr封面图片 (n+1)
……str……

list数组中的对象中的history对象:

字段类型内容备注
oidnum目标id稿件视频&剧集(当business=archivebusiness=pgc时):稿件avid
直播(当business=live时):直播间id
文章(当business=article时):文章cvid
文集(当business=article-list时):文集rlid
epidnum剧集epid仅用于剧集
bvidstr稿件bvid仅用于稿件视频
pagenum观看到的视频分P数仅用于稿件视频
cidnum观看到的对象id稿件视频&剧集(当business=archivebusiness=pgc时):视频cid
文集(当business=article-list时):文章cvid
partstr观看到的视频分 P 标题仅用于稿件视频
businessstr业务类型见请求参数
dtnum记录查看的平台代码1 3 5 7:手机端
2:web端
4 6:pad端
9: 智能音箱/游戏机33:TV端
0:其他

示例:

获取当前时间截止的5条历史记录

curl -G 'https://api.bilibili.com/x/web-interface/history/cursor' \
--data-urlencode 'ps=5' \
-b 'SESSDATA=xxx'
查看响应示例:
{
    "code": 0,
    "message": "0",
    "ttl": 1,
    "data": {
        "cursor": {
            "max": 26193,
            "view_at": 1592985807,
            "business": "pgc",
            "ps": 5
        },
        "tab": [
            {
                "type": "archive",
                "name": "视频"
            },
            {
                "type": "live",
                "name": "直播"
            },
            {
                "type": "article",
                "name": "专栏"
            }
        ],
        "list": [
            {
                "title": "韩国漫画如何出海掘金?一年出口额2.8亿元",
                "long_title": "",
                "cover": "",
                "covers": [
                    "https://i0.hdslb.com/bfs/article/b170c6fd7429ae205d6cb935e1d431710d82609d.jpg"
                ],
                "uri": "",
                "history": {
                    "oid": 6470274,
                    "epid": 0,
                    "bvid": "",
                    "page": 0,
                    "cid": 0,
                    "part": "",
                    "business": "article",
                    "dt": 2
                },
                "videos": 0,
                "author_name": "三文娱",
                "author_face": "http://i1.hdslb.com/bfs/face/98566839756a8e3de6e183109984b032de6ff2d9.jpg",
                "author_mid": 34772409,
                "view_at": 1593000539,
                "progress": 0,
                "badge": "专栏",
                "show_title": "",
                "duration": 0,
                "current": "",
                "total": 0,
                "new_desc": "",
                "is_finish": 0,
                "is_fav": 0,
                "kid": 6470274,
                "tag_name": "",
                "live_status": 0
            },
            {
                "title": "从国际空间站俯瞰地球,静谧蓝星守护者",
                "long_title": "",
                "cover": "http://i0.hdslb.com/bfs/live/new_room_cover/f07d8a0c7c5655f81cf1586903a121f2680cf3bc.jpg",
                "covers": null,
                "uri": "https://live.bilibili.com/14047",
                "history": {
                    "oid": 14047,
                    "epid": 0,
                    "bvid": "",
                    "page": 0,
                    "cid": 0,
                    "part": "",
                    "business": "live",
                    "dt": 2
                },
                "videos": 0,
                "author_name": "Zelo-Balance",
                "author_face": "http://i1.hdslb.com/bfs/face/7303b3032d1e13ca7c788cd9c30d4430f8ffd1ea.jpg",
                "author_mid": 19193,
                "view_at": 1592999822,
                "progress": 0,
                "badge": "直播中",
                "show_title": "",
                "duration": 0,
                "current": "",
                "total": 0,
                "new_desc": "",
                "is_finish": 0,
                "is_fav": 0,
                "kid": 14047,
                "tag_name": "户外",
                "live_status": 1
            },
            {
                "title": "许巍 《蓝莲花》吉他Cover,这回你们不用截图抓我了吧",
                "long_title": "",
                "cover": "http://i2.hdslb.com/bfs/archive/0225b1f1a790393097ceebb51e89796be806d6bc.jpg",
                "covers": null,
                "uri": "",
                "history": {
                    "oid": 883617049,
                    "epid": 0,
                    "bvid": "BV1sK4y147ob",
                    "page": 1,
                    "cid": 205017957,
                    "part": "许巍 《蓝莲花》 Cover_1",
                    "business": "archive",
                    "dt": 2
                },
                "videos": 1,
                "author_name": "硬核拆解",
                "author_face": "http://i1.hdslb.com/bfs/face/4e131c9609299303cdde882792fc62b9f99cdcde.jpg",
                "author_mid": 427494870,
                "view_at": 1592999572,
                "progress": 13,
                "badge": "",
                "show_title": "",
                "duration": 91,
                "current": "",
                "total": 0,
                "new_desc": "",
                "is_finish": 0,
                "is_fav": 0,
                "kid": 883617049,
                "tag_name": "演奏",
                "live_status": 0
            },
            {
                "title": "从清楚与混沌之分看Vtuber形象塑造",
                "long_title": "",
                "cover": "",
                "covers": [
                    "https://i0.hdslb.com/bfs/article/5ddb94dd1890c639622717c7083fb2917b4aa475.jpg"
                ],
                "uri": "",
                "history": {
                    "oid": 268656,
                    "epid": 0,
                    "bvid": "",
                    "page": 0,
                    "cid": 6233590,
                    "part": "",
                    "business": "article-list",
                    "dt": 2
                },
                "videos": 0,
                "author_name": "普天一光",
                "author_face": "http://i2.hdslb.com/bfs/face/3702810bdac3d5103d684e61dc5bc8492a74f904.jpg",
                "author_mid": 6614889,
                "view_at": 1592998686,
                "progress": 0,
                "badge": "专栏",
                "show_title": "",
                "duration": 0,
                "current": "",
                "total": 0,
                "new_desc": "",
                "is_finish": 0,
                "is_fav": 0,
                "kid": 268656,
                "tag_name": "",
                "live_status": 0
            },
            {
                "title": "百妖谱",
                "long_title": "庆忌(下)",
                "cover": "http://i0.hdslb.com/bfs/archive/695a4566d05620a24c51d6eb935fa4767d673b45.jpg",
                "covers": null,
                "uri": "https://www.bilibili.com/bangumi/play/ss26193",
                "history": {
                    "oid": 370908663,
                    "epid": 326789,
                    "bvid": "",
                    "page": 0,
                    "cid": 199204975,
                    "part": "",
                    "business": "pgc",
                    "dt": 3
                },
                "videos": 0,
                "author_name": "",
                "author_face": "",
                "author_mid": 0,
                "view_at": 1592985807,
                "progress": 533,
                "badge": "国创",
                "show_title": "第8话 庆忌(下)",
                "duration": 1402,
                "current": "",
                "total": 12,
                "new_desc": "更新至第10话",
                "is_finish": 0,
                "is_fav": 0,
                "kid": 26193,
                "tag_name": "",
                "live_status": 0
            }
        ]
    }
}

获取视频观看历史记录_web端旧版

https://api.bilibili.com/x/v2/history

请求方式:GET

认证方式:Cookie (SESSDATA)

本接口也可以返回已失效稿件的信息

url参数:

参数名类型内容必要性备注
pnnum页码非必要默认为1
psnum每页项数非必要

json回复:

根对象:

字段类型内容备注
codenum返回值0:成功
-101:账号未登录
-400:请求错误
messagestr错误信息默认为0
ttlnum1
dataarray历史记录列表

data数组:

类型内容备注
0obj历史观看1
nobj历史观看(n+1)按照观看顺序排列
项数为总计观看视频数
……obj…………

data数组中的对象:

字段类型内容备注
aidnum稿件avid
videosnum视频分P总数默认为1
tidnum分区tid
tnamestr子分区名称
copyrightnum是否转载1:原创
2:转载
picstr视频封面图片url
titlestr稿件标题
pubdatenum稿件发布时间时间戳
ctimenum用户提交稿件的时间时间戳
descstr视频简介
statenum视频状态略,见获取视频详细信息(web端)中的state备注
attribute(仅做历史性保留)num稿件属性位配置本字段已被删除
略,见获取视频详细信息(web端)中的attribute备注
durationnum视频总计持续时长(所有分P)单位为秒
rightsobj视频属性标志略,见获取视频详细信息(web端)中的rights对象
ownerobj视频UP主信息略,见获取视频详细信息(web端)中的owner对象
statobj视频状态数略,见获取视频详细信息(web端)中的stat对象
dynamicstr视频同步发布的的动态的文字内容无为空
cidnum视频1P cid
dimensionobj视频1P分辨率略,见获取视频详细信息(web端)中的dimension对象
bangumiobj番剧/影视信息非番剧/影视无此项
cheeseobj课程信息非课程无此项
favoritebool是否已收藏true:已收藏
false:未收藏
typenum视频属性3:普通视频
4:剧集
10:课程
sub_typenum附视频属性0:普通视频
1:番剧
2:电影
3:纪录片
4:国创
5:电视剧
7:综艺
devicenum观看平台代码1 3 5 7:手机端
2:web端
4 6:pad端
33:TV端
0:其他
pageobj最后观看的分P信息
countnum分P数非投稿视频无此项
progressnum观看进度单位为秒
view_atnum观看时间时间戳
kidnum稿件avid
businessstr视频类型标识archive:用户投稿视频
pgc:番剧/影视
cheese:课程
redirect_linkstr重定向url
bvidstr稿件bvid

data数组中的对象bangumi对象:

字段类型内容备注
coverstr番剧封面图片url
ep_idnum番剧epid
episode_statusnum???
follownum0作用尚不明确
long_titlestr单集标题
seasonobj剧集信息
titlestr集数

bangumi中的season对象:

字段类型内容备注
is_finishnum是否完结0:连载中
1:完结
newest_ep_idnum最细一话epid
newest_ep_indexstr最细一话集数
season_idnum番剧ssid
season_statusnum???
season_typenum???
titlestr番剧标题
total_countnum总集数

data数组中的对象cheese对象:

字段类型内容备注
coverstr课程封面图片url
long_titlestr完整标题
numberstr本集数
season_idnum课程ssid
update_infostr总集数

示例:

查询当前视频历史记录列表

curl -G 'https://api.bilibili.com/x/v2/history' \
--data-urlencode 'ps=5' \
--data-urlencode 'pn=1' \
-b 'SESSDATA=xxx'
查看响应示例:
{
    "code": 0,
    "message": "0",
    "ttl": 1,
    "data": [
        {
            "aid": 96523832,
            "videos": 1,
            "tid": 33,
            "tname": "连载动画",
            "copyright": 2,
            "pic": "http://i0.hdslb.com/bfs/archive/dfc29be381565ee041a0ec9cfc7a32f8a63f76cd.jpg",
            "title": "【1月】异度侵入 ID:INVADED 12【独家正版】",
            "pubdate": 1584289800,
            "ctime": 1584289800,
            "desc": "#12",
            "state": 0,
            "attribute": 338688,
            "duration": 1481,
            "redirect_url": "https://www.bilibili.com/bangumi/play/ep307457",
            "rights": {
                "bp": 0,
                "elec": 0,
                "download": 0,
                "movie": 0,
                "pay": 1,
                "hd5": 1,
                "no_reprint": 0,
                "autoplay": 0,
                "ugc_pay": 0,
                "is_cooperation": 0,
                "ugc_pay_preview": 0,
                "no_background": 0
            },
            "owner": {
                "mid": 928123,
                "name": "哔哩哔哩番剧",
                "face": "http://i1.hdslb.com/bfs/face/7a8412cbacb9fd18f40ddbbf0ad183e45afc1365.jpg"
            },
            "stat": {
                "aid": 96523832,
                "view": 4772927,
                "danmaku": 108890,
                "reply": 48584,
                "favorite": 46,
                "coin": 61768,
                "share": 290,
                "now_rank": 0,
                "his_rank": 0,
                "like": 1241,
                "dislike": 0
            },
            "dynamic": "",
            "cid": 164789275,
            "dimension": {
                "width": 1920,
                "height": 1080,
                "rotate": 0
            },
            "favorite": false,
            "type": 4,
            "sub_type": 1,
            "device": 3,
            "page": {
                "cid": 164789275,
                "page": 1,
                "from": "vupload",
                "part": "ID_INVADED_112.encoded",
                "duration": 1481,
                "vid": "",
                "weblink": "",
                "dimension": {
                    "width": 1920,
                    "height": 1080,
                    "rotate": 0
                }
            },
            "bangumi": {
                "ep_id": 307457,
                "title": "12",
                "long_title": "CHANNELED",
                "episode_status": 13,
                "follow": 0,
                "cover": "http://i0.hdslb.com/bfs/archive/dfc29be381565ee041a0ec9cfc7a32f8a63f76cd.jpg",
                "season": {
                    "season_id": 29310,
                    "title": "异度侵入 ID:INVADED",
                    "season_status": 13,
                    "is_finish": 1,
                    "total_count": 13,
                    "newest_ep_id": 307774,
                    "newest_ep_index": "13",
                    "season_type": 1
                }
            },
            "progress": 277,
            "view_at": 1588831600,
            "kid": 29310,
            "business": "pgc",
            "redirect_link": "https://www.bilibili.com/bangumi/play/ep307457",
            "bvid": "BV1K7411f7uu"
        },
        {
            "aid": 497899395,
            "videos": 1,
            "tid": 189,
            "tname": "电脑装机",
            "copyright": 1,
            "pic": "http://i0.hdslb.com/bfs/archive/fd4e0893b234ee729cf15198065eced98367ebfe.jpg",
            "title": "600元的2007款iMac,如今过时了吗?",
            "pubdate": 1587727345,
            "ctime": 1587708111,
            "desc": "苹果东西是真的保值,酷睿2现在都还能卖的这么贵。第一次使用4K画质进行拍摄,应该比以前清楚一些。如有问题请在评论区指出,谢谢!",
            "state": 0,
            "attribute": 16768,
            "duration": 389,
            "mission_id": 13106,
            "rights": {
                "bp": 0,
                "elec": 0,
                "download": 0,
                "movie": 0,
                "pay": 0,
                "hd5": 1,
                "no_reprint": 1,
                "autoplay": 1,
                "ugc_pay": 0,
                "is_cooperation": 0,
                "ugc_pay_preview": 0,
                "no_background": 0
            },
            "owner": {
                "mid": 3391089,
                "name": "数字云糕Official",
                "face": "http://i2.hdslb.com/bfs/face/238dfbca5dda5de2d5ba95ee4e99804714e2b5e2.jpg"
            },
            "stat": {
                "aid": 497899395,
                "view": 23325,
                "danmaku": 92,
                "reply": 115,
                "favorite": 195,
                "coin": 132,
                "share": 23,
                "now_rank": 0,
                "his_rank": 0,
                "like": 555,
                "dislike": 0
            },
            "dynamic": "#IMAC##APPLE##MAC# 苹果东西是真的保值,酷睿2现在都还能卖的这么贵。第一次使用4K画质进行拍摄,应该比以前清楚一些。",
            "cid": 182570131,
            "dimension": {
                "width": 1920,
                "height": 1080,
                "rotate": 0
            },
            "favorite": false,
            "type": 3,
            "sub_type": 0,
            "device": 3,
            "page": {
                "cid": 182570131,
                "page": 1,
                "from": "vupload",
                "part": "iMac",
                "duration": 389,
                "vid": "",
                "weblink": "",
                "dimension": {
                    "width": 1920,
                    "height": 1080,
                    "rotate": 0
                }
            },
            "count": 1,
            "progress": -1,
            "view_at": 1588828357,
            "kid": 497899395,
            "business": "archive",
            "redirect_link": "https://www.bilibili.com/video/av497899395",
            "bvid": "BV1NK41157EF"
        }
    ]
}

删除历史记录

https://api.bilibili.com/x/v2/history/delete

请求方式:POST

认证方式:Cookie (SESSDATA)

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

参数名类型内容必要性备注
kidstr删除的目标记录,格式为{业务类型}_{目标id}详见备注必要视频:archive_{稿件avid}
直播:live_{直播间id}
专栏:article_{专栏cvid}
剧集:pgc_{剧集ssid}
文集:article-list_{文集rlid}
csrfstrCSRF Token(位于cookie)必要

json回复:

根对象:

字段类型内容备注
codenum返回值0:成功
-101:账号未登录
-111:csrf校验失败
-400:请求错误
messagestr错误信息默认为0
ttlnum1

示例:

删除视频av540580868的观看历史记录

curl 'https://api.bilibili.com/x/v2/history/delete' \
--data-urlencode 'kid=archive_540580868' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
查看响应示例:
{
    "code": 0,
    "message": "0",
    "ttl": 1
}

清空历史记录

https://api.bilibili.com/x/v2/history/clear

请求方式:POST

认证方式:Cookie (SESSDATA)

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

参数名类型内容必要性备注
csrfstrCSRF Token(位于cookie)必要

json回复:

根对象:

字段类型内容备注
codenum返回值0:成功
-101:账号未登录
-111:csrf校验失败
messagestr错误信息默认为0
ttlnum1

示例:

清空历史记录

curl 'https://api.bilibili.com/x/v2/history/clear' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
查看响应示例:
{
    "code": 0,
    "message": "0",
    "ttl": 1
}

停用历史记录

https://api.bilibili.com/x/v2/history/shadow/set

请求方式:POST

认证方式:Cookie (SESSDATA)

该操作不会影响原有历史记录

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

参数名类型内容必要性备注
switchbool停用开关非必要true:停用
false:正常
默认为false
csrfstrCSRF Token(位于cookie)必要

json回复:

根对象:

字段类型内容备注
codenum返回值0:成功
-101:账号未登录
-111:csrf校验失败
messagestr错误信息默认为0
ttlnum1

示例:

停用历史记录功能

curl 'https://api.bilibili.com/x/v2/history/shadow/set' \
--data-urlencode 'switch=true' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
查看响应示例:
{
    "code": 0,
    "message": "0",
    "ttl": 1
}

查询历史记录停用状态

https://api.bilibili.com/x/v2/history/shadow

请求方式:GET

认证方式:Cookie (SESSDATA)

json回复:

根对象:

字段类型内容备注
codenum返回值0:成功
-101:账号未登录
messagestr错误信息默认为0
ttlnum1
databool停用状态true:停用
false:正常

示例:

当前状态为未停用视频历史记录

curl 'https://api.bilibili.com/x/v2/history/shadow' \
-b 'SESSDATA=xxx'
查看响应示例:
{
    "code": 0,
    "message": "0",
    "ttl": 1,
    "data": false
}