Bilibili API endpoint
Returns Bilibili's current popular videos in Bilibili's own order. Start with `cursor` 0 (the default; max 10000000) and pass back `next_cursor` for the next batch. Each video has `bvid`, `aid`, `title`, `url`, `cover`, `duration`, `uploader`, `views_and_age` and an optional `reason`. At the end of the feed `no_more` is `true` and `videos` is empty.
/bilibili/popularReturns Bilibili's current popular-video feed in upstream order. The response includes stable video metadata and a cursor for continuing to the next batch.
cursor (optional): non-negative upstream cursor. Start with 0, then pass the preceding response's next_cursor. Maximum 10000000.Each video includes its BVID, AID, title, canonical URL, cover, display duration, uploader, localized views/age text, optional recommendation reason, and upstream cursor. At the end of the feed, no_more is true and videos is empty. A nonempty but unrecognized upstream card payload returns an upstream error.
| Field | Filled in, of 9 checked | Values in the sample |
|---|---|---|
| bvid | 9 | “BV1FBpR6jEz1” and 8 other values |
| aid | 9 | “117426687775075” and 8 other values |
| title | 9 | “63小时?疯狂就在当下!!面包车直达新疆!赛里木湖!没白活!” and 8 other values |
| url | 9 | bilibili.com |
| cover | 9 | i1.hdslb.com and 2 other hosts |
| duration | 9 | “13:12” and 8 other values |
| uploader | 9 | |
| views_and_age | 9 | “69.1万观看 · 2天前” and 7 other values |
| reason | 7 | “6万点赞” and 4 other values |
| upstream_cursor | 9 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| cursor | integer | No | 0 | Upstream cursor from the previous response; defaults to 0 Minimum: 0. Maximum: 10000000. | 0 |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/bilibili/popular" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"cursor": 0,
"next_cursor": 10,
"no_more": false,
"count": 1,
"videos": [
{
"bvid": "BV1xx411c7mD",
"aid": "170001",
"title": "Popular Bilibili video",
"url": "https://www.bilibili.com/video/BV1xx411c7mD",
"cover": "https://i0.hdslb.com/bfs/archive/example.jpg",
"duration": "12:34",
"uploader": "Bilibili creator",
"views_and_age": "123万观看 · 2天前",
"reason": "百万播放",
"upstream_cursor": 10
}
]
}
}Request schema
No body schema
Response schema
#/definitions/bilibili.popularResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | bilibili.PopularResponse | No | ||||
| data.count | integer | No | 9 | |||
| data.cursor | integer | No | 0 | |||
| data.next_cursor | integer | No | 10 | |||
| data.no_more | boolean | No | false | |||
| data.videos | array | No | ||||
| data.videos[].aid | string | No | 170001 | |||
| data.videos[].bvid | string | No | BV1xx411c7mD | |||
| data.videos[].cover | string | No | https://i0.hdslb.com/bfs/archive/example.jpg | |||
| data.videos[].duration | string | No | 12:34 | |||
| data.videos[].reason | string | No | 百万播放 | |||
| data.videos[].title | string | No | Popular Bilibili video | |||
| data.videos[].uploader | string | No | Bilibili creator | |||
| data.videos[].upstream_cursor | integer | No | 10 | |||
| data.videos[].url | string | No | https://www.bilibili.com/video/BV1xx411c7mD | |||
| data.videos[].views_and_age | string | No | 123万观看 · 2天前 | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 500 | Internal Server Error | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/bilibili/popular" \
-H "x-api-key: $CRAWLORA_API_KEY"