WEIR

导出推特粉丝列表到 CSV:Python 教程和费用(2026)

导出推特粉丝列表到 CSV:X 官方 API 每个粉丝 $0.010,第三方接口按页翻到底。附只用标准库的 Python 脚本、实测扣费,和 1 万粉丝的真实成本。


发布于 · 更新于 · 阅读约 7 分钟 · Read in English

封面图:粉丝导出成 CSV,算清价格

导出推特粉丝列表,就是把粉丝接口一页一页翻到底,每个账号写成 CSV 里的一行。

这篇写给要把粉丝名单放进表格做受众分析的人。你会拿到 X 官方 API 和 Weir 两套代码,以及每种做法的费用。Weir 是我们做的,哪里有对手比我们便宜,我们也会写出来。

下面这段打印第一页粉丝,只用 Python 自带的库:

import json, os, urllib.request

req = urllib.request.Request(
    "https://api.weirapp.io/v1/x/users/XDevelopers/followers",
    headers={"Authorization": f"Bearer {os.environ['WEIR_API_KEY']}"})
for account in json.load(urllib.request.urlopen(req, timeout=60))["data"]:
    print(account["username"], account["followersCount"])

整个教程分四步:

  1. 拿密钥注册,复制密钥,设置 WEIR_API_KEY。
  2. 看一页GET /v1/x/users/{user}/followers。
  3. 翻到底把 meta.nextCursor 传回去,直到它为 null。
  4. 写 CSV每个账号一行,每页写完就落盘。

任何账号的粉丝列表都能导出吗?

只有公开账号可以。受保护账号的粉丝,只有它批准过的人能看到。X 的 API 和 Weir 都不返回,Weir 会回 404。

粉丝列表是一份人名单,所以要把这个文件当成个人数据:

  • 遵守 X 的条款。X 的服务条款限制抓取,你怎么用这些数据,责任在你。
  • 有正当理由,只留必要的字段。做受众研究合理,拿去群发私信就不合理。
  • 确认适用的隐私法规,包括你所在地和名单上的人所在地。本文不构成法律建议。

用 X 官方 API 导出推特粉丝列表

X 的接口是 GET /2/users/{id}/followers。每次请求最多返回 1,000 个账号,用 pagination_token 翻页。

它的速率限制是每个应用每 15 分钟 300 次请求。

截至 2026 年 10 月,X 的价格页列出读取一个粉丝 $0.010。把用户名换成 ID,还要再付一次 $0.010 的用户读取。同一个 UTC 日内重复读取同一资源只算一次。

用 Tweepy:

import csv, os, tweepy

client = tweepy.Client(bearer_token=os.environ["X_BEARER_TOKEN"])
user = client.get_user(username="XDevelopers").data

with open("followers.csv", "w", newline="", encoding="utf-8") as file:
    writer = csv.writer(file)
    writer.writerow(["id", "username", "name", "followers_count"])
    for f in tweepy.Paginator(
        client.get_users_followers, user.id,
        max_results=1000, user_fields=["public_metrics"],
    ).flatten(limit=5000):  # 给账单设个上限
        metrics = f.public_metrics or {}
        writer.writerow([f.id, f.username, f.name, metrics.get("followers_count")])

用这种方式导出别人账号的 5,000 个粉丝,大约要 $50。

自己的粉丝还有一条免费的路:X 数据存档里的 follower.js。存档的 README 说,它只列出关注你的账号的 ID,没有用户名和粉丝数。存档的申请步骤见如何打开推特存档。

第 1 步:拿到密钥,准备环境

免费注册 Weir,不用绑卡,在 API keys 页面创建密钥,然后:

export WEIR_API_KEY="weir_live_..."

下面的代码只用 Python 自带的库,AI 智能体的沙箱里没有 pip 也能跑。先写一个带密钥的小函数:

import csv, json, os, time, urllib.error, urllib.parse, urllib.request

API = "https://api.weirapp.io"
HEADERS = {"Authorization": f"Bearer {os.environ['WEIR_API_KEY']}"}

def get(path, params=None):
    url = API + path + ("?" + urllib.parse.urlencode(params) if params else "")
    req = urllib.request.Request(url, headers=HEADERS)
    with urllib.request.urlopen(req, timeout=60) as r:
        return json.load(r)

第 2 步:先看一页粉丝

Weir 的接口是 GET /v1/x/users/{user}/followers。{user} 可以填用户名,也可以填数字 ID,省掉单独的查询。

粉丝按 X 自己列出的顺序返回,大体是最近关注的在前。

page = get("/v1/x/users/XDevelopers/followers")
print(len(page["data"]), "个账号;还有下一页:", page["meta"]["nextCursor"] is not None)

没有 limit 参数,每页多少由 X 决定。2026 年 10 月 26 日,我们对 @XDevelopers 跑了第一页:

70第一页返回的账号
73这一页扣的积分
1 + 2 + 70调用、查账号、70 个粉丝各自的积分

每个账号长这样。这是 API 文档里的示例,不是真人:

{
  "id": "1593274519387648000",
  "username": "example_dev",
  "name": "Example Developer",
  "description": "Building developer tools. Posts about APIs and data.",
  "location": "Lisbon",
  "verified": true,
  "followersCount": 12840,
  "followingCount": 311,
  "createdAt": "2022-11-17T15:04:05.000Z",
  "protected": false
}

description 和 location 可能是 null。id 要按字符串保存。

第 3 步:翻完所有粉丝

最后一页之后,meta.nextCursor 是 null。下面的生成器每次给出一页:

