Tweet API
Get a tweet by its ID together with the first page of replies beneath it. Returns the text, author, timestamp and like, retweet, reply, quote, bookmark and view counts for the tweet and each reply. Load more replies with `/x/get-tweet-replies`.
- Endpoint
- POST /x/get-tweet-detail
- Price
- 1 credit per request
- SDK
- client.x.getTweetDetail()
- MCP tool
- x_get_tweet_detail
curl -X POST "https://api.bridgly.app/x/get-tweet-detail" \ -H "Authorization: Bearer $BRIDGLY_KEY" \ -H "Content-Type: application/json" \ -d '{ "tweetId": "20"}'import osimport requestsresponse = requests.post( "https://api.bridgly.app/x/get-tweet-detail", headers={"Authorization": f"Bearer {os.environ['BRIDGLY_KEY']}"}, json={ "tweetId": "20", },)data = response.json()const response = await fetch("https://api.bridgly.app/x/get-tweet-detail", { method: "POST", headers: { Authorization: `Bearer ${process.env.BRIDGLY_KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ "tweetId": "20" }),});const data = await response.json();import { Bridgly } from "@bridgly/sdk";const client = new Bridgly({ apiKey: "bgly_YOUR_KEY" });const res = await client.x.getTweetDetail({ tweetId: "20"});if (res.type === "success") { console.log(res.data);}What does the Tweet API return?
Tweet scraper API: get any tweet on X (Twitter) by ID with its text, media, author and like, retweet, reply, quote and view counts, plus its replies. Every response has the same envelope: the result in data, plus timeMs and the creditsCost of the call.
Request body
tweetIdstringrequired- Numeric ID of the focal tweet to expand, or the tweet link, e.g. "1234567890".
sortOrderenum- Reply ordering: "Relevance" for X's ranking (default), "Recency" for newest first, "Likes" for most liked first.
- Relevance | Recency | Likes
Example response
{ "timeMs": 1840, "creditsCost": 1, "data": { "replies": [ { "id": "string", "url": "string", "text": "string", "author": { "userId": "string", "username": "string", "profileUrl": "string", "displayName": "string", "bio": "string", "avatarUrl": "string", "bannerUrl": "string", "location": "string", "followerCount": 0, "followingCount": 0, "tweetCount": 0, "mediaCount": 0, "likeCount": 0, "listedCount": 0, "pinnedTweetId": "string", "pinnedTweetUrl": "string", "createdAt": "2026-01-15T09:30:00.000Z", "createdAtEpochMs": 0, "isVerified": true, "isBlueVerified": true }, "createdAt": "2026-01-15T09:30:00.000Z", "createdAtEpochMs": 0, "source": "string", "conversationId": "string", "replyCount": 0, "retweetCount": 0, "likeCount": 0, "quoteCount": 0, "bookmarkCount": 0, "viewCount": 0, "replyToTweetId": "string", "replyToUserId": "string", "replyToUsername": "string", "replyToTweetUrl": "string", "isQuote": true, "quotedTweetId": "string", "quotedTweetUrl": "string", "quotedTweetAuthorId": "string", "quotedTweetAuthorUsername": "string", "retweetedTweetId": "string", "retweetedTweetUrl": "string", "retweetedTweetAuthorId": "string", "retweetedTweetAuthorUsername": "string", "lang": "string", "isSensitive": true, "hashtags": [ "string" ], "mentions": [ { "userId": "string", "username": "string", "displayName": "string", "profileUrl": "string" } ], "urls": [ { "shortUrl": "string", "expandedUrl": "string", "displayUrl": "string" } ], "media": [ { "type": "photo", "url": "string", "mediaKey": "string", "mediaId": "string", "width": 0, "height": 0, "expandedUrl": "string", "videoUrl": "string", "durationMs": 0 } ] } ], "nextCursor": "string", "tweet": { "id": "string", "url": "string", "text": "string", "author": { "userId": "string", "username": "string", "profileUrl": "string", "displayName": "string", "bio": "string", "avatarUrl": "string", "bannerUrl": "string", "location": "string", "followerCount": 0, "followingCount": 0, "tweetCount": 0, "mediaCount": 0, "likeCount": 0, "listedCount": 0, "pinnedTweetId": "string", "pinnedTweetUrl": "string", "createdAt": "2026-01-15T09:30:00.000Z", "createdAtEpochMs": 0, "isVerified": true, "isBlueVerified": true }, "createdAt": "2026-01-15T09:30:00.000Z", "createdAtEpochMs": 0, "source": "string", "conversationId": "string", "replyCount": 0, "retweetCount": 0, "likeCount": 0, "quoteCount": 0, "bookmarkCount": 0, "viewCount": 0, "replyToTweetId": "string", "replyToUserId": "string", "replyToUsername": "string", "replyToTweetUrl": "string", "isQuote": true, "quotedTweetId": "string", "quotedTweetUrl": "string", "quotedTweetAuthorId": "string", "quotedTweetAuthorUsername": "string", "retweetedTweetId": "string", "retweetedTweetUrl": "string", "retweetedTweetAuthorId": "string", "retweetedTweetAuthorUsername": "string", "lang": "string", "isSensitive": true, "hashtags": [ "string" ], "mentions": [ { "userId": "string", "username": "string", "displayName": "string", "profileUrl": "string" } ], "urls": [ { "shortUrl": "string", "expandedUrl": "string", "displayUrl": "string" } ], "media": [ { "type": "photo", "url": "string", "mediaKey": "string", "mediaId": "string", "width": 0, "height": 0, "expandedUrl": "string", "videoUrl": "string", "durationMs": 0 } ] } }}What can you build with the Tweet API?
Track a tweet
Re-fetch a tweet over time to chart views and likes.
Read the replies
Collect the reply thread to see how people reacted.
Embed tweet data
Show tweet text and counts in your own app without the embed widget.
Tweet API questions
How do I get tweet data from a tweet URL?
The tweet ID is the number after /status/ in its link, as in x.com/jack/status/20. Send it as tweetId to get the text, author, time and engagement counts, along with the replies beneath it.
How do I get more of the replies to a tweet?
Each call returns the tweet and the first page of replies, with a nextCursor. Send the tweet ID and that cursor to the Tweet Replies API to load the next page.
Can I track a tweet’s views and likes over time?
Yes. Look it up at intervals and record the like, retweet, reply, quote, bookmark and view counts. Each lookup costs 1 credit.
How do I use the Tweet API?
Send a POST request to https://api.bridgly.app/x/get-tweet-detail with tweetId in the JSON body and your API key in the Authorization header. In the TypeScript SDK, call client.x.getTweetDetail(). AI agents connected to Bridgly over MCP can call the x_get_tweet_detail tool.
How much does the Tweet API cost?
Costs 1 credit per request. Credits cost $2.00 per 1,000 on pay-as-you-go and as low as $1.00 per 1,000 at volume. New accounts on a business email start with 100 free credits, and failed requests are never charged.
Try it with a free tool
Look up a public example in your browser before connecting the API. No account needed.
More X (Twitter) endpoints
The same API key works on every endpoint. See all X (Twitter) API endpoints.
- Tweet Replies API→Tweet replies API: list the replies to any tweet on X (Twitter), with the threads beneath them and each reply’s text, author and engagement, as JSON.
- Twitter Search API→Twitter search API: search tweets on X with every advanced-search operator, a language filter and a time window. Results include author, media and engagement.
- Twitter Retweeters API→Twitter retweeters API: list who retweeted any tweet on X (Twitter), with each account’s handle, name, bio and follower and following counts, as JSON.
- Twitter Quote Tweets API→Twitter quote tweets API: list the quote tweets of any tweet on X (Twitter), latest or top first, with each quote’s text, author, media and engagement.
Try the Tweet API
100 free credits on business email, no card. Your first call takes a minute.