2026 年的 Nitter 替代品:脚本和智能体还能用什么

更新于
我们在 2026 年 10 月用 curl 实测了 Nitter 实例、查看站点、链接预览 API、X 嵌入端点和 UnifAPI,看哪些适合脚本与 Agent。
一句话总结:作为公共服务的 Nitter 已经结束了。2026 年 10 月 7 日,
nitter.net超时,nitter.privacydev.net拒绝连接,xcancel.com返回 HTTP 451(因法律原因被封)。在搜索结果里取而代之的查看器站点 sotwe 和 twstalker,对任何非浏览器客户端都回一道 Cloudflare 验证。脚本还能用的:FxTwitter 和 vxTwitter 读单条帖子或单个用户,X 的 syndication 端点读单条帖子,UnifAPI 的免费/tools/x/*端点读主页、帖子、媒体、回复、搜索、热搜、社区和关注者,全部以 JSON 或 Markdown 返回,免费使用,无需登录、无需账号,按访客限流。没有哪个免费方案能保证吞吐量。
五年来,Nitter 都是"不用账号看 Twitter"的答案:一个把主页、线程和搜索渲染成纯 HTML 的隐私前端。这让它成了脚本的默认选择,后来又成了第一批 AI 智能体的默认选择,它们可以 curl 一个 Nitter URL 然后读结果。2024 年初,X 关闭了 Nitter 赖以运行的访客账号通道,此后实例陆续死去。这个名字仍然排在搜索前列(中文用户搜的是"nitter 替代""nitter 打不开""nitter 实例"),所以人们不断落到死掉的实例上,以及表现比它们所取代的东西更糟的查看器站点上。
以下是我们用智能体真正拥有的工具去实测时的发现:curl、默认 User-Agent、不带 cookie。
测试方法
每个目标两次请求:NASA 的主页,以及一条公开帖子(x.com/NASA/status/2107237881668313108)。记录 HTTP 状态码、内容类型,以及程序能否不跑 JavaScript 就从响应体里读出帖子正文和点赞数。
| 目标 | 主页 | 帖子 | 脚本可读 | 备注 |
|---|---|---|---|---|
nitter.net | 超时 | 超时 | 否 | 7 秒内无响应 |
nitter.privacydev.net | 拒绝 | 拒绝 | 否 | 连接被拒绝 |
xcancel.com | 451 | 451 | 否 | "因法律原因不可用" |
sotwe.com | 403 | 403 | 否 | Cloudflare "Just a moment…" 验证页 |
twstalker.com | 403 | 403 | 否 | Cloudflare 验证页 |
x.com | 200 | 200 | 否 | 147 KB 的 HTML 空壳;数据由 JavaScript 加载 |
api.fxtwitter.com | 200 JSON | 200 JSON | 是 | 单个用户、单条帖子;无搜索和回复 |
api.vxtwitter.com | 不适用 | 200 JSON | 是 | 单条帖子 |
cdn.syndication.twimg.com/tweet-result | 不适用 | 200 JSON | 是 | 无文档;单条帖子 |
publish.twitter.com/oembed | 不适用 | 200 JSON | JSON 里套 HTML | 嵌入标记,没有指标 |
unifapi.com/tools/x/* | 200 JSON | 200 JSON | 是,JSON 或 Markdown | 另有媒体、回复、搜索、热搜、社区、关注者 |
三种失败,值得分开来看。
没了。 Nitter 实例。没有修复的办法;它们所用的上游通道已不存在。任何还在拼 nitter.net/<handle> URL 的代码或提示词都应该删掉。
被挡。 sotwe 和 twstalker 在浏览器里能用,对其他一切都回 Cloudflare 验证。对人来说没问题。对脚本来说就是一个 403,而今天能通过验证的无头浏览器,明天未必还能。
空壳。 x.com 本身返回一个没有内容的页面。渲染它需要真正的浏览器,登录墙很快就会出现,而且违反服务条款。
什么能用,用来做什么
FxTwitter 和 vxTwitter
链接预览 API。api.fxtwitter.com/<user>/status/<id> 返回一个带正文、指标、媒体和引用帖子的 JSON 对象;api.fxtwitter.com/<user> 返回主页的各项计数和简介。vxTwitter 对帖子做同样的事,形状更扁平。两者都免费、无需密钥、由社区运营,并且是为一次一条帖子而设计的。没有搜索,没有回复,没有时间线,也没有写明的限流。对于展开链接的 Discord 机器人,它们是正确的工具。对于工作流,它们是没有第二步的第一步。
X 自己的端点
cdn.syndication.twimg.com/tweet-result?id=<id>&token=x 以 JSON 返回一条帖子,因为这正是 X 嵌入组件消费的数据。它在"由 X 提供"的意义上是官方的,在其他一切意义上都没有文档;token 参数的规则以前就变过。publish.twitter.com/oembed 有文档,但返回的是嵌入 HTML,不是数据。前者可以用来交叉校验,后者永远别拿来取数据。
UnifAPI 的免费 X 端点
我们做这些端点的原因就是表格的其余部分:智能体在第一条帖子之后要的所有东西。https://unifapi.com/tools/x/ 下八个无需密钥的 GET:
curl -s "https://unifapi.com/tools/x/profile?handle=nasa"
curl -s "https://unifapi.com/tools/x/post?id=2107237881668313108"
curl -s "https://unifapi.com/tools/x/replies?id=2107237881668313108&sort=top"
curl -s "https://unifapi.com/tools/x/search?q=from%3Anasa%20filter%3Amedia"
curl -s "https://unifapi.com/tools/x/trends?location=japan&format=md"
每个响应都带 X-RateLimit-* 响应头,每个错误都是 { error: { type, message } },每个列表都是 { items, hasMore, nextCursor },format=md 返回 Markdown。免费限额是每位访客每 10 分钟 20 次查询,一次搜索计为两次。同样的 URL 也能作为给人看的页面使用:/tools/twitter-viewer 把用户名、链接、话题标签或查询转发到对应的查看器,给任意查看器 URL 加上 format=json 就返回页面所显示的数据。
它们不做的:受保护账号、有保障的吞吐量。需要吞吐量,可以用带工作区密钥的计量 X / Twitter API,按量付费,字段名相同,所以什么都不用重写。
怎么选
| 你需要 | 用 |
|---|---|
| 在聊天应用里展开一条帖子 | FxTwitter |
| 确认一条帖子的正文就是 X 提供的 | syndication 端点 |
| 一个主页及其近期帖子,以数据形式 | /tools/x/profile |
| 回复、搜索、媒体、关注者、热搜、社区 | /tools/x/* |
| 一个给人打开的页面 | 任何查看器,包括 /tools/twitter-viewer |
| 大体量、SLA | 带密钥的计量 API |
常见问题
Nitter 死了吗?
作为公共服务,是的。2026 年 10 月 7 日响应我们的那些实例,给出的要么是超时、要么是拒绝连接、要么是 HTTP 451。对于有自己的 X 会话 cookie 可以喂给它的人,自托管仍然可行,但这不是智能体应该依赖的东西。
面向脚本的最佳 Nitter 替代品是什么?
单条帖子用 FxTwitter。超出单条帖子的一切(回复、搜索、时间线、关注者)用 UnifAPI 的免费端点,无需登录、无需账号即可返回 JSON 或 Markdown,按访客限流。
xcancel 是什么?
一个 Nitter 实例,直到最近还是最可靠的公共实例。它现在对每个请求都返回 HTTP 451。
能从脚本里用 sotwe 或 twstalker 吗?
不通过 Cloudflare 的浏览器验证就不行,而那既脆弱,也有违这道验证的本意。它们是浏览器工具。