X / Twitter API

X / Twitter 帖子串 API

解析包含某条 X (Twitter) 帖子的作者自发帖子串,从首帖一直到作者后续接续的帖子。不包含其他用户的回复。

US$2.69/千次请求,按请求付费,无需订阅。

Post
x.com/buildwithjonah/status/1842093771280384512

Post

J

Jonah Ruiz

@buildwithjonah

Spent the last 6 months building a data pipeline that normalizes 40 scraper APIs into one schema. Here is what broke, and what I would do differently. A thread.

4:00 PM · Sep 26, 2024 · 284K Views

964123,8201,540
J

Jonah Ruiz@buildwithjonah

First lesson: every provider's error format is different. We ended up writing a translation layer just to know whether a failure meant retry, or never retry.

API 返回的内容tweets[0]
{
"id": "1842093771280384512",
"url": "https://x.com/buildwithjonah/status/1842093771280384512",
"text": "Spent the last 6 months building a data pipeline that normalizes 40 scraper APIs into one schema. Here is what broke, and what I would do differently. A thread.",
"conversationId": "1842093771280384512",
"inReplyToId": null,
"authorId": "1401882093771280384",
"authorHandle": "buildwithjonah",
"authorName": "Jonah Ruiz",
... 还有 11 个字段
}
可用率
99.45%
30d · 7,304 次调用
请求数
7,377
30d · 按周,近 12 周
响应时间
2.7s
中位数 · 30d

价格

X / Twitter 帖子串 API 价格

你需支付
US$26.90
US$2.69/千次请求,只为实际用量付费。没有月度套餐。
有了 US$0.10 的初始余额,你的前 37 次请求免费。

试一试

一个请求获取 X / Twitter 帖子串

打开于
获取免费密钥
示例响应
免费运行只返回前 3 条结果。为密钥充值即可获得完整响应。

这个示例展示了 45 个字段中的 43 个。查看全部字段

{
  "found": true,
  "data": {
    "conversationId": "1842093771280384512",
    "threadLength": 3,
    "complete": true,
    "author": {
      "id": "1401882093771280384",
      "handle": "buildwithjonah",
      "name": "Jonah Ruiz",
      "url": "https://x.com/buildwithjonah",
      "verified": true,
      "blueVerified": true,
      "avatarUrl": "https://pbs.twimg.com/profile_images/1401882093771280384/jonah_400x400.jpg",
      "coverUrl": "https://pbs.twimg.com/profile_banners/1401882093771280384/1700000000",
      "bio": "Building data infra. Previously eng @Segment. Writing about pipelines and APIs.",
      "location": "Denver, CO",
      "followers": 41200,
      "following": 512,
      "createdUtc": 1517443200
    },
    "tweets": [
      {
        "id": "1842093771280384512",
        "url": "https://x.com/buildwithjonah/status/1842093771280384512",
        "text": "Spent the last 6 months building a data pipeline that normalizes 40 scraper APIs into one schema. Here is what broke, and what I would do differently. A thread.",
        "conversationId": "1842093771280384512",
        "inReplyToId": null,
        "authorId": "1401882093771280384",
        "authorHandle": "buildwithjonah",
        "authorName": "Jonah Ruiz",
        "media": [],
        "createdUtc": 1727366400,
        "likeCount": 3820,
        "replyCount": 96,
        "repostCount": 412,
        "quoteCount": 28,
        "viewCount": 284000,
        "bookmarkCount": 1540,
        "lang": "en",
        "isReply": false,
        "source": "Twitter Web App"
      },
      {
        "id": "1842093771280450048",
        "url": "https://x.com/buildwithjonah/status/1842093771280450048",
        "text": "First lesson: every provider's error format is different. We ended up writing a translation layer just to know whether a failure meant retry, or never retry.",
        "conversationId": "1842093771280384512",
        "inReplyToId": "1842093771280384512",
        "authorId": "1401882093771280384",
        "authorHandle": "buildwithjonah",
        "authorName": "Jonah Ruiz",
        "media": [
          {
            "type": "photo",
            "url": "https://pbs.twimg.com/media/F9k2QoQWkAA_error_flow.jpg",
            "width": 1600,
            "height": 900
          }
        ],
        "createdUtc": 1727366460,
        "likeCount": 1240,
        "replyCount": 31,
        "repostCount": 88,
        "quoteCount": 5,
        "viewCount": 91000,
        "bookmarkCount": 512,
        "lang": "en",
        "isReply": true,
        "source": "Twitter Web App"
      },
      {
        "id": "1842093771280516096",
        "url": "https://x.com/buildwithjonah/status/1842093771280516096",
        "text": "Second lesson: pagination cursors are never portable across providers. We had to build our own cursor abstraction to keep client code simple.",
        "conversationId": "1842093771280384512",
        "inReplyToId": "1842093771280450048",
        "authorId": "1401882093771280384",
        "authorHandle": "buildwithjonah",
        "authorName": "Jonah Ruiz",
        "media": [],
        "createdUtc": 1727366520,
        "likeCount": 980,
        "replyCount": 22,
        "repostCount": 64,
        "quoteCount": 3,
        "viewCount": 68000,
        "bookmarkCount": 401,
        "lang": "en",
        "isReply": true,
        "source": "Twitter Web App"
      }
    ]
  }
}

