SocialToAI免费开始控制台
POST/v1/detail"platform": "x"

X 详情接口

用编号或链接取一条帖子。

用编号或链接取任意一条公开的 X 帖子,拿回正文、作者、点赞数、评论数、播放或阅读数和发布时间:用 HTTP 取 JSON,或在 AI 客户端里通过 MCP 调用。X 详情 API(数据接口)每次调用 1 积分(约 $0.002–$0.0033),失败不扣,返回格式和其他调用相同。最近实测:2026-10-28。

注册送 100 积分,不用绑卡
1 积分每次调用约 ¥0.02(≈ $0.002–$0.0033)
一个对象每次调用返回
2026-10-28最近实测
943 B示例返回的体积(1 条)

最近更新:

调用 X 详情,你会拿到什么。
取自一次录制的返回。

录制的一次调用返回了下面这个对象。名称和正文在示例里去掉了,数字是录制时的真实值。

给 AI 读更省:同一份录制数据(1 条),平台原始 JSON 约 1,464 token,这个接口返回约 424 token,少 71%(2026-11-06 实测)。 测量方法

字段录制时的值
url示例里已去掉
formatvideo
titlenull:X 给不了
text示例里已去掉
published_at2026-10-08T14:10:00.000Z
author.id示例里已去掉
author.username示例里已去掉
author.name示例里已去掉
author.verifiedtrue
author.followers932,620
metrics.likes155
metrics.comments7
metrics.sharesnull:X 给不了
metrics.collects11
metrics.views10,638
metrics.reposts40
images空列表
hashtags空列表
is_pinnednull:X 给不了

每次 1 积分(≈ $0.002–$0.0033),$10 约够 3,000 次。

用现成工具更省事:批量链接数据。每条链接一行,给出现在的数字;失效的链接会标出来。

X 详情的请求与返回

