Grok API 与 Twitter API 获取 X 数据对比
Grok 通过 xAI 的 X Search 工具读取 X,每获取 1,000 条帖子收费 $5,另加模型 token 费用,交回的是一段带链接的文字回答;而 X 数据 API 交回的是帖子本身,以 JSON 记录的形式。
简短回答: Grok 的 X Search 每 1,000 条帖子收费 $5.00,另加 token 费用,而且由模型决定读哪些帖子,所以你得到的是一段回答,而不是一份数据集。要拿原始帖子,用 Sorsa API:POST /search-tweets 每次调用返回约 20 条帖子及其作者,每 1,000 条 $0.07 起,并有 100 次免费请求供你启动。
- 接口
POST /search-tweets- 每页条数
- 每次调用约 20 条帖子
- 价格
- 每 1,000 条 $0.07 起
#Grok 能从 X 拿到什么,又交回什么
Grok 只能通过搜索工具读取 X 上的公开帖子:xAI 的模型页面(在新标签页打开)写道,Grok “对时事以及训练数据之外的数据一无所知”,而 grok-4.7 的训练数据截止于 2026 年 5 月。在 Grok 应用里,搜索会自动运行。通过 xAI API 则要你自己开启,这个工具叫 X Search(x_search)。
这就把 Grok 放在了每个智能体开发者都会遇到的分界线的“回答”一侧。我们的 面向 AI 智能体的 Twitter API 指南讲的是另一侧:以普通 JSON 向模型返回 X 数据的工具。
开启 X Search 的一次请求,就是对 xAI Responses API 的一次调用,下面是通过指向 api.x.ai 的 OpenAI SDK 发起的:
import os
from openai import OpenAI
grok = OpenAI(api_key=os.environ["XAI_API_KEY"],
base_url="https://api.x.ai/v1")
resp = grok.responses.create(
model="grok-4.7",
input="What are developers saying about MCP this week?",
tools=[{"type": "x_search"}],
)
print(resp.output_text)
在这一次调用背后,模型会按自己的判断运行任意多次搜索。X Search 文档(在新标签页打开)列出了它能调用的四个功能:用 X 搜索运算符做关键词搜索、按语义做搜索、用户搜索,以及抓取帖子串的功能,它会把一条帖子连同它的上级帖子和回复一起取回。你可以把范围限定在最多 20 个用户名,或者排除 20 个,并按 YYYY-MM-DD 设置日期范围。
返回的是模型写的文字、它引用的链接,以及两个用量计数:x_posts_fetched 和 x_users_fetched。帖子本身留在请求内部:没有记录列表,没有固定的字段集,也没有通往下一页的 cursor。xAI 自己的文档也提醒说“结果会有差异,因为模型自己选择查询”。旧的 Live Search API 也已经下线:它的指南现在重定向到 Web Search。
#Grok 的 X Search 与 X 数据 API 并排对比
X Search 是为了回答问题而造的,X 数据 API 是为了返回记录而造的,所以当任务需要每一条匹配的帖子、精确的数字,或者同一个请求得到同样的结果时,两者的差别最大。在这几行上,数据 API 都占上风,而 Sorsa API 做到这些,价格只是另外两家每条帖子价格的零头。
| 关注点 | Sorsa API | xAI X Search(Grok) | 官方 X API |
|---|---|---|---|
| 返回什么 | JSON 记录,每条帖子连同作者共 41 个字段 | 模型的回答和链接 | JSON 记录,字段由你指定 |
| 谁来挑帖子 | 你,用查询和 X 运算符 | 模型,用它自己的查询 | 你 |
| 逐页取完所有匹配 | 能,next_cursor 一直到为空 | 不能:模型有了答案就停 | 能,用分页令牌 |
| 同样的请求,同样的帖子 | 是 | 否:每次运行结果不同 | 是 |
| 能回溯多久 | 到 2006 年 | 你设置的日期范围 | 用全量归档搜索可到 2006 年 |
| 每 1,000 条帖子的价格 | $0.07 起 | $5.00 另加 token | $5.00;2026 年 11 月 22 日起带作者为 $15.00 |
| 每 1,000 份用户资料的价格 | $0.014 起 | $10.00 | $10.00 |
| 你需要什么 | 请求头里的一个 API 密钥 | 一个 xAI API 密钥 | 开发者账号、OAuth 或 bearer 令牌、预付额度 |
返回什么
- Sorsa API
- JSON 记录,每条帖子连同作者共 41 个字段
- xAI X Search(Grok)
- 模型的回答和链接
- 官方 X API
- JSON 记录,字段由你指定
谁来挑帖子
- Sorsa API
- 你,用查询和 X 运算符
- xAI X Search(Grok)
- 模型,用它自己的查询
- 官方 X API
- 你
逐页取完所有匹配
- Sorsa API
- 能,
next_cursor一直到为空 - xAI X Search(Grok)
- 不能:模型有了答案就停
- 官方 X API
- 能,用分页令牌
同样的请求,同样的帖子
- Sorsa API
- 是
- xAI X Search(Grok)
- 否:每次运行结果不同
- 官方 X API
- 是
能回溯多久
- Sorsa API
- 到 2006 年
- xAI X Search(Grok)
- 你设置的日期范围
- 官方 X API
- 用全量归档搜索可到 2006 年
每 1,000 条帖子的价格
- Sorsa API
- $0.07 起
- xAI X Search(Grok)
- $5.00 另加 token
- 官方 X API
- $5.00;2026 年 11 月 22 日起带作者为 $15.00
每 1,000 份用户资料的价格
- Sorsa API
- $0.014 起
- xAI X Search(Grok)
- $10.00
- 官方 X API
- $10.00
你需要什么
- Sorsa API
- 请求头里的一个 API 密钥
- xAI X Search(Grok)
- 一个 xAI API 密钥
- 官方 X API
- 开发者账号、OAuth 或 bearer 令牌、预付额度
官方 X API 的价格来自它的按量付费价目表(在新标签页打开),其中还把每月读取量封顶在 300 万条帖子;超出之后,X 只出售 Enterprise 合同,每月约 $42,000 起。X 在 10 月 23 日的通知(在新标签页打开)里补充说,从 2026 年 11 月 22 日起,随帖子一起返回的作者和媒体也按读取计费,所以一条带作者的搜索结果,从 $0.005 涨到 $0.015。
须知
让 Grok “把帖子以 JSON 返回”,并不能把它的回答变成记录。这段 JSON 是模型根据它读到的内容写出来的,而读多少条帖子也是它说了算。请保留它引用的帖子 ID,在数字要紧时按 ID 取回记录:Sorsa API 的
POST /tweet-info-bulk(在新标签页打开)每次调用最多返回 100 条帖子,每 1,000 条 $0.014 起。
#读取 1 万、10 万和 100 万条帖子要花多少钱
读取 100 万条帖子,通过 Grok 的 X Search 要 $5,000 另加 token,在官方 X API 上要 $5,000(从 11 月 22 日起带上每条帖子的作者要 $15,000),在 Sorsa API 上 $70 起。各个规模下差距都一样,因为 X Search 和官方 X API 都按帖子计费,而 Sorsa API 按请求计费,每次搜索请求返回约 20 条帖子。
Sorsa API
低至 $70
每 1,000 条帖子低至 $0.07,每条都带作者
xAI X Search (Grok)
$5,000 + token
每获取 1,000 条帖子 $5.00,另加模型 token
官方 X API
$5,000
每 1,000 条帖子 $5.00; $15,000 自 2026 年 11 月 22 日起另计作者
仅数据成本:之后由 Grok 读取这些帖子时,其 token 费用在各条路线上相同。
token 不会改变这个比较。不管帖子从哪条路线进来,Grok 读取它们都按 grok-4.7 的费率计费:每百万输入 token $2.00,每百万输出 token $6.00,见 xAI 的 API 价格页面(在新标签页打开)。如果一条精简过的帖子约合 60 个 token,1,000 条帖子只多出约 $0.12 的输入费用,和帖子本身的 $5.00 相比微不足道。
X Search 有三条计费规则,会让一个问题的花费比看上去更高:
- 每一个取回的条目都要计费, 而不是每个被引用的条目:上级帖子、被引用的帖子,以及取回的帖子串里的每条帖子,都按每 1,000 条 $5 计算。
- 计数不去重。 两次搜索都返回的同一条帖子,会计费两次。
- 数量由模型决定。 你可以限制搜索的轮数,事后再读
x_posts_fetched,但在调用之前无法固定帖子的数量。
Grok 或 X 的订阅并不覆盖这些费用。套餐页面(在新标签页打开)说付费套餐包含 API 访问权限,但“API 用量按标准模型费率单独计费,不会从你的套餐用量池中扣除”。
#如何用 Sorsa API 给 Grok 喂原始 X 帖子
要给 Grok 原始帖子,就先从 X 数据 API 取回它们,只保留你的问题需要的字段,再在提示词里把它们交给 grok-4.7,不开 X Search 工具,这样 Grok 读到的就正好是你选的那些帖子。取回这一步,用 Sorsa API,一款 Twitter(X)API 与爬虫:只需一个 ApiKey 请求头,不需要 OAuth,每次搜索调用返回约 20 条帖子及完整的作者资料,每 1,000 条 $0.07 起,所有套餐统一每秒 20 次请求。
-
准备两个密钥。 注册后,把你的 Sorsa API 密钥复制到
SORSA_API_KEY;把你的 xAI 密钥放进XAI_API_KEY。两个都只留在你的服务器上。 -
搜索帖子。
POST /search-tweets(在新标签页打开)接收带 X 搜索运算符的查询,每页返回约 20 条帖子,设置"order": "latest"则最新的在前。搜索可回溯到 2006 年。Terminal curl -X POST "https://api.sorsa.io/v3/search-tweets" \ -H "ApiKey: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"query": "\"grok api\" lang:en -filter:retweets", "order": "latest"}'Response200 OK { "tweets": [ { "id": "2116193940272985298", "full_text": "Our digest now fetches posts first, then asks Grok.", "created_at": "2026-10-30T15:42:07Z", "lang": "en", "likes_count": 64, "retweet_count": 7, "reply_count": 12, "quote_count": 3, "view_count": 8120, "is_reply": false, "conversation_id_str": "2116193940272985298", "user": { "id": "1544001928374651904", "username": "maya_ships_prompts", "display_name": "Maya Ships Prompts", "followers_count": 4210, "verified": false } } ], "next_cursor": "DAADDAABCgABHV6x9mPAJxIKAAIdXrH2Y8" } -
取回并精简各页。 这个函数沿着
next_cursor一直取到页数预算用完,并为每条帖子只保留六个字段,这样 200 条帖子仍是一个很短的提示词。Python import os import requests SORSA = "https://api.sorsa.io/v3" HEADERS = {"ApiKey": os.getenv("SORSA_API_KEY", "YOUR_API_KEY")} def fetch_posts(query: str, max_pages: int = 10) -> list[dict]: posts, cursor = [], None for _ in range(max_pages): body = {"query": query, "order": "latest"} if cursor: body["next_cursor"] = cursor r = requests.post(f"{SORSA}/search-tweets", json=body, headers=HEADERS, timeout=30) r.raise_for_status() # 403: key or quota; 429: over 20 req/s data = r.json() for t in data.get("tweets", []): posts.append({ "id": t["id"], "at": t["created_at"], "author": t["user"]["username"], "followers": t["user"]["followers_count"], "likes": t["likes_count"], "text": t["full_text"][:500], }) cursor = data.get("next_cursor") if not cursor: break return posts -
只就这些帖子向 Grok 提问。 把精简后的帖子作为提示词发出去,不带
tools,并要求在回答里给出帖子 ID。Python import json from openai import OpenAI grok = OpenAI(api_key=os.environ["XAI_API_KEY"], base_url="https://api.x.ai/v1") def ask_grok(question: str, posts: list[dict]) -> str: lines = "\n".join(json.dumps(p, ensure_ascii=False) for p in posts) resp = grok.responses.create( model="grok-4.7", input=[ {"role": "system", "content": "Answer only from the posts given. Cite post ids."}, {"role": "user", "content": f"{question}\n\nPosts:\n{lines}"}, ], ) return resp.output_text posts = fetch_posts('"grok api" lang:en -filter:retweets') print(ask_grok("What problems do developers report?", posts))
十页搜索是 10 次请求、约 200 条帖子,所以不论哪个 Sorsa API 套餐,这次运行的数据成本最多几美分,而且接下来无论是 Grok、Claude 还是 GPT 来读,成本都一样。我们的 Twitter 搜索 API 指南列出了能在花钱之前先收窄查询的运算符。
#人们向 Grok 询问 X 账号时问的是什么
人们在 Grok 里输入的许多关于某个账号的问题,都有一个精确的答案,一次 API 调用就能返回,例如粉丝数、用户 ID、关注列表或限流状态。模型针对这些数字写出的一句话,可能过时或被四舍五入;而查询返回的是调用那一刻的当前值,放在你的代码能直接读取的字段里。
| 人们向 Grok 问什么 | Sorsa API 查询 | 返回什么 |
|---|---|---|
| 这个账号有多少粉丝? | GET /info(在新标签页打开) | followers_count、followings_count、tweets_count、created_at,另有 15 个字段 |
| 这个账号的用户 ID 是什么? | GET /username-to-id/{user_handle}(在新标签页打开) | 数字 id |
| 这个账号关注了谁? | GET /follows(在新标签页打开) | 每页最多 200 个账号,附 next_cursor |
| 这个账号被限流了吗? | GET /check-shadowban(在新标签页打开) | is_shadowbanned,以及每项检查的结果:正常、被限制或未知 |
| 这个账号这周发了什么? | POST /user-tweets(在新标签页打开) | 每页约 20 条帖子,每条都带完整的作者资料 |
这个账号有多少粉丝?
- Sorsa API 查询
GET /info(在新标签页打开)- 返回什么
followers_count、followings_count、tweets_count、created_at,另有 15 个字段
这个账号的用户 ID 是什么?
- Sorsa API 查询
GET /username-to-id/{user_handle}(在新标签页打开)- 返回什么
- 数字
id
这个账号关注了谁?
- Sorsa API 查询
GET /follows(在新标签页打开)- 返回什么
- 每页最多 200 个账号,附
next_cursor
这个账号被限流了吗?
- Sorsa API 查询
GET /check-shadowban(在新标签页打开)- 返回什么
is_shadowbanned,以及每项检查的结果:正常、被限制或未知
这个账号这周发了什么?
- Sorsa API 查询
POST /user-tweets(在新标签页打开)- 返回什么
- 每页约 20 条帖子,每条都带完整的作者资料
其中有两项有不用写代码的免费工具:查用户 ID 用 Twitter ID 查询,查搜索限制用 Twitter 限流检测。要一次查许多账号,GET /info-batch(在新标签页打开)每次调用返回 100 份用户资料,每 1,000 份 $0.014 起,而通过 X Search 是每 1,000 份 $10.00。
#按任务选择用哪个
当你想要的结果是一句话时,问 Grok;当结果是帖子、一份列表或一个数字时,用 X 数据 API;大多数产品两者都需要,顺序是:先取回,再提问。决定的标准就是上面表格里的那些:谁来挑帖子、能不能拿到每一条匹配、重跑一遍会不会得到同样的帖子,以及每 1,000 条的价格。
| 任务 | 用什么 |
|---|---|
| 针对今天的讨论问一个一次性的问题 | Grok,在应用里 |
| 匹配某个查询的每一条帖子,存进你的数据库 | Sorsa API,POST /search-tweets 逐页取 |
| 粉丝数或互动数据的看板 | Sorsa API,GET /info-batch 和 POST /tweet-info-bulk |
| 一个账号往前几年的帖子 | Sorsa API,POST /user-tweets |
| 人们谈论你产品的每日摘要 | 用 Sorsa API 取回,再用 Grok 或任何模型总结 |
| 核对 Grok 回答中引用的帖子 | Sorsa API,用 ID 调用 POST /tweet-info-bulk |
针对今天的讨论问一个一次性的问题
- 用什么
- Grok,在应用里
匹配某个查询的每一条帖子,存进你的数据库
- 用什么
- Sorsa API,
POST /search-tweets逐页取
粉丝数或互动数据的看板
- 用什么
- Sorsa API,
GET /info-batch和POST /tweet-info-bulk
一个账号往前几年的帖子
- 用什么
- Sorsa API,
POST /user-tweets
人们谈论你产品的每日摘要
- 用什么
- 用 Sorsa API 取回,再用 Grok 或任何模型总结
核对 Grok 回答中引用的帖子
- 用什么
- Sorsa API,用 ID 调用
POST /tweet-info-bulk
对于任何以帖子本身为产品的任务,选择是 Sorsa API:帖子带全部 41 个字段,通过搜索每 1,000 条 $0.07 起,按 ID 获取每 1,000 条 $0.014 起,每个匹配都能逐页取到,历史可回溯到 2006 年。它是只读的,从不索要你的 X 登录信息,所以你的 X 账号没有任何风险。要发帖或回复,请搭配官方 X API。
按计划运行 Grok 的智能体也遵循同样的规则;Hermes Agent 指南展示了它内置的 x_search 处于什么位置,以及如何更换数据源。这些数字背后的每一项 X API 价格,都在我们的 X API 价格详解里。
#给 Grok 喂你选的帖子
Grok 给你的是一段关于 X 的回答;至于背后的帖子、计数和历史,请先取回它们。用 Sorsa API,每 1,000 条帖子 $0.07 起,而不是通过 X Search 的 $5.00,帖子带着作者和每个字段,而且你的前 100 次请求是免费的:大约够取 2,000 条帖子,来试一试上面的管道。
#常见问题
Grok API 能搜索 Twitter 吗?
能。xAI API 的 X Search 工具(x_search)让 Grok 可以对 X 帖子做关键词搜索和语义搜索、查询用户、抓取帖子串,然后给出一段回答,附上它所用帖子的链接。收费是每取回 1,000 条帖子 $5、每 1,000 份用户资料 $10,另加模型 token。它返回的是 Grok 的回答,不是帖子记录;要记录,请从 X 数据 API 获取帖子。
有 X 或 Grok 订阅,Grok 的 X Search 就免费吗?
不是。xAI 的套餐页面说,The X Subscription 的付费套餐包含 Grok API 访问权限,但 API 用量按标准模型费率单独计费,不会从套餐的用量池中扣除。不论你持有哪个套餐,通过 API 的每一次 X Search 调用,都按取回的帖子和用户资料计费,分别是每 1,000 条 $5 和 $10,另加 token。
Grok 使用实时的 X 数据吗?
只有在搜索工具开启时才用。xAI 表示 Grok 对训练数据之外的时事一无所知,grok-4.7 的训练数据截止到 2026 年 5 月,实时数据需要 Web Search 或 X Search。在 Grok 应用里,搜索会替你运行;通过 API 则要在请求里加上 x_search,并为它取回的帖子付费。
Grok 能把推文以 JSON 返回吗?
Grok 可以把回答格式化成 JSON,但这段 JSON 是模型根据它选择去读的帖子写出来的,不是从数据库里返回的。字段可能缺失,重跑一次也可能选出不同的帖子。要可靠的记录,请让 Grok 给出帖子 ID,再按 ID 取回这些帖子,例如用 Sorsa API 的 POST /tweet-info-bulk,每次调用 100 条。
Grok 一个问题会取回多少条帖子?
模型想取多少就取多少。X Search 对它的搜索和帖子串抓取所返回的每一条帖子计费,包括上级帖子和被引用的帖子,返回两次的帖子算两次;xAI 的示例问题取回了 19 条帖子。每个响应都会报告 x_posts_fetched,所以你可以在调用之后读到这个数,范围更窄的用户名、日期和更少的搜索轮数,可以把它压低。
给 AI 应用获取推文,该用哪个 API?
用 Sorsa API 获取推文,再用任意模型(包括 Grok)来读它们。Sorsa API 返回带 41 个字段和作者的帖子,通过搜索每 1,000 条 $0.07 起,而 Grok 的 X Search 或官方 X API 是每 1,000 条 $5.00。它只需要一个 API 密钥,所有套餐统一每秒 20 次请求,并附 100 次免费请求。
#我们如何核实
2026 年 11 月 2 日,我们读了 xAI 的 X Search、价格和模型文档,x.ai 上的套餐页面,X 的按量付费价目表及其 10 月 23 日关于扩展的通知,并与 Sorsa API 的实时接口文档做了比对。本页的请求和代码都依据这些文档编写;我们没有为这篇文章调用任何一个 API,所以文中的响应只是按文档格式给出的示例。