完整的参数与响应参考:这个接口的每个字段、类型和示例。

参考

一个请求,一种响应结构。

你发送的每个字段和收到的每个字段,都附有真实示例。

最近验证于 2026-11-14 · 可用率和延迟按 30d 统计

请求体

JSON,POST 到这个接口。

  • urlstring

    https://x.com/buildwithjonah/status/1842093771280384512

    带数字推文 ID 的规范 x.com 或 twitter.com 推文 URL。可传入帖子串中的任意一条推文;服务商会解析出帖子串的首帖。

你发送。 一个简短的 JSON 请求体。显示的值只是示例,请换成你自己的。

响应

JSON,每个字段一个示例值。

authordata.author
  • avatarUrlstring

    https://pbs.twimg.com/profile_images/1401882093771280384/jonah_400x400.jpg

    Avatar image URL of the author.

  • biostring

    Building data infra. Previously eng @Segment. Writing about pipelines and APIs.

    Bio text on the author's profile.

  • blueVerifiedboolean

    true

    Whether the author carries an X blue verification badge.

  • coverUrlstring

    https://pbs.twimg.com/profile_banners/1401882093771280384/1700000000

    Profile banner image URL of the author.

  • createdUtcnumber

    1517443200

    UTC epoch timestamp in seconds (Unix time) the author's account was created. Multiply by 1000 for a JS Date in milliseconds.

  • followersinteger

    41200

    Follower count of the author.

  • followinginteger

    512

    Number of accounts the author follows.

  • handlestring

    buildwithjonah

    Populated whenever the provider has data for the entity.

  • idstring

    1401882093771280384

    Populated whenever the provider has data for the entity.

  • locationstring

    Denver, CO

    Location text on the author's profile.

  • namestring

    Jonah Ruiz

    Populated whenever the provider has data for the entity.

  • urlstring

    https://x.com/buildwithjonah

    Canonical X profile URL of the thread's author.

  • verifiedboolean

    true

    Whether the author carries a legacy X verification badge.

datadata
  • completeboolean

    true

    Whether the provider reached the end of the self-thread without hitting its internal cap.

  • conversationIdstring

    1842093771280384512

    Conversation ID shared by the self-thread tweets. Populated whenever the provider has data for the entity.

  • threadLengthinteger

    3

    Number of tweets returned in the self-thread.

each tweetdata.tweets[]

Ordered self-thread tweets. Replies from other users are excluded. Populated whenever the provider has data for the entity.

  • authorHandlestring

    buildwithjonah

    Populated whenever the provider has data for the entity.

  • authorIdstring

    1401882093771280384

    Populated whenever the provider has data for the entity.

  • authorNamestring

    Jonah Ruiz

    Populated whenever the provider has data for the entity.

  • bookmarkCountinteger

    1540

    Bookmark count of the post.

  • conversationIdstring

    1842093771280384512

  • createdUtcnumber

    1727366400

    UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.

  • idstring

    1842093771280384512

    Populated whenever the provider has data for the entity.

  • inReplyToIdstring

    null

  • isReplyboolean

    false

    Whether the post is a reply to another post.

  • langstring

    en

    Two-letter language code X detected for the post.

  • likeCountinteger

    3820

    Like count of the post.

  • quoteCountinteger

    28

    Quote count of the post.

  • replyCountinteger

    96

    Reply count of the post.

  • repostCountinteger

    412

    Repost count of the post.

  • sourcestring

    Twitter Web App

    Client the post was sent from, e.g. "Twitter Web App".

  • textstring

    Spent the last 6 months building a data pipeline that normalizes 40 scraper APIs into one schema. Here is what broke, and what I would do differently. A thread.

    Populated whenever the provider has data for the entity.

  • urlstring

    https://x.com/buildwithjonah/status/1842093771280384512

    Populated whenever the provider has data for the entity.

  • viewCountinteger

    284000

    View count of the post.

