# B站热门榜有接口吗？

> 通过 API 获取 B 站当前的综合热门榜：每条视频的排名、标题、播放量和链接，每次快照的费用，以及怎么自己攒历史榜单。

网页版：https://okdata.online/zh/answers/bilibili-popular-board-api/

**简短回答：**有。okdata 的 B站热门榜接口返回当前综合热门列表，带排名、视频标题、播放量和链接，每页约 50 条，每次 $0.002。每天抓三次、抓一个月是 $0.18。不用传参数，不用登录，也不用 Cookie。

每天早上看一眼 B 站热门，内容团队很快就能知道这周什么形式在爆：一个新梗、一次游戏版本更新、一种突然人人都在模仿的讲解方式。手动刷网页也能看，可一旦想把它放进表格、和上周对比，或者开晨会前让模型先总结一遍，就需要拿到结构化的数据了。

## 用哪个接口

[B站热门榜](/zh/apis/bilibili/trends/list/)不需要任何参数。每一行有：

- `rank`，在榜单上的位置
- `name`，视频标题
- `heat`，抓取那一刻的视频播放量
- `url`，视频链接，里面就有 BV 号

榜单不止一页。把 `page.next_cursor` 作为 `cursor` 传回去就能往下翻，每翻一页算一次调用。

想知道某一条的点赞、投币或者 UP 主是谁，把链接交给 [B站视频详情](/zh/apis/bilibili/videos/get/)，每条 $0.002。

## 费用

| 用法 | 调用次数 | 费用 |
|---|---|---|
| 抓一次，只要第一页 | 1 | $0.002 |
| 每天三次，抓 30 天 | 90 | $0.18 |
| 同上，每次翻三页 | 270 | $0.54 |
| 每天一次，再查前 10 名的详情 | 30 + 300 | $0.66 |

## 早报脚本

```python
import json, os, datetime, requests

API = "https://api.okdata.online"
H = {"Authorization": f"Bearer {os.environ['OKDATA_API_KEY']}"}

board = requests.get(API + "/v1/bilibili/trends/list", headers=H, timeout=60).json()
rows = board["data"]["items"]

top = []
for row in rows[:10]:
    bv = row["url"].rstrip("/").split("/")[-1]
    d = requests.get(API + "/v1/bilibili/videos/get", headers=H,
                     params={"id": bv, "view": "full"}, timeout=60).json()["data"]["item"]
    top.append({"排名": row["rank"], "标题": row["name"], "播放": row["heat"],
                "投币": d["ext"]["coins"], "分区": d["ext"]["section"], "UP主": d["author"]["name"]})

stamp = datetime.date.today().isoformat()
json.dump(top, open(f"bili-popular-{stamp}.json", "w", encoding="utf-8"), ensure_ascii=False, indent=1)
```

每天跑一次，文件按日期存，一个月后就有了自己的热门榜档案。

## 榜单里没有的东西

- `heat` 就是播放量，并非 B 站内部的排序分。所以播放少的视频排在播放多的前面，并不奇怪。
- 只有当前的综合热门。分区排行榜、每周必看、入站必刷都不在接口目录里。
- 没有历史榜单接口。想看上个月的热门，只能从现在开始自己存快照，像上面那样一天一个文件就够了。

## 别的办法

开源项目 DailyHotApi 和 RSSHub 都有 B 站热门的路由，自己部署不花钱，手上已经在跑其中一个的话很合适。只是随手看看，B 站首页的热门页就是数据源本身。想把 B 站热门和微博、抖音热搜放在一起看，参考[趋势研究方案](/zh/solutions/trend-research/)。

## 用到的接口

- [B站热门榜](https://okdata.online/zh/apis/bilibili/trends/list/) `bilibili.trends.list`：$0.002/次 · 每页约 50 条榜单
- [B站视频详情](https://okdata.online/zh/apis/bilibili/videos/get/) `bilibili.videos.get`：$0.002/次

更新于 2026-11-12