curl https://api.socialtoai.com/v1/detail \  -H "Authorization: Bearer $SOCIALTOAI_API_KEY" \  -H "Idempotency-Key: $(uuidgen)" \  -H "Content-Type: application/json" \  -d '{    "platform": "x",    "id": "2108198226532708497"  }'
import osimport uuidimport requestsresponse = requests.post(    "https://api.socialtoai.com/v1/detail",    headers={        "Authorization": f"Bearer {os.environ['SOCIALTOAI_API_KEY']}",        # A new key for each request; the same one again retries it without paying twice.        "Idempotency-Key": str(uuid.uuid4()),    },    json={        "platform": "x",        "id": "2108198226532708497",    },)print(response.json())
# 已经通过 MCP 接好了?直接用大白话问。读一下这条 X 帖子:2108198226532708497# 你的 AI 会调用 detail 工具,参数是:{  "platform": "x",  "id": "2108198226532708497"}
改一改请求上面的代码会跟着变。
取值
登录后运行1 积分登录后带着这些参数进入 Playground,不会自动运行。
200 OK943 B1 积分
{  "platform": "x",  "status": "ok",  "items": [    {      "platform": "x",      "id": "…",      "ref": "…",      "approx": [],      "type": "content",      "url": "https://example.com/…",      "format": "video",      "title": null,      "text": "…",      "published_at": "2026-10-08T14:10:00.000Z",      "author": {        "id": "…",        "username": "…",        "name": "…",        "verified": true,        "followers": 932620      },      "metrics": {        "likes": 155,        "comments": 7,        "shares": null,        "collects": 11,        "views": 10638,        "reposts": 40      },      "images": [],      "hashtags": [],      "is_pinned": null    }  ],  "unavailable": ["title", "metrics.shares", "is_pinned"],  "cost_credits": 1}
@…·932,620 粉丝·
likes 155comments 7shares nullcollects 11views 10,638reposts 40

示例里的名称和正文已去掉,数字是录制时的真实值。

示例数据完整返回

X 详情的参数。
4 个,1 个必填。

用 POST 发一个 JSON 请求体。Key 放在 Authorization 请求头里,不要放进网址。

名称类型是否必填默认值说明
platformstring必填—这一页固定填 "x"。
idstring几个里给一个—帖子编号,一串数字
urlstring几个里给一个—帖子链接:x.com 或 twitter.com 上带 /status/ 的写法
includestring选填—"transcript":视频的逐字稿(2 积分)。
"transcript"

这些值从哪里拿。

id

帖子编号,一串数字(例如 2108198226532708497)

这些接口返回的每一条都带 ref,原样填进来即可:

也可以直接填网页链接,返回里的 url 字段就是。

X 详情返回的字段。
X 给不了的标出来了。

字段类型含义
items[].urlstring能直接打开的链接。
items[].formatstringvideo、image、text 或 article。
items[].titlestring始终 null标题。
items[].textstring正文或文案。
items[].published_atstring发布时间,ISO 8601(UTC)。
items[].author.idstring作者的账号编号。
items[].author.usernamestring作者的账号名。
items[].author.namestring作者的显示名。
items[].author.verifiedboolean作者是否认证。
items[].author.followersinteger作者的粉丝数。
items[].metrics.likesinteger点赞数。
items[].metrics.commentsinteger评论数。
items[].metrics.sharesinteger始终 null分享数。
items[].metrics.collectsinteger收藏数。
items[].metrics.viewsinteger播放或阅读数。
items[].metrics.repostsinteger转发数。
items[].imagesstring[]图片地址。
items[].hashtagsstring[]话题标签,不带 #。
items[].is_pinnedboolean始终 null是否被作者置顶。
nullX 给不了的字段

null 的意思是“X 没给这个值”,不要当成 0。这些字段在这个调用里始终是 null:

  • title标题。
  • metrics.shares分享数。
  • is_pinned是否被作者置顶。
这个调用的其他取值

请求里带上对应的参数,就换成另一种返回:

include=transcript视频的逐字稿2 积分

和 Reddit 详情比,这个调用多给作者粉丝数、收藏、转发、播放或浏览和话题标签,少给标题和分享。

每一条另有 platform、id、ref、approx、type;items 外面的部分每个调用都一样。 返回格式

X 详情的翻页与计费。

一次调用返回一个对象,不翻页,1 积分。

每把 Key 每秒 5 次,购买后 20 次;超出不扣费。 频率限制

失败的调用 0 积分,不会自动重试。 错误码

首屏的“最近实测”是最近一次真实调用成功的日子。每次调用从平台读取,返回里的 fetched_at 是读取时间;同一把 Key 5 分钟内重发完全相同的请求算重放(replayed: true),0 积分,返回第一次读到的结果。

接好 MCP 后,这样问就会用到 X 详情。

  1. 读一下这条 X 帖子:2108198226532708497
    detail {"platform":"x","id":"2108198226532708497"}
    1 积分
  2. 读一下这条 X 帖子:2109760407824961716,视频的逐字稿。
    detail {"platform":"x","id":"2109760407824961716","include":"transcript"}
    2 积分
  3. 在 X 上搜和“weather forecast”有关的帖子,再对前 3 个结果:读一下这条 X 帖子。
    search {"platform":"x","query":"weather forecast"}detail {"platform":"x","id":"<ref>"} × 3
    5 积分

交给你的 AI。
复制给 Claude 或 ChatGPT。

怎么接
提示词
用 SocialToAI 的 MCP 服务(https://mcp.socialtoai.com/mcp)完成这件事:读一下这条 X 帖子:2108198226532708497调用 detail 工具,参数是 {"platform":"x","id":"2108198226532708497"}。必填:id、url。要查多个就一个一个调用,每个 1 积分。开跑前先算出总共要多少积分,问我同意了再调用。拿到结果后,可以接着调:comments(评论)、call x.retweeters(帖子转推用户),用返回的 ref 或 username。如果还没接上 SocialToAI,告诉我怎么接,不要让我把 Key 贴进对话。回答时附上你用到的每一条的链接,最后告诉我花了多少积分。

接好 MCP 后把这段话贴进对话。里面没有 Key:在 Claude 和 ChatGPT 里登录授权,其他客户端把 Key 放在请求头里。

这些工具运行时会调用它。

batch-stats
批量链接数据

每条链接一行,给出现在的数字;失效的链接会标出来

同一个调用,换个平台。

全部平台和价格
请求里只改 platform 这一个词,返回的结构不变。

接着看。

X 官方 API 的申请条件和价格

官方能做什么、谁能申请、多少钱,带来源。

X 官方 API 太贵时,怎么让 AI 读 X

X 官方价格(带来源),以及改为按次读 X

批量查几百条链接的互动数据

一次查几百条链接的数字:各平台价格、赠送积分能跑多少、什么时候会停

X MCP 服务器

让你的 AI 直接读 X。

关于 X 详情的常见问题。
简短回答。

全部 X 数据接口
需要 X 账号,或者申请 X 官方的 API 吗?
不需要,只要一把 SocialToAI 的 Key。返回的是 X 上公开可见的内容和账号信息,你不用登录 X,也不用在那边申请任何东西。
能取视频的逐字稿吗?
可以,请求里带上 include=transcript。这种调用每次 2 积分。
一次调用折合多少钱?
1 积分:按每美元 300 积分($10 起的购买)是 $0.0033,按每美元 500 积分($200 起)是 $0.002。积分不过期,不订阅。注册送 100 积分,不用绑卡。
调用失败或没搜到,扣不扣积分?
失败的调用 0 积分,也不会自动重试。
一次调用返回多少条?
一次调用返回一个对象,不翻页,1 积分。
调用频率有限制吗?
每把 Key 每秒 5 次,第一次购买后每秒 20 次。超出的请求会告诉你等多久再试,不扣积分。
怎么在 Claude、ChatGPT 或 Cursor 里用?
可以。在 Claude 或 ChatGPT 里把 MCP 地址 https://mcp.socialtoai.com/mcp 加成自定义连接器,用邮箱验证码登录后点“允许”,不用贴 Key。Claude Code 运行一条命令后输入 /mcp、选 socialtoai、登录;Codex 和 Cursor 也是登录授权,步骤在接入页。接好后直接用大白话问,你的 AI 会替你调用 detail。
免费开始 · 送 100 积分

你的 AI 离全网社交媒体
只差一个地址。

注册送 100 积分,不用绑卡