X / Twitter 帖子串 API
解析包含某条 X (Twitter) 帖子的作者自发帖子串,从首帖一直到作者后续接续的帖子。不包含其他用户的回复。
US$2.69/千次请求,按请求付费,无需订阅。
Post
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
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.
{"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 个字段}
价格
X / Twitter 帖子串 API 价格
试一试
一个请求获取 X / Twitter 帖子串
这个示例展示了 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,每个字段一个示例值。
- 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.
- 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.
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.
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.
- 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 次调用。