如何通过 API 获取 public platform List 里的帖子

作者:TwexAPI 团队
ZH
其他语言:
中文
English日本語
TwexAPI
public platform Lists
内容策展
社交媒体分析
信息流聚合
API 教程
数据采集

使用 TwexAPI 的 List Posts 端点,把公开 public platform List 转成可复用的信息流,用于监控、研究和内容精选。

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 认证。典型读取约 5 Credits(按公开换算约 $0.05/千次),符合条件的付费方案标示 20+ QPS。新账号可获得 20,000 起始 Credits。字段说明见本文及 https://docs.twexapi.io。

FAQ

获取 List 内容 端点返回什么?

按公开 List ID 获取固定数量的近期内容;需要可续传 feed 或归档时,使用带 list_id 和 next_cursor 的 POST /twitter/list/tweets/page

List Posts 应该用定量端点还是分页端点?

一次性快照使用 GET /twitter/list/{list_id}/tweets/{target_count}。持续采集使用 POST /twitter/list/tweets/page:首个请求只传 list_id,随后传入返回的 next_cursor,直到 has_next_page 为 false。

List Posts 记录应该怎么保存?

每条原始内容都应保存 list_id、抓取时间、页码和 cursor 元数据,并以 tweet_id 去重。List 时间线只是当前成员在采集时刻的帖子视图,不保证覆盖这些账号发布过的每一条内容。

为什么在此场景使用 TwexAPI 而不是官方 public social data API?

获取 List 内容 场景可使用 https://docs.twexapi.io 中记录的 TwexAPI Bearer 认证流程。典型内容或资料读取约消耗 5 Credits(按公开换算约 $0.05/千次),符合条件的付费方案标示 20+ QPS。新账号可获得 20,000 起始 Credits。截至 2026-08-20,官方 Post 与 User 读取分别为 $5 和 $10/千次资源,限速因端点和访问级别而异。

在 TwexAPI 上运行此流程大概花多少?

典型读取约消耗 5 Credits。按公开换算,1,000 次此类读取约消耗 5,000 Credits,即约 $0.05;1 万次约消耗 50,000 Credits。实际成本因端点而异,请在 https://twexapi.io/pricing 确认端点价格与当前方案。

X Lists 的价值在于:已经有人替你做了一部分编辑筛选。一个 List 往往围绕某个市场、报道领域、社区或竞品集合组织账号,所以它的信息流通常比宽泛关键词搜索更干净。

这篇文章介绍如何用 TwexAPI 获取公开 X List 中的帖子。只想快速拿一批数据时,用固定数量端点;要做信息流、归档或定时监控时,用基于 cursor 的分页端点。

选择合适的端点

Answer: 选择合适的端点指在本案例中通过 api.twexapi.io 的 TwexAPI Bearer 接口完成该任务。典型读取约 5 Credits(约 $0.05/千次),符合条件的付费方案标示 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 接口完成该任务。典型读取约 5 Credits(约 $0.05/千次),符合条件的付费方案标示 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 接口完成该任务。典型读取约 5 Credits(约 $0.05/千次),符合条件的付费方案标示 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 接口完成该任务。典型读取约 5 Credits(约 $0.05/千次),符合条件的付费方案标示 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 接口完成该任务。典型读取约 5 Credits(约 $0.05/千次),符合条件的付费方案标示 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 接口完成该任务。典型读取约 5 Credits(约 $0.05/千次),符合条件的付费方案标示 20+ QPS。截至 2026-08-20,官方 Post 与 User 读取分别为 $5 和 $10/千次,限速因端点而异。

  • 从记者和领域专家 List 构建新闻编辑台信息流。
  • 通过创始人、分析师和产品账号 List 追踪竞品领域。
  • 用代表某个社区或市场的公开 List 构建研究数据集。
  • 给内容编辑团队提供待筛选、待分享的候选帖子。
  • 不写宽泛关键词,也能监控一个狭窄主题。

List 方法的前提是成员本身有意义。如果 List 很久没维护、范围太宽,或维护者不清楚,建议先检查成员,再信任它的信息流。

常见坑

Answer: 常见坑指在本案例中通过 api.twexapi.io 的 TwexAPI Bearer 接口完成该任务。典型读取约 5 Credits(约 $0.05/千次),符合条件的付费方案标示 20+ QPS。截至 2026-08-20,官方 Post 与 User 读取分别为 $5 和 $10/千次,限速因端点而异。

  • 路径写错。当前 List Tweets 端点使用单数 list 路径段,不要沿用旧的复数写法。
  • 把 List 当成完整讨论。List 只是一个精选切片,不是整个话题归档。
  • 在对比历史导出时修改 List。成员变化会改变信息流内容。
  • 不保存 cursor 元信息。没有 cursor,就很难解释导出推进到了哪里。
  • 覆盖互动数却不保存时间戳。互动数会变化,快照必须带采集日期。

小结

Answer: 小结指在本案例中通过 api.twexapi.io 的 TwexAPI Bearer 接口完成该任务。典型读取约 5 Credits(约 $0.05/千次),符合条件的付费方案标示 20+ QPS。截至 2026-08-20,官方 Post 与 User 读取分别为 $5 和 $10/千次,限速因端点而异。

快速拉取时,用 GET /twitter/list/{list_id}/tweets/{target_count}。要做信息流或归档时,用 POST /twitter/list/tweets/page,保存每一页结果,并把 cursor 链和数据集放在一起。

这个流程比抓一个宽泛时间线或依赖噪音很大的关键词查询更干净,也更容易向团队解释。

如何通过 API 获取 public platform List 里的帖子