def follower_pages(user, max_pages=50):
    cursor = None
    for _ in range(max_pages):
        try:
            page = get(f"/v1/x/users/{user}/followers", {"cursor": cursor} if cursor else None)
        except urllib.error.HTTPError as e:
            if e.code != 429:  # 402:积分用完;404:账号不存在或受保护
                raise
            time.sleep(int(e.headers.get("Retry-After", "10")))  # 太快了:等一下,重试同一页
            continue
        yield page["data"]
        cursor = page["meta"]["nextCursor"]
        if not cursor:
            return

这个循环做对了三件事:

  • max_pages 给费用封顶。15 页大约是 1,050 个账号。
  • cursor 原样传回。拿别的请求生成的 cursor 会得到 400,见分页文档(英文)。
  • 429 和 402 分开处理。429 等过 Retry-After 就好,所以重试。402 只有充值才能解决,所以直接报错,详见X API 402 错误。

第 4 步:把推特粉丝列表写进 CSV

DictWriter 只保留你指定的列。每页写完就 flush,脚本中途停了,文件也能用。

FIELDS = ["id", "username", "name", "description", "location", "verified",
          "followersCount", "followingCount", "createdAt", "url"]
seen = set()
with open("followers.csv", "w", newline="", encoding="utf-8") as file:
    writer = csv.DictWriter(file, fieldnames=FIELDS, extrasaction="ignore")
    writer.writeheader()
    for accounts in follower_pages("XDevelopers", max_pages=15):
        for account in accounts:
            if account["id"] not in seen:  # 防止页与页之间重复
                seen.add(account["id"])
                writer.writerow(account)
        file.flush()
print(f"写入了 {len(seen)} 个粉丝")

用 Excel 打开,中文简介变成乱码? 把 encoding="utf-8" 改成 "utf-8-sig",Excel 就能正确识别 UTF-8。

Excel 还会把很长的 ID 显示成科学计数法。CSV 里每一位数字都在,导入时把 id 列设成文本就行。

/v1/x/users/{user}/following 用法完全一样,导出的是这个账号关注的人。

导出推特粉丝要花多少钱?

Weir 每个账号扣 1 积分,每次调用再扣 1 积分。第一页还要多扣 2 积分,用来查这个账号。

所以满满一页约 71 积分,N 个粉丝大约是 N + N/70 + 2 积分。

导出 10 万个粉丝
X 官方 API$1,000
SocialData$20
Weir,$5 套餐$20.29
Weir,$1,000 套餐$10.14
TwitterAPI.io$1

截至 2026 年 10 月,三种规模的费用:

粉丝数 Weir 积分 Weir($5 套餐) X 官方 API TwitterAPI.io
1,000 1,017 免费 $10 $0.01
10,000 10,145 $2.03 $100 $0.10
100,000 101,431 $20.29 $1,000 $1.00

每月 5,000 免费积分,大约够导出 4,900 个粉丝。

这件事上,TwitterAPI.io 比我们便宜 10 到 20 倍。它的文档写明,每页 200 个时每个粉丝 1 积分,也就是每千个 $0.01。SocialData 标价每千条结果 $0.20。

速度也不一样:

700Weir 免费档每分钟的粉丝数
2,800任意一次购买后每分钟的粉丝数
15 分钟免费档导出 1 万个粉丝

粉丝接口在每分钟限额里算 3 次请求。X 官方 API 更快:每 15 分钟 300 次请求,每次 1,000 个账号。

让 AI 智能体帮你导出

把 Weir 接进 Claude、Cherry Studio 或 Trae 之后,可以直接用中文让它做,接法见推特 MCP 服务器。粘贴这段:

用 Weir 的 get_x_user_followers 工具,取 @XDevelopers 的粉丝,有 nextCursor 就继续翻,最多 3 页。把 username、name、followersCount、createdAt 整理成 CSV 给我。

3 页大约 210 个账号,花约 215 积分:第一页 73,之后每页 71。智能体能跑代码的话,让它直接运行上面的脚本更省事。

什么时候不适合用 Weir

  • 你主要就是导出粉丝关系。TwitterAPI.io 每个账号便宜得多。
  • 你导出的是自己的粉丝。X 的 Owned Reads 每个只要 $0.001。
  • 你需要 X 自己的条款,或者要和 X 签合同。
  • 账号有几百万粉丝。这么大的完整导出我们没测过,先跑几页试试。

如果粉丝导出只是你工作的一部分,还要用同一个密钥搜推文、读时间线或拿 Reddit 数据,Weir 才合适。更多选择见推特 API 替代方案。

常见问题

能导出私密推特账号的粉丝吗?

不能。受保护账号的粉丝,只有它批准过的人能看到。X 官方 API 不返回,Weir 回 404。只有公开账号能导出。

导出 1 万个推特粉丝要多少钱?

X 官方 API 约 $100,每个粉丝 $0.010。Weir 要 10,145 积分,用 $5 套餐约 $2.03。按 TwitterAPI.io 公布的价格,约 10 美分。

每次请求能拿多少个粉丝?

X 官方 API 最多 1,000 个,TwitterAPI.io 最多 200 个。Weir 的每页大小由 X 决定,约 70 个,用 meta.nextCursor 翻到下一页。

能导出一个人关注的账号吗?

能。Weir 的 /v1/x/users/{user}/following 用同样的 cursor,返回同样的字段。把脚本路径里的 followers 换成 following 就行。

参考来源

以下均为英文页面。