# B 站的 mid（UID）是什么，从哪里拿到？

> B 站 mid 就是 space.bilibili.com 链接里的数字用户 ID。它的格式、和昵称及 aid 的区别、接口返回里在哪个字段，以及拿到之后在这里做不了什么。

网页版：https://okdata.online/zh/answers/bilibili-mid-uid/

**简短回答：**mid 是 B 站账号永久不变的数字 ID，主页上显示为 UID，主页链接就是 space.bilibili.com/<mid>。okdata 返回的每条 B 站视频和评论都在 author.id 里带着它，比如一页约 20 条的视频搜索收费 $0.002。接口目录里没有 B 站账号信息接口，所以没法在这里用 mid 查粉丝数。

在 B 站，`mid` 是账号的数字用户 ID。个人主页上标的 UID 就是它，主页链接也是用它拼出来的：`space.bilibili.com/` 后面跟这串数字。昵称可以改，mid 改不了，所以正经的 B 站数据集，UP 主和评论用户都按 mid 来区分。

## 长什么样

- 不带前缀的正整数。早年注册的账号 mid 很短；我们在 2026 年 11 月读到的返回里，mid 从 7 位到 16 位都有，近几年注册的账号是以 3 开头的 16 位数。
- 16 位数对 JavaScript 的数字类型和 64 位整数都还安全，但 Excel 只保留 15 位有效数字，多出来的会被改成 0。mid 请存成文本或 BIGINT，表格里那一列设成文本格式。
- 直播间有自己的房间号，视频有 aid 和 BV 号，评论有自己的评论 ID。这些都不是 mid，哪怕数字看着差不多。

## okdata 在哪里返回它

| 接口 | 哪个字段是 mid | 费用 |
|---|---|---|
| [B站视频搜索](/zh/apis/bilibili/videos/search/) | 每个视频 UP 主的 `author.id` | 每页 $0.002 |
| [B站视频详情](/zh/apis/bilibili/videos/get/) | UP 主的 `author.id` | $0.002 |
| [B站视频评论](/zh/apis/bilibili/videos/comments/list/) | 每个评论者的 `author.id` | 每页 $0.002 |

`author.name` 是抓取时的昵称。B 站的 `author.followers` 和 `author.verified` 返回 null，`meta.unavailable` 里会写明原因。

## 拿到 mid 之后做不了什么

接口目录里没有 B 站账号类接口：查不了粉丝数，取不了主页资料，也拉不了“这个 UP 主的全部视频”。如果你手上只有 mid，比较实际的办法是按 UP 主的名字或他常做的话题去搜，再按 `author.id` 过滤；要看粉丝数，就在浏览器里打开 `space.bilibili.com/<mid>`。

## 示例

找出某个话题下最新视频背后的 mid，并统计每个 UP 主出现了几次：

```python
import os, requests
from collections import Counter

URL = "https://api.okdata.online/v1/bilibili/videos/search"
H = {"Authorization": f"Bearer {os.environ['OKDATA_API_KEY']}"}

body = requests.get(URL, headers=H, timeout=60, params={
    "query": "机械键盘 测评", "sort": "latest",
    "fields": "id,title,author.id,author.name"}).json()
if body["code"] != "ok":
    raise SystemExit(body["message"])

videos = body["data"]["items"]
by_mid = Counter((v["author"]["id"], v["author"]["name"]) for v in videos)
for (mid, name), n in by_mid.most_common(10):
    print(mid, name, n, f"https://space.bilibili.com/{mid}")
```

一页 $0.002；几个关键词一共翻 10 页是 $0.02。

## 限制

- 搜索只能找到 B 站对这个关键词排出来的视频。UP 主从来不用你搜的那些词，就不会出现；按 `author.id` 过滤，也只能在搜索返回的结果里过滤。
- 评论者的 mid 标识的是账号，不是人。把它当个人信息对待，分析用完就别一直留着。
- 视频已删除或设为私密时返回 `not_found`，不扣费。

想从搜索结果里挑合作 UP 主，可以看[怎么在 B 站找某个领域的 UP 主做商单](/zh/answers/bilibili-find-up-creators-for-sponsorship/)。

## 用到的接口

- [B站视频搜索](https://okdata.online/zh/apis/bilibili/videos/search/) `bilibili.videos.search`：$0.002/次 · 每页约 20 条视频
- [B站视频详情](https://okdata.online/zh/apis/bilibili/videos/get/) `bilibili.videos.get`：$0.002/次
- [B站视频评论](https://okdata.online/zh/apis/bilibili/videos/comments/list/) `bilibili.videos.comments.list`：$0.002/次 · 每页约 20 条评论

## 更多B站内容

- [B站 API](https://okdata.online/zh/apis/bilibili/)
- [B站 API Python 教程：搜索、视频数据、评论和热门榜（2026）](https://okdata.online/zh/guides/bilibili-api-python/)
- [怎么抓取 B 站视频下面的评论？](https://okdata.online/zh/answers/bilibili-video-comments-api/)
- [B 站 BV 号和 AV 号是什么关系，数据库里该存哪个？](https://okdata.online/zh/answers/bilibili-bv-vs-av-number/)
- [想找某个领域的 B 站 UP 主做推广，怎么筛？](https://okdata.online/zh/answers/bilibili-find-up-creators-for-sponsorship/)
- [B站有新视频提到我们产品时，怎么及时知道？](https://okdata.online/zh/answers/bilibili-new-videos-keyword-alert/)
- [B站搜索接口老是返回 -412，有没有更省事的搜视频办法？](https://okdata.online/zh/answers/bilibili-search-api-412-error/)
- [评论接口](https://okdata.online/zh/roles/posts-comments-list/)
- [内容详情接口](https://okdata.online/zh/roles/posts-get/)
- [内容搜索接口](https://okdata.online/zh/roles/posts-search/)
- [B站热搜榜：今日榜单](https://okdata.online/zh/tools/hot-search/bilibili/)

## 资料来源

- [yt-dlp 的 B 站提取器：space.bilibili.com/<数字 ID> 主页链接](https://github.com/yt-dlp/yt-dlp/blob/master/yt_dlp/extractor/bilibili.py) (读取于 2026-11-12)
- [V2EX：B 站用户 UID 已经到了 16 位](https://www.v2ex.com/t/1132841) (读取于 2026-11-12)
- [Excel：保留前导零和大数字（15 位有效数字）](https://support.microsoft.com/en-us/excel/keeping-leading-zeros-and-large-numbers) (读取于 2026-11-12)

这个问题出现过的地方（读取于 2026-11-12）：

- https://www.v2ex.com/t/1132841
- https://github.com/HFrost0/bilix/issues/171
- https://github.com/AyaseEli-Bing/bilibili-spider/issues/2

更新于 2026-11-12
