Single Tweet Scraper — Tweet Data by URL or ID, No Login
Pricing
from $5.00 / 1,000 tweet looked ups
Single Tweet Scraper — Tweet Data by URL or ID, No Login
Look up single tweets by URL or tweet ID and get full tweet data — text, likes, retweets, replies, views, bookmarks, media, hashtags, plus the author's name, followers and verification. No login, cookies or API key; long-form posts are not truncated. Charged only for tweets actually returned.
Pricing
from $5.00 / 1,000 tweet looked ups
Rating
0.0
(0)
Developer
Nicholas Cheng
Maintained by CommunityActor stats
0
Bookmarked
11
Total users
6
Monthly active users
2 days ago
Last modified
Categories
Share
Single Tweet Scraper
Give it tweet links or tweet IDs, get one full record per tweet — with the author embedded. No login, no cookies, no API key. Paste https://x.com/NASA/status/2090487779268407625, a twitter.com/…/status/… link, or the bare numeric ID.
You are charged only for tweets that actually came back. A deleted, protected, or withheld tweet produces an explanatory row and costs nothing.
| Input | Tweet URLs or numeric tweet IDs |
| Output | One row per tweet: text, all engagement counters, media, links, hashtags, mentions, author |
| Price | $0.005 per tweet — the same on every Apify plan |
| Timelines | Not fetched. This Actor is the single-tweet mode of the X (Twitter) Profile & Tweets Scraper; use that one to pull an account's recent tweets |
What you get
Real output for the NASA tweet above:
{"itemType": "tweet","lookedUp": true,"type": "tweet","id": "2090487779268407625","url": "https://x.com/NASA/status/2090487779268407625","text": "Paint with all the colors of the (stellar) wind 🎨 …","isLongform": false,"lang": "en","createdAt": "2026-08-20T16:05:03.000Z","replyCount": 214, "retweetCount": 1032, "quoteCount": 61,"likeCount": 6940, "bookmarkCount": 312, "viewCount": 1661487,"isRetweet": false, "isQuote": false, "isReply": false,"hashtags": [], "cashtags": [], "mentions": [],"urls": ["https://science.nasa.gov/…"],"media": [{ "type": "photo", "url": "https://pbs.twimg.com/media/….jpg", "altText": "…" }],"authorUserName": "NASA","author": { "userId": "11348282", "userName": "NASA", "followers": 92359333, "verifiedType": "Government", "…": "…" }}
- Full text. Long-form posts are returned whole, not cut at 280 characters (
isLongform: true). - All six counters: replies, reposts, quotes, likes, bookmarks, views.
- Lineage for reposts and quote tweets:
retweetedTweetId,quotedTweetId,quotedText. - Author embedded (
userName,name,description,followers,following,tweetsCount,verifiedType,isBlueVerified,profilePicture). X's post page carries only this compact record, so the author'slocation,website,createdAtand banner come backnullhere — run X Profile Data on the handle when you need those. Turn it off withincludeAuthorProfile: falsefor a slimmer row. - Since X rebuilt its web app in October 2026,
sourceandconversationIdare no longer provided and come back asnull.
Input
{"tweetUrls": ["https://x.com/NASA/status/2090487779268407625","https://twitter.com/NASA/status/2092744659667673582","2093063226351136958"]}
| Option | Default | Notes |
|---|---|---|
tweetUrls | — | x.com or twitter.com status links (including /i/web/status/…), or bare numeric IDs. De-duplicated |
includeAuthorProfile | true | Embed the author's compact profile in each row |
maxItems | 0 | Hard cap on rows for the run |
Pricing
$0.005 per tweet, on every Apify plan — Free, Bronze, Silver, Gold, Platinum, Diamond. Check the Pricing tab: all six columns are identical. The price a listing advertises in its title is not always the price a free-plan run pays; here it is.
One request, one record, one charge — the same price as an account lookup, because it is the same amount of work.
What you are not charged for
| What happens here | |
|---|---|
| Tweets that are gone | Deleted, protected, withheld, or mistyped IDs produce one row marked chargedForThis: false. Nothing is billed. |
| Empty or placeholder rows | If the tweet did not come back, no tweet row is written. |
| The free plan | Same code path, same fields. No demo mode, no row cap, no fields blanked out for free users. |
What this Actor cannot do
- No reply threads, likers, or quote-tweet lists for a tweet. X does not expose those to logged-out clients, and this Actor deliberately does not use logged-in accounts to get around that.
- No keyword or hashtag search. Same restriction.
- No timelines. To pull an account's recent tweets — with engagement filters and incremental runs — use the X (Twitter) Profile & Tweets Scraper.
How it stays working
In October 2026 X rebuilt its web app: post pages are now rendered on X's servers with the data embedded in the page. This Actor reads that embedded data directly — one page per tweet, no login, no API key, no guest token, no browser. It is plain parsing with no language model in the data path, so your output cannot drift between runs.
Integrating
curl -X POST "https://api.apify.com/v2/acts/nick.cheng~single-tweet-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H 'Content-Type: application/json' \-d '{"tweetUrls":["https://x.com/NASA/status/2090487779268407625"]}'
Official clients exist for JavaScript and Python, and results export as JSON, CSV, or Excel.