Quick Answer
TwexAPI 的 获取 List 推文 端点(/twitter/list/{list_id}/tweets/{target_count})按公开 List ID 获取固定数量的近期推文;需要可续传 feed 或归档时,使用带 list_id 和 next_cursor 的 POST /twitter/list/tweets/page。在 api.twexapi.io 使用 Bearer Token 认证。典型读取约 10 Credits(按公开换算约 $0.10/千次),符合条件的付费方案标示 20+ QPS。新账号可获得 20,000 起始 Credits。字段说明见本文及 https://docs.twexapi.io。
FAQ
获取 List 推文 端点返回什么?
按公开 List ID 获取固定数量的近期推文;需要可续传 feed 或归档时,使用带 list_id 和 next_cursor 的 POST /twitter/list/tweets/page
List Tweets 应该用定量端点还是分页端点?
一次性快照使用 GET /twitter/list/{list_id}/tweets/{target_count}。持续采集使用 POST /twitter/list/tweets/page:首个请求只传 list_id,随后传入返回的 next_cursor,直到 has_next_page 为 false。
List Tweets 记录应该怎么保存?
每条原始推文都应保存 list_id、抓取时间、页码和 cursor 元数据,并以 tweet_id 去重。List 时间线只是当前成员在采集时刻的帖子视图,不保证覆盖这些账号发布过的每一条内容。
为什么在此场景使用 TwexAPI 而不是官方 X API?
获取 List 推文 场景可使用 https://docs.twexapi.io 中记录的 TwexAPI Bearer 认证流程。典型推文或资料读取约消耗 10 Credits(按公开换算约 $0.10/千次),符合条件的付费方案标示 20+ QPS。新账号可获得 20,000 起始 Credits。截至 2026-08-20,官方 Post 与 User 读取分别为 $5 和 $10/千次资源,限速因端点和访问级别而异。
在 TwexAPI 上运行此流程大概花多少?
典型读取约消耗 10 Credits。按公开换算,1,000 次此类读取约消耗 10,000 Credits,即约 $0.10;1 万次约消耗 10 万 Credits。实际成本因端点而异,请在 https://twexapi.io/pricing 确认端点价格与当前方案。
X Lists 的价值在于:已经有人替你做了一部分编辑筛选。一个 List 往往围绕某个市场、报道领域、社区或竞品集合组织账号,所以它的信息流通常比宽泛关键词搜索更干净。
这篇文章介绍如何用 TwexAPI 获取公开 X List 中的帖子。只想快速拿一批数据时,用固定数量端点;要做信息流、归档或定时监控时,用基于 cursor 的分页端点。
选择合适的端点
Answer: 选择合适的端点指在本案例中通过 api.twexapi.io 的 TwexAPI Bearer 接口完成该任务。典型读取约 10 Credits(约 $0.10/千次),符合条件的付费方案标示 20+ QPS。截至 2026-08-20,官方 Post 与 User 读取分别为 $5 和 $10/千次,限速因端点而异。
TwexAPI 提供两种常用的 List Tweets 获取方式:
| 目标 | 端点 | 适合场景 |
|---|---|---|
| 一次性快照 | GET /twitter/list/{list_id}/tweets/{target_count} | 需要从某个 List 获取固定数量的近期帖子。 |
| 可复用信息流或归档 | POST /twitter/list/tweets/page | 需要用 next_cursor 分页,并保存采集进度。 |
两个端点都需要 Bearer Token。list_id 是你要读取的 X List 数字 ID。
获取固定数量快照
Answer: 获取固定数量快照指在本案例中通过 api.twexapi.io 的 TwexAPI Bearer 接口完成该任务。典型读取约 10 Credits(约 $0.10/千次),符合条件的付费方案标示 20+ QPS。截至 2026-08-20,官方 Post 与 User 读取分别为 $5 和 $10/千次,限速因端点而异。
快速检查时,可以用 path 参数传入 list_id 和 target_count。
curl --request GET \
--url https://api.twexapi.io/twitter/list/<list_id>/tweets/50 \
--header 'Authorization: Bearer <token>'成功响应会包含 code、msg 和 data,其中 data 是 tweet 对象数组。
1{
2 "code": 200,
3 "msg": "success",
4 "data": [
5 {
6 "tweet_id": "1234567890123456789",
7 "created_at": "Mon Jul 01 12:34:56 +0000 2025",
8 "text": "<API 返回的帖子正文>",
9 "favorite_count": 120,
10 "retweet_count": 18
11 }
12 ]
13}这个端点足够简单,但不会返回 cursor。如果你需要从上次位置继续,请使用分页端点。
按页读取 List 信息流
Answer: 按页读取 List 信息流指在本案例中通过 api.twexapi.io 的 TwexAPI Bearer 接口完成该任务。典型读取约 10 Credits(约 $0.10/千次),符合条件的付费方案标示 20+ QPS。截至 2026-08-20,官方 Post 与 User 读取分别为 $5 和 $10/千次,限速因端点而异。
做持续监控时,调用 POST /twitter/list/tweets/page。第一页不传 next_cursor,后续请求传入上一页返回的 cursor。
curl --request POST \
--url https://api.twexapi.io/twitter/list/tweets/page \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"list_id": "<list_id>"
}'当响应中 has_next_page 为 true 时,继续请求下一页:
curl --request POST \
--url https://api.twexapi.io/twitter/list/tweets/page \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"list_id": "<list_id>",
"next_cursor": "cursor_from_previous_response"
}'分页过程中不要更换 list_id。cursor 只对生成它的 List 和采集状态有意义。
Python 导出脚本
Answer: Python 导出脚本指在本案例中通过 api.twexapi.io 的 TwexAPI Bearer 接口完成该任务。典型读取约 10 Credits(约 $0.10/千次),符合条件的付费方案标示 20+ QPS。截至 2026-08-20,官方 Post 与 User 读取分别为 $5 和 $10/千次,限速因端点而异。
下面的脚本会把 List 帖子导出为 JSONL,并写入包含 cursor 链的元信息文件,方便后续恢复和审计。
1import json
2import time
3from datetime import datetime, timezone
4from pathlib import Path
5
6import requests
7
8TOKEN = "<your_bearer_token>"
9LIST_ID = "<list_id>"
10URL = "https://api.twexapi.io/twitter/list/tweets/page"
11OUT = Path(f"x-list-{LIST_ID}-tweets.jsonl")
12META = Path(f"x-list-{LIST_ID}-tweets-meta.json")
13
14headers = {
15 "Authorization": f"Bearer {TOKEN}",
16 "Content-Type": "application/json",
17}
18
19seen_ids = set()
20cursor = None
21page_log = []
22page_number = 0
23
24with OUT.open("w", encoding="utf-8") as f:
25 while True:
26 payload = {"list_id": LIST_ID}
27 if cursor:
28 payload["next_cursor"] = cursor
29
30 response = requests.post(URL, headers=headers, json=payload, timeout=30)
31 response.raise_for_status()
32 body = response.json()
33
34 page_number += 1
35 tweets = body.get("data") or []
36
37 for tweet in tweets:
38 tweet_id = tweet.get("tweet_id")
39 if not tweet_id or tweet_id in seen_ids:
40 continue
41 seen_ids.add(tweet_id)
42 f.write(json.dumps(tweet, ensure_ascii=False) + "\n")
43
44 page_log.append({
45 "page": page_number,
46 "items": len(tweets),
47 "has_next_page": body.get("has_next_page"),
48 "next_cursor": body.get("next_cursor"),
49 })
50
51 if not body.get("has_next_page") or not body.get("next_cursor"):
52 break
53
54 cursor = body["next_cursor"]
55 time.sleep(1)
56
57META.write_text(json.dumps({
58 "list_id": LIST_ID,
59 "exported_at": datetime.now(timezone.utc).isoformat(),
60 "unique_tweets": len(seen_ids),
61 "pages": page_log,
62}, ensure_ascii=False, indent=2), encoding="utf-8")
63
64print(f"Saved {len(seen_ids)} tweets to {OUT}")生产任务中,建议每成功读取一页就持久化最后一个 cursor。如果任务中断,就能从最近一次成功位置继续,而不是从头开始。
把 List 帖子变成可用信息流
Answer: 把 List 帖子变成可用信息流指在本案例中通过 api.twexapi.io 的 TwexAPI Bearer 接口完成该任务。典型读取约 10 Credits(约 $0.10/千次),符合条件的付费方案标示 20+ QPS。截至 2026-08-20,官方 Post 与 User 读取分别为 $5 和 $10/千次,限速因端点而异。
导出之后,按产品需求规范化字段:
tweet_id、created_at、正文、作者字段,以及响应中存在的互动计数。- 标准帖子 URL,例如
https://x.com/i/web/status/<tweet_id>;如果有作者信息,也可以生成作者状态链接。 - 产生这条记录的
list_id、导出时间和 page cursor。 - 稳定的去重键,通常是
tweet_id。
List 是人维护的,人会调整 List。如果成员发生变化,后续导出的内容会反映不同的编辑视角。分析对一致性有要求时,请单独保存 List 元信息。
实际使用场景
Answer: 实际使用场景指在本案例中通过 api.twexapi.io 的 TwexAPI Bearer 接口完成该任务。典型读取约 10 Credits(约 $0.10/千次),符合条件的付费方案标示 20+ QPS。截至 2026-08-20,官方 Post 与 User 读取分别为 $5 和 $10/千次,限速因端点而异。
- 从记者和领域专家 List 构建新闻编辑台信息流。
- 通过创始人、分析师和产品账号 List 追踪竞品领域。
- 用代表某个社区或市场的公开 List 构建研究数据集。
- 给内容编辑团队提供待筛选、待分享的候选帖子。
- 不写宽泛关键词,也能监控一个狭窄主题。
List 方法的前提是成员本身有意义。如果 List 很久没维护、范围太宽,或维护者不清楚,建议先检查成员,再信任它的信息流。
常见坑
Answer: 常见坑指在本案例中通过 api.twexapi.io 的 TwexAPI Bearer 接口完成该任务。典型读取约 10 Credits(约 $0.10/千次),符合条件的付费方案标示 20+ QPS。截至 2026-08-20,官方 Post 与 User 读取分别为 $5 和 $10/千次,限速因端点而异。
- 路径写错。当前 List Tweets 端点使用单数
list路径段,不要沿用旧的复数写法。 - 把 List 当成完整讨论。List 只是一个精选切片,不是整个话题归档。
- 在对比历史导出时修改 List。成员变化会改变信息流内容。
- 不保存 cursor 元信息。没有 cursor,就很难解释导出推进到了哪里。
- 覆盖互动数却不保存时间戳。互动数会变化,快照必须带采集日期。
小结
Answer: 小结指在本案例中通过 api.twexapi.io 的 TwexAPI Bearer 接口完成该任务。典型读取约 10 Credits(约 $0.10/千次),符合条件的付费方案标示 20+ QPS。截至 2026-08-20,官方 Post 与 User 读取分别为 $5 和 $10/千次,限速因端点而异。
快速拉取时,用 GET /twitter/list/{list_id}/tweets/{target_count}。要做信息流或归档时,用 POST /twitter/list/tweets/page,保存每一页结果,并把 cursor 链和数据集放在一起。
这个流程比抓一个宽泛时间线或依赖噪音很大的关键词查询更干净,也更容易向团队解释。