关于用户空间的合集及视频列表参见 合集和视频列表信息
https://member.bilibili.com/x2/creative/web/seasons
请求方式: GET
认证方式: Cookie (SESSDATA)
URL参数:
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| pn | num | 页码 | 必要 | 默认为 1 |
| ps | num | 每页数量 | 必要 | 默认为 30 |
| order | str | 排序方式 | 不必要 | 创建时间: ctime 修改时间: mtime |
| sort | str | 排序方式 | 不必要 | 创建时间: asc 修改时间: desc |
| draft | num | 1 | 不必要 | 作用尚不明确 |
JSON回复:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| code | num | 返回值 | 0:成功 |
| message | str | 错误信息 | |
| ttl | num | 1 | |
| data | obj | 信息本体 |
data对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| seasons | arr | 合集列表 | |
| tip | obj | 内容 title url 均为空 |
|
| total | num | 合集总数 | |
| play_type | num | 1 | 作用尚不明确 |
seasons数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| season | obj | 合集信息 | |
| course | null | ||
| checkin | obj | 审核信息? | |
| seasonStat | obj | 合集统计信息 | |
| sections | obj | 小节列表 | |
| part_episodes | arr | 合集视频列表 |
seasons数组中的对象中的season对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| id | num | 合集 ID | |
| title | str | 合集标题 | |
| desc | str | 合集描述 | |
| cover | str | 合集封面 URL | |
| isEnd | num | 是否已完结? | 0: 未完结 |
| mid | num | 合集作者 ID | |
| isAct | num | 是否为活动合集? | 0: 否 |
| is_pay | num | 是否付费? | 0: 否 |
| state | num | 合集状态? | 0: 正常显示 -6: 正在审核 |
| partState | num | 合集分段状态? | 0 |
| signState | num | 合集签名状态? | 0 |
| rejectReason | str | 合集拒绝原因? | |
| ctime | num | 创建时间 | |
| mtime | num | 修改时间 | |
| no_section | num | 是否设小节 | 1: 不设小节 |
| forbid | num | 合集是否禁止? | 0: 否 |
| protocol_id | str | 空 | |
| ep_num | num | 0 | |
| season_price | num | 合集价格? | 0: 免费 |
| is_opened | num | 是否公开? | 1: 公开 |
| has_charging_pay | num | 是否充电付费? | 0: 否 |
seasons数组中的对象中的checkin对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| status | num | 状态? | 0: 正常显示 |
| status_reason | str | 状态原因? | |
| season_status | num | 合集审核状态? | 1: 审核通过 |
seasons数组中的对象中的seasonStat对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| view | num | 播放量 | |
| danmaku | num | 弹幕数 | |
| reply | num | 评论数 | |
| fav | num | 收藏数 | |
| coin | num | 硬币数 | |
| share | num | 分享数 | |
| nowRank | num | 当前排名? | |
| hisRank | num | 历史最高排名? | |
| like | num | 点赞数 | |
| subscription | num | 订阅数 | |
| vt | num | 0 |
seasons数组中的对象中的sections对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| sections | arr | 小节列表 | 套了个娃 |
seasons数组中的对象中的sections数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| id | num | 小节 ID | |
| type | num | 1 | |
| seasonId | num | 合集 ID | |
| title | str | 小节标题 | |
| order | num | 排序 | |
| state | num | 状态? | 0: 正常 |
| partState | num | 合集分段状态? | 0: 正常 |
| rejectReason | str | 拒绝原因? | |
| ctime | num | 创建时间 | |
| mtime | num | 修改时间 | |
| epCount | num | 视频数量 | |
| cover | str | 封面 URL | |
| has_charging_pay | num | 是否充电付费? | 0: 否 |
| Episodes | null |
seasons数组中的对象中的part_episodes数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| id | num | 合集内视频 ID | |
| title | str | 视频标题 | |
| aid | num | 视频 aid | |
| bvid | str | 视频 bvid | |
| cid | num | 视频 cid | |
| seasonId | num | 合集 ID | |
| sectionId | num | 小节 ID | |
| order | num | 排序编号 | |
| videoTitle | str | 空 | |
| archiveTitle | str | 空 | |
| archiveState | num | 0 | |
| rejectReason | str | 拒绝理由? | |
| state | num | 0 | |
| cover | str | 封面 URL | |
| is_free | num | 是否免费? | 0: 免费 |
| aid_owner | bool | false | |
| charging_pay | num | 充电付费? | 0: 否 |
示例:
curl -G 'https://member.bilibili.com/x2/creative/web/seasons' \
--data-urlencode 'pn=1' \
--data-urlencode 'ps=30' \
-b "SESSDATA=xxx"
ttps://member.bilibili.com/x2/creative/web/season/add
请求方式: POST
认证方式: Cookie (SESSDATA)
注: 有人工审核
正文参数 (application/x-www-form-urlencoded):
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| title | str | 合集标题 | 必要 | |
| desc | str | 合集简介 | 不必要 | |
| cover | str | 封面图 | 必要 | 从 上传封面 处获取 |
| season_price | num | 0 | 不必要 | 作用尚不明确 |
| csrf | str | CSRF Token (即 Cookies 中 bili_jct ) | 必要 |
JSON回复:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| code | num | 返回值 | 0:成功 |
| message | str | 错误信息 | |
| ttl | num | 1 | |
| data | num | 合集 ID |
示例:
curl -X POST 'https://member.bilibili.com/x2/creative/web/season/add' \
--data-urlencode 'title=🍥Debian' \
--data-urlencode 'desc=这里是泽生折腾 Debian GNU/Linux 的珍贵影像记录喵~' \
--data-urlencode 'cover=https://archive.biliimg.com/bfs/archive/ec51de61b53159c5e2430cf963f5f97e692baeaf.jpg' \
--data-urlencode 'season_price=0' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx; bili_jct=xxx'
https://member.bilibili.com/x2/creative/web/season/section/episodes/add
请求方式: POST
认证方式: Cookie (SESSDATA)
URL参数:
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| csrf | str | CSRF Token (即 Cookies 中 bili_jct ) | 必要 |
正文参数 (application/json):
根对象:
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| episode | array | 视频列表 | 必要 | |
| section_id | num | 合集小节 ID | 必要 |
episode 数组中的对象:
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| aid | num | 视频 aid | 必要 | |
| cid | num | 稿件 cid | 必要 | |
| title | str | 合集内单集标题 | 必要 | |
| charging_pay | num | 0 | 不必要 | 作用尚不明确 |
JSON回复:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| code | num | 返回值 | 0:成功 |
| message | str | 错误信息 | |
| ttl | num | 1 |
示例:
假设您已经把请求有效荷载放在 payload.json 文件中:
{
"sectionId": 3954033,
"episodes": [
{
"title": "Linux小寄巧: 原地卸载内核然后尝试救活!",
"aid": 1906473802,
"cid": 1625992822,
"charging_pay": 0
},
{
"title": "十多年前的电脑运行Debian12的启动过程",
"aid": 1956170305,
"cid": 1607067247,
"charging_pay": 0
}
]
}
curl -X POST --url 'https://member.bilibili.com/x2/creative/web/season/section/episodes/add' \
--url-query 'csrf=xxx' \
-H 'Content-Type: application/json' \
--data-binary @payload.json \
-b 'SESSDATA=xxx; bili_jct=xxx'
https://member.bilibili.com/x2/creative/web/season/section/edit
请求方式: POST
认证方式: Cookie (SESSDATA)
URL参数:
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| csrf | str | CSRF Token (即 Cookies 中 bili_jct) | 必要 |
正文参数 (application/json):
根对象:
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| section | obj | 小节信息 | 必要 | |
| sorts | array | 排序列表 | 必要 |
section 对象:
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| id | num | 小节 ID | 必要 | |
| seasonId | num | 合集 ID | 必要 | |
| title | str | 小节标题 | 必要 | |
| type | num | 1 | 必要 |
sorts 数组中的对象:
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| id | num | 合集内视频 ID | 必要 | |
| order | num | 排序位置 | 必要 |
JSON回复:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| code | num | 返回值 | 0:成功 |
| message | str | 错误信息 | |
| ttl | num | 1 |
示例:
假设您已经把请求有效荷载放在 payload.json 文件中:
{
"section": {
"id": 3954033,
"type": 1,
"seasonId": 3541247,
"title": "正片"
},
"sorts": [
{
"id": 77260687,
"sort": 1
},
{
"id": 77260688,
"sort": 2
}
]
}
curl -X POST --url 'https://member.bilibili.com/x2/creative/web/season/section/edit' \
--url-query 'csrf=xxx' \
-H 'Content-Type: application/json' \
--data-binary @payload.json \
-b 'SESSDATA=xxx; bili_jct=xxx'
https://member.bilibili.com/x2/creative/web/season/edit
请求方式: POST
认证方式: Cookie (SESSDATA)
注: 也有人工审核
URL参数:
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| csrf | str | CSRF Token (即 Cookies 中 bili_jct) | 必要 |
正文参数 (application/json):
根对象:
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| season | obj | 合集信息 | 必要 | |
| sorts | array | 排序列表 | 必要 |
season 对象:
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| id | num | 合集 ID | 必要 | |
| title | str | 合集标题 | 必要 | |
| cover | str | 封面图 | 必要 | 从 上传封面 处获取 |
| desc | str | 合集简介 | 不必要 | |
| season_price | num | 0 | 不必要 | 作用尚不明确 |
| isEnd | num | 是否完结 | 不必要 | 0:未完结 1:完结 |
sorts 数组中的对象:
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| id | num | 小节 ID | 必要 | |
| sort | num | 排序位置 | 必要 |
JSON回复:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| code | num | 返回值 | 0:成功 |
| message | str | 错误信息 | |
| ttl | num | 1 |
示例:
假设您已经把请求有效荷载放在 payload.json 文件中:
{
"season": {
"cover": "https://archive.biliimg.com/bfs/archive/77906db03b1eefac02613de184afad03f7bc58d7.jpg",
"id": 3541327,
"title": "IWILLBEDEL"
},
"sorts": [
{
"id": 3954127,
"sort": 1
}
]
}
curl -X POST --url 'https://member.bilibili.com/x2/creative/web/season/edit' \
--url-query 'csrf=xxx' \
-H 'Content-Type: application/json' \
--data-binary @payload.json \
-b 'SESSDATA=xxx; bili_jct=xxx'
https://member.bilibili.com/x2/creative/web/season/del
请求方式: POST
认证方式: Cookie (SESSDATA)
正文参数 (application/x-www-form-urlencoded):
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| id | num | 合集 ID | 必要 | |
| csrf | str | CSRF Token (即 Cookie 中 bili_jct) | 必要 |
JSON回复:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| code | num | 返回值 | 0:成功 |
| message | str | 错误信息 | |
| ttl | num | 1 |
示例:
删除合集 id=3541327
curl -X POST 'https://member.bilibili.com/x2/creative/web/season/del' \
--data-urlencode 'id=3541327' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx; bili_jct=xxx'
https://member.bilibili.com/x2/creative/web/season/section
请求方法: GET
认证方式: Cookie (SESSDATA)
可以在给合集排序时使用, 可以获取别人的
URL 参数:
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| id | num | 合集 ID | 必要 |
JSON 回复:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| code | num | 返回值 | 0:成功 |
| message | str | 错误信息 | |
| ttl | num | 1 | |
| data | obj | 信息本体 |
data 对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| section | obj | 小节信息 | |
| episodes | arr | 小节中的视频 |
data 对象中的 section 对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| id | num | 小节 ID | |
| type | num | 小节类型 | |
| seasonId | num | 合集 ID | |
| title | str | 小结标题 | |
| order | str | 排序编号? | |
| isEnd | num | 是否已完结? | 0: 未完结 |
| state | num | 合集状态? | 0: 正常显示 -6: 正在审核 |
| partState | num | 合集分段状态? | 0 |
| rejectReason | str | 合集拒绝原因? | |
| ctime | num | 创建时间 | |
| mtime | num | 修改时间 | |
| epCount | num | 小节视频总数 | |
| cover | num | 合集封面 | |
| show | num | 是否公开? | 1: 公开 |
| has_charging_pay | num | 是否充电付费? | 0: 否 |
| Episodes | null | ||
| has_pugv_pay | num | 是否 PUGV 付费? | 0: 否 |
data 对象中的 episodes数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| id | num | 合集内视频 ID | |
| title | str | 视频标题 | |
| aid | num | 视频 aid | |
| bvid | str | 视频 bvid | |
| cid | num | 视频 cid | |
| seasonId | num | 合集 ID | |
| sectionId | num | 小节 ID | |
| order | num | 排序编号 | |
| videoTitle | str | 视频标题 | |
| archiveTitle | str | 看起来也是标题 | |
| archiveState | num | 0 | |
| rejectReason | str | 拒绝理由? | |
| state | num | 0 | |
| cover | str | 封面 URL | |
| is_free | num | 是否免费? | 0: 免费 |
| aid_owner | bool | 是否视频所有者 | true:是所有者 |
| charging_pay | num | 充电付费? | 0: 否 |
示例:
获取合集小节 176088 的视频
curl -G --url 'https://member.bilibili.com/x2/creative/web/season/section' \
--url-query 'id=176088' \
-b 'SESSDATA=xxx'
https://member.bilibili.com/x2/creative/web/season/switch 请求方式: POST
认证方式:Cookie(SESSDATA)
URL参数:
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| t | num | 当前时间 | 非必要 | UNIX 毫秒时间戳 |
| csrf | str | CSRF Token (位于 Cookie 中 bili_jct) | 必要 |
正文参数(application/json):
| 参数名 | 类型 | 内容 | 必要性 | 备注 | |
|---|---|---|---|---|---|
| aid | num | 视频 ID | 必要 | ||
| season_id | num | null | 合集 ID | 必要 | null 表示从合集中移除 |
| section_id | num | null | 小节 ID | 必要 | null 表示从小节中移除 |
| title | str | 视频标题 | 必要 | ||
| csrf | str | CSRF Token (位于 Cookie 中 bili_jct) | 非必要 |
JSON回复:
根对象:
| 字段 | 类型 | 内容 | 备注 | |
|---|---|---|---|---|
| season_id | num | null | ||
| section_id | num | null | ||
| title | str | 标题 | ||
| aid | num | aid | ||
| csrf | num | CSRF Token (位于 Cookie 中 bili_jct) |
示例:
curl -X POST "https://member.bilibili.com/x2/creative/web/season/switch" \
--url-query "csrf=xxxxxxxxxxxx" \
-H "Content-Type: application/json" \
--data '{
"aid": 123456,
"season_id": 654321,
"section_id": 789012,
"title": "新视频标题"
}' \
-b "SESSDATA=xxxxxxxxxxx"
https://member.bilibili.com/x2/creative/web/season/aid 请求方式: GET
认证方式:Cookie(SESSDATA)
URL参数:
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| id | num | 视频 aid | 必要 |
JSON回复:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| code | num | 返回值 | 0: 成功 其他: 失败 |
| message | str | 错误信息 | 默认为 0 |
| ttl | num | 1 | |
| data | obj | 信息本体 |
data 对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| season | obj | 合集信息 |
season 对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| id | num | 合集 ID | |
| title | str | 合集标题 | |
| cover | str | 合集封面 URL | |
| desc | str | 合集描述 | |
| isEnd | num | 是否已完结 | 0: 未完结 1: 已完结 |
| mid | num | 合集作者 ID | |
| isAct | num | 是否为活动合集 | 0: 否 1: 是 |
| is_pay | num | 是否付费 | 0: 否 1: 是 |
| state | num | 合集状态 | 0: 正常显示 -6: 正在审核 |
| partState | num | 合集分段状态 | 0: 正常 |
| signState | num | 合集签名状态 | 0: 正常 |
| rejectReason | str | 合集拒绝原因 | |
| ctime | num | 创建时间 | UNIX 时间戳 |
| mtime | num | 修改时间 | UNIX 时间戳 |
| no_section | num | 是否设小节 | 1: 不设小节 |
| forbid | num | 合集是否禁止 | 0: 否 1: 是 |
| protocol_id | str | 协议 ID | |
| ep_num | num | 视频数量 | |
| season_price | num | 合集价格 | 0: 免费 |
| is_opened | num | 是否公开 | 1: 公开 0: 不公开 |
| has_charging_pay | num | 是否充电付费 | 0: 否 1: 是 |
| has_pugv_pay | num | 是否 PUGV 付费 | 0: 否 1: 是 |
示例:
curl -G "https://member.bilibili.com/x2/creative/web/season/aid" \
--data-urlencode "id=123456" \
-b "SESSDATA=xxxxxxxxxxx"