each mediadata.tweets[].media[]

Photo, video, and GIF attachments on the post. Empty when the post has none.

  • heightinteger

    Pixel height of the media item, when the lane reports it.

  • typestring

    One of photo, video, or gif.

  • urlstring

    Image URL. For a video or GIF this is the poster/thumbnail frame. X media URLs on pbs.twimg.com are publicly fetchable without authentication; append ?name=orig for the full-resolution original.

  • videoUrlstring

    Playable video file URL. Present only for video and gif items.

  • widthinteger

    Pixel width of the media item, when the lane reports it.

top level
  • foundboolean

    true

    Whether the provider returned a tweet thread result.

  • reason"not_found"

    Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.

你收到。 字段有名称、有类型,无论哪个数据源响应,结构都一样。

你在出售这个 API?查看你的接口必须返回的完整数据结构。

常见问题

关于 X / Twitter 帖子串 API

AnyAPI 的 X / Twitter 帖子串 API 只需一次 POST 请求 /v1/run/twitter.thread,就以统一格式的 JSON 返回 X / Twitter 数据。解析包含某条 X (Twitter) 帖子的作者自发帖子串,从首帖一直到作者后续接续的帖子。不包含其他用户的回复。无论哪个数据源提供服务,AnyAPI 都返回同一套统一的 schema。费用:每千次请求 US$2.69 起,以美元计价,无需订阅,也没有每月最低消费。过去 30 天,通过 AnyAPI 发起的 X / Twitter 帖子串 API 调用中有 99.5% 成功,响应时间中位数为 2.7 秒,共测量 7,304 次调用。

费用:每千次请求 US$2.69 起,以美元计价,无需订阅,也没有每月最低消费。你只需为一个美元钱包充值,每次调用从中扣费。部分由钱包付费的失败请求会产生处理费用,我们按成本原价转嫁,不加价;错误响应会显示收取的金额。

解析包含某条 X (Twitter) 帖子的作者自发帖子串,从首帖一直到作者后续接续的帖子。不包含其他用户的回复。响应是统一格式的 JSON,外层结构与每个 AnyAPI 接口相同,所以解析另一个接口只需换一个 URL,别的都不用改。

过去 30 天,通过 AnyAPI 发起的 X / Twitter 帖子串 API 调用中有 99.5% 成功,响应时间中位数为 2.7 秒,共测量 7,304 次调用。这些是 AnyAPI 对经过网关的流量的自有测量,持续重新计算,并非公开承诺的服务等级目标。

可以。新的 AnyAPI 账户自带 US$0.10 免费余额,无需绑卡,足够调用 37 次 X / Twitter 帖子串,每次 US$0.00269。

向 https://api.getanyapi.com/v1/run/twitter.thread 发送 POST 请求,在 “Authorization: Bearer” 请求头中放入你的 AnyAPI 密钥,并以 JSON 请求体传入参数。同一个密钥和同一个钱包适用于所有 AnyAPI 接口。

不需要。你向一个预付费的 AnyAPI 余额充值美元,每个请求从中扣费。没有月度套餐,也没有最低消费,同一个余额可用于所有 AnyAPI 接口。

有。TypeScript 用 npm 安装 @getanyapi/sdk,Python 用 pip 安装 getanyapi。两者都用同一个密钥调用所有 AnyAPI 接口,任何 HTTP 客户端也都可以。

可以。智能体可以连接 https://api.getanyapi.com/mcp 上的 AnyAPI MCP 服务器,或者向 https://api.getanyapi.com/agent/signup 发送一次无需认证的 POST 来创建自己的免费试用密钥,再通过 HTTP 调用这个接口。