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

X 账号作品接口

一个账号最近发布的帖子。

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

注册送 100 积分,不用绑卡
2 积分每次调用约 ¥0.05(≈ $0.004–$0.0067)
通常 20 条每页最多 60 条,一次调用返回一页
成功 99%近 7 天真实调用 141 次,中位 1.6 秒,通常 19 条,数据截至 2026-11-05
2026-11-05最近实测
1023 B示例返回的体积(1 条)

最近更新:

要 100 条就传 limit: 100,一次调用自动翻页,最多 5 页、10 积分。够数或没有下一页就停,用不上的页不扣,失败的页也不扣。读 1,000 条约 100 积分,约 ¥2.4($0.33)。

每日监控:对你的 AI 说“每天帮我盯着”,这个调用每天自己跑,只把新内容发给你,一个月最多 62 积分,约 ¥1.5($0.21)。 看怎么设

调用 X 账号作品,你会拿到什么。
取自一次录制的返回。

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

近 7 天真实调用 141 次,成功 99%,中位 1.6 秒,通常 19 条(数据截至 2026-11-05)。

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

字段录制时的值
url示例里已去掉
formattext
titlenull:X 给不了
text示例里已去掉
published_at2025-11-19T11:31:56.000Z
author.id示例里已去掉
author.username示例里已去掉
author.name示例里已去掉
author.verifiedtrue
author.followers1,854,251
metrics.likes0
metrics.comments0
metrics.sharesnull:X 给不了
metrics.collects0
metrics.views4
metrics.reposts32
images空列表
hashtags空列表
is_pinnednull:X 给不了

每次 2 积分(≈ $0.004–$0.0067),$10 约够 1,500 次。

用现成工具更省事:爆款发现。明显超出作者平时水平的内容。

X 账号作品的请求与返回

curl https://api.socialtoai.com/v1/user_posts \  -H "Authorization: Bearer $SOCIALTOAI_API_KEY" \  -H "Idempotency-Key: $(uuidgen)" \  -H "Content-Type: application/json" \  -d '{    "platform": "x",    "username": "NASA"  }'
import osimport uuidimport requestsresponse = requests.post(    "https://api.socialtoai.com/v1/user_posts",    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",        "username": "NASA",    },)print(response.json())
# 已经通过 MCP 接好了?直接用大白话问。这个 X 账号最近发了什么:NASA# 你的 AI 会调用 user_posts 工具,参数是:{  "platform": "x",  "username": "NASA"}
改一改请求上面的代码会跟着变。
tab
登录后运行2 积分登录后带着这些参数进入 Playground,不会自动运行。
200 OK1023 B2 积分
{  "platform": "x",  "status": "ok",  "items": [    {      "platform": "x",      "id": "…",      "ref": "…",      "approx": [],      "type": "content",      "url": "https://example.com/…",      "format": "text",      "title": null,      "text": "…",      "published_at": "2025-11-19T11:31:56.000Z",      "author": {        "id": "…",        "username": "…",        "name": "…",        "verified": true,        "followers": 1854251      },      "metrics": {        "likes": 0,        "comments": 0,        "shares": null,        "collects": 0,        "views": 4,        "reposts": 32      },      "images": [],      "hashtags": [],      "is_pinned": null    }  ],  "unavailable": ["title", "metrics.shares", "is_pinned"],  "page": {    "has_more": true,    "cursor": "cur_…",    "cursor_expires_at": "2026-10-12T19:46:20.000Z"  },  "cost_credits": 2}
@…·1,854,251 粉丝·
likes 0comments 0shares nullcollects 0views 4reposts 32

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

示例数据录制的 19 条里的 1 条

X 账号作品的参数。
4 个,2 个必填。

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

名称类型是否必填默认值说明
platformstring必填—这一页固定填 "x"。
usernamestring必填—X 账号名,不带 @
tabstring选填"posts"主页上的哪个分栏:帖子(含转推)、回复(连同被回复的帖子)、媒体
"posts""replies""media"
cursorstring选填—填上一次返回的 page.cursor,取下一页。

这些值从哪里拿。

username

X 账号名,不带 @(例如 NASA)

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

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是否被作者置顶。

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

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

X 账号作品的翻页与计费。

一次调用返回一页,通常 20 条,最多 60 条;page.has_more 为 true 时把 page.cursor 填进 cursor 取下一页,每页 2 积分,cursor 30 分钟内有效。
正常执行但没有结果,算一次成功的调用:status 为 "empty",items 为空,扣 2 积分。
X 的这个接口分不清“帖子不存在”和“没有数据”:两种情况都返回 empty,并照常扣费。

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

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

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

这些数字只来自真实调用,每天算一次,不含我们自己的账户:同一账户当天重复发同一请求只按最后一次算,对象不存在、参数不对不算失败,不足 20 次的接口不显示。

接好 MCP 后,这样问就会用到 X 账号作品。

  1. 这个 X 账号最近发了什么:NASA
    user_posts {"platform":"x","username":"NASA"}
    2 积分
  2. 这个 X 账号最近发了什么:NASA,tab 取 replies。
    user_posts {"platform":"x","username":"NASA","tab":"replies"}
    2 积分
  3. 在 X 上找和“Smithsonian”有关的账号,再对前 3 个结果:这个 X 账号最近发了什么。
    search {"platform":"x","query":"Smithsonian","type":"user"}user_posts {"platform":"x","username":"<username>"} × 3
    11 积分

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

怎么接
提示词
用 SocialToAI 的 MCP 服务(https://mcp.socialtoai.com/mcp)完成这件事:这个 X 账号最近发了什么:NASA调用 user_posts 工具,参数是 {"platform":"x","username":"NASA"}。必填:username;可选:tab(posts、replies、media)。要多条就传 limit(比如 limit=100,最多 5 页),一次调用自动翻页,不用自己一页页取;每页 2 积分,用不上的页不扣。开跑前先算出总共要多少积分,问我同意了再调用。拿到结果后,可以接着调:detail(详情)、comments(评论),用返回的 ref 或 username。如果还没接上 SocialToAI,告诉我怎么接,不要让我把 Key 贴进对话。回答时附上你用到的每一条的链接,最后告诉我花了多少积分。

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

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

account-watch
账号动态

每个账号最近发了什么,哪条明显好于平时

find-creators
找达人

做这类内容的达人:体量、近期作品和契合度

creator-card
达人档案

这个人在其他平台的账号、各自的数据,以及是同一人的把握

viral-finder
爆款发现

明显超出作者平时水平的内容

用到它的工作场景。

competitor-tracking
竞品追踪

让 AI 盯住你点名的账号:每个账号最近发了什么,哪几条明显好过它平时的水平,附数字和链接。

同一个调用,换个平台。

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

接着看。

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

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

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

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

每天盯 X(Twitter):一个月到底花多少

每天盯 X 的关键词或账号,每次 2 积分,和 X 官方价格对比的月成本

每天盯竞品账号:发了什么,哪条比平时好

每天盯竞品账号:新发了什么、哪条比平时好,每个账号 9 积分起

X MCP 服务器

让你的 AI 直接读 X。

关于 X 账号作品的常见问题。
简短回答。

全部 X 数据接口
需要 X 账号,或者申请 X 官方的 API 吗?
不需要,只要一把 SocialToAI 的 Key。返回的是 X 上公开可见的内容和账号信息,你不用登录 X,也不用在那边申请任何东西。
一次调用折合多少钱?
2 积分:按每美元 300 积分($10 起的购买)是 $0.0067,按每美元 500 积分($200 起)是 $0.004。积分不过期,不订阅。注册送 100 积分,不用绑卡。
调用失败或没搜到,扣不扣积分?
失败的调用 0 积分,也不会自动重试。正常执行但没有结果的算一次成功的调用:status 为 "empty",扣 2 积分。这个接口分不清“不存在”和“没有数据”,两种都按空结果扣费。
一次调用返回多少条?
一次调用返回一页,通常 20 条,最多 60 条;page.has_more 为 true 时把 page.cursor 填进 cursor 取下一页,每页 2 积分,cursor 30 分钟内有效。
调用频率有限制吗?
每把 Key 每秒 5 次,第一次购买后每秒 20 次。超出的请求会告诉你等多久再试,不扣积分。
怎么在 Claude、ChatGPT 或 Cursor 里用?
可以。在 Claude 或 ChatGPT 里把 MCP 地址 https://mcp.socialtoai.com/mcp 加成自定义连接器,用邮箱验证码登录后点“允许”,不用贴 Key。Claude Code 运行一条命令后输入 /mcp、选 socialtoai、登录;Codex 和 Cursor 也是登录授权,步骤在接入页。接好后直接用大白话问,你的 AI 会替你调用 user_posts。
免费开始 · 送 100 积分

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

注册送 100 积分,不用绑卡