X (Twitter) Tweet Scraper API – Likes, Replies, Media, No Login avatar

X (Twitter) Tweet Scraper API – Likes, Replies, Media, No Login

Pricing

from $0.07 / 1,000 tweets

Go to Apify Store
X (Twitter) Tweet Scraper API – Likes, Replies, Media, No Login

X (Twitter) Tweet Scraper API – Likes, Replies, Media, No Login

Get X (Twitter) tweet data and MP4 video download links from tweet URLs or IDs, no login or cookies: text, likes, replies, author, photos, every video quality, quoted tweet, threads, polls, Community Notes. $0.09 per 1,000 tweets, 500 free a month.

Pricing

from $0.07 / 1,000 tweets

Rating

0.0

(0)

Developer

K-Data Lab

K-Data Lab

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Features

Limited permissions

Share

Paste tweet links or IDs and get one clean row per tweet: text, likes, replies, author, photos, direct MP4 video download links in every quality, the quoted tweet, the tweet it replies to, link cards, polls and Community Notes. No X account, no cookies, no API key, no browser.

$0.09 per 1,000 tweets on the Bronze plan, and your first 500 tweets every month are free. Deleted, private and unsupported links are never charged. Each run has a $0.005 start fee, so put many links in one run. The prefilled run finishes in about 3 seconds.

Built for tweets you already know about. Typical uses: tracking likes and replies on campaign or influencer posts, checking a list of links from a spreadsheet, getting MP4 download links for X videos in bulk (tick Only tweets with a video and pay only for tweets that have one), archiving tweets with their media, or enriching tweet IDs from a research dataset. It does not search X and does not read profile timelines (X shows those only to logged-in users). See what it doesn't do.

Real rows from the prefilled run on 8 November 2026 (Korea time):

TweetAuthorLikesRepliesMediaExtra
just setting up my twttr@jack324,98419,253noneaffiliation: Square
A ‘hello world’ milestone for Project Suncatcher 🚀…@sundarpichai26,6661,4831 video, 1920×1080 MP4 linkaffiliation: Google
A mobile comparison test…@discord12,893367nonequotes another tweet (with its retweet count)
A new era is coming…@Microsoft4,7273231 photoverified business

🚀 Pick your starting point

You wantPaste this input
Likes and replies for a list of tweets{ "tweets": ["https://x.com/jack/status/20", "https://x.com/Microsoft/status/1791613922727911762"] }
MP4 download links for X / Twitter videos{ "tweets": ["https://x.com/sundarpichai/status/2116214866444943853"], "videoOnly": true }
Bare IDs from a dataset{ "tweets": ["20", "1791613922727911762"] }
A reply plus the conversation above it{ "tweets": ["https://x.com/MarathonFusion/status/2113001085912895846"], "threadDepth": 5 }
A daily engagement snapshotthe same list on an Apify Schedule; each row has scrapedAt
Only tweets that still exist{ "tweets": [...], "skipMissing": true }

Links from x.com, twitter.com, mobile.twitter.com, fxtwitter, vxtwitter and x.com/i/web/status/… all work, with or without ?s=20 tracking bits. Duplicate links are read once.

📦 What you get per tweet

FieldExampleNotes
url, idhttps://x.com/jack/status/20
textjust setting up my twttrt.co links expanded to the real URL
isTextTruncatedfalsetrue for long posts over 280 characters, see FAQ
createdAt, language2006-03-21T20:50:14.000Z, enUTC
likeCount, replyCount324984, 19253live numbers at scrapedAt
author{ name, handle, id, isBlueVerified, verifiedType, affiliation, avatarUrl, profileUrl }affiliation is the badge under the name (e.g. "Google")
videoUrlhttps://video.twimg.com/…/1920x1080/….mp4direct MP4 link of the first video or GIF, best quality
media[]{ type, imageUrl, width, height, altText, durationMs, videoUrl, videoVariants, hlsUrl }videoVariants lists every MP4 quality (url, bitrate, width, height), best first
quotedTweet{ id, url, text, authorHandle, likeCount, replyCount, retweetCount, … }includes the quoted tweet's retweet count
replyTosame shape as quotedTweetthe tweet it answers, with its retweet count
hashtags, cashtags, mentions, links["AI"], ["TSLA"]
card{ type, url, title, description, domain, imageUrl, poll }link previews; polls include each option's votes
communityNote{ title, text, url, noteId }the reader context shown under the tweet
article{ title, previewText }X Articles
isEdited, editedVersionIds, possiblySensitive, replyRestriction, place
status, messageOKsee below

A row for a video tweet (shortened):

{
"status": "OK",
"url": "https://x.com/sundarpichai/status/2116214866444943853",
"text": "A ‘hello world’ milestone for Project Suncatcher 🚀\n\nAfter launching our prototype satellite a few weeks ago, …",
"createdAt": "2026-10-30T17:05:16.000Z",
"likeCount": 26666,
"replyCount": 1483,
"author": { "name": "Sundar Pichai", "handle": "sundarpichai", "isBlueVerified": true, "affiliation": "Google" },
"media": [{
"type": "video", "width": 1920, "height": 1080, "durationMs": 16021,
"videoUrl": "https://video.twimg.com/amplify_video/2116214727835828224/vid/avc1/1920x1080/pEIO6vAh51GKep_W.mp4",
"imageUrl": "https://pbs.twimg.com/amplify_video_thumb/2116214727835828224/img/b4pQhbjRd5EDKtkl.jpg",
"videoVariants": [
{ "url": "https://video.twimg.com/amplify_video/2116214727835828224/vid/avc1/1920x1080/pEIO6vAh51GKep_W.mp4", "bitrate": 10368000, "width": 1920, "height": 1080 },
{ "url": "https://video.twimg.com/amplify_video/2116214727835828224/vid/avc1/1280x720/zG1J8hKWLBVeO2Wl.mp4", "bitrate": 2176000, "width": 1280, "height": 720 },
{ "url": "https://video.twimg.com/amplify_video/2116214727835828224/vid/avc1/640x360/U9KH9sdF6YE6rJsG.mp4", "bitrate": 832000, "width": 640, "height": 360 },
{ "url": "https://video.twimg.com/amplify_video/2116214727835828224/vid/avc1/480x270/e8jmsZmdNof2yy8U.mp4", "bitrate": 256000, "width": 480, "height": 270 }
]
}],
"videoCount": 1,
"videoUrl": "https://video.twimg.com/amplify_video/2116214727835828224/vid/avc1/1920x1080/pEIO6vAh51GKep_W.mp4",
"quotedTweet": null,
"scrapedAt": "2026-11-07T18:23:07Z"
}

Every link gets an answer. A link that has no data still gets a short, uncharged row, so a monitor can tell what disappeared:

statusMeaningCharged
OKtweet datayes
NOT_FOUNDdeleted, never existed, or from a protected accountno
UNAVAILABLEX shows a notice instead, e.g. "This Post is from a suspended account"; the notice is in messageno
DUPLICATEa retweet ID that resolves to a tweet already in the datasetno
NO_VIDEOno video or GIF in this tweet, while Only tweets with a video is onno
PROFILE_NOT_SUPPORTED, SEARCH_NOT_SUPPORTED, NOT_A_TWEET_LINKnot a tweet linkno
NO_ANSWERX didn't answer after several tries (0 in over 4,000 lookups in our tests)no

💰 Pricing

Free planBronzeSilverGold+
Tweet$0.10 / 1,000$0.09 / 1,000$0.08 / 1,000$0.07 / 1,000
Run start$0.005$0.005$0.005$0.005
  • 500 tweets free every month per Apify account, counted across all your runs.
  • Thread rows (threadDepth) are normal tweet rows. The first parent inside replyTo is free.
  • Set Maximum cost per run and the run stops cleanly at that amount. 10,000 tweets cost about $0.90 on Bronze.

How it compares, from each actor's public Store page on 8 November 2026:

This actorapidojo/tweet-scraperapidojo/twitter-scraper-litekaitoeasyapi tweet scraperxquik/x-tweet-scraper
Price per 1,000 tweets (Bronze)$0.09$0.40$0.40–2.00 by batch size, + $0.05 per tweet URL query$0.22$0.15
Free tweets every month500nonenonenonenone
Look up tweets by link or IDyesyesyesyesyes
Keyword search, profiles, listsnoyesyesyesyes
Retweet, quote, view, bookmark counts of the tweet itselfno (retweets only for quoted / replied-to tweets)yesyesyesyes

For video links only, the Twitter video downloaders on the Store charged, on the same date: igview-owner/twitter-x-video-downloader $5.00 per 1,000 results, epctex/twitter-video-downloader $0.40 per 1,000 seconds of 720p video (it also stores the files). This actor returns the MP4 links (not the files) at $0.09 per 1,000 tweets, and with Only tweets with a video on, tweets without a video are free.

If you need search or full timelines, use one of the others. If you need fast, cheap numbers and media for tweets you already have, this one costs less and needs nothing from you.

❓ FAQ

Where does the data come from? From X's public tweet-embed data: the same JSON that loads when a news site or blog shows an embedded tweet to a visitor who isn't logged in. We don't use accounts, cookies, a browser or signed requests, and we read nothing a logged-out visitor can't see. This is an unofficial tool, not affiliated with X Corp.

Why are long posts cut off? X's embed data carries the first ~280 characters of a long post (X Premium "show more" posts), so isTextTruncated is true for those rows and the text ends where X cuts it. In our tests about a third of recent tweets from tech and news accounts were long posts.

Why no retweet or view counts? X doesn't put them in the embed data for the tweet itself. It does include retweets for the quoted tweet and the replied-to tweet, so those are in quotedTweet.retweetCount and replyTo.retweetCount.

Can it search X or read a profile's latest tweets? No. X shows search, hashtags, lists and profile timelines only to logged-in users, and we don't log in. Profile and search links come back as an uncharged row that explains this.

How fast is it? About 2,000 tweets in 16 seconds in our tests, with no proxy needed. Old tweets (2020 and earlier) answer more slowly than recent ones.

Are the numbers live? Yes. Each run reads them fresh, so scheduling the same list daily gives you an engagement history (use scrapedAt as the time).

Private accounts? Tweets from protected accounts are not public, so they come back as NOT_FOUND.

Does it download the video file? It gives you the direct MP4 link on X's video server (video.twimg.com), in every quality X offers. Open it in a browser or fetch it with any HTTP client to save the file. Files are not copied into Apify storage, which keeps it cheap. Only download videos you have the right to use.

Can I use it from code, n8n, Make or Zapier? Yes. Use the Apify API (run-sync-get-dataset-items) with { "tweets": [...] }; see the next section for AI agents.

🤖 Use it from AI agents (MCP)

Add https://mcp.apify.com?tools=actors,k-data-lab/x-tweet-scraper to Claude, ChatGPT, Cursor or any MCP client (sign in with Apify), and the agent gets this actor as a named tool. Prompts that work:

  • "Get the likes and replies for these 20 tweet links."
  • "Give me the MP4 download link for this X video: https://x.com/…/status/…"
  • "Which of these tweets were deleted?" (look for status other than OK)

Agent input is one array, tweets, of links or IDs. Optional: videoOnly (true = only tweets with a video), threadDepth (0–25), skipMissing. The output is one JSON row per tweet with the fields above. A 10-tweet call costs under $0.01, and the first 500 tweets each month are free.

🙅 What it doesn't do

  • No keyword search, hashtag pages, lists, profile timelines, followers or likes lists (all logged-in only on X).
  • No retweet, quote, bookmark or view counts for the tweet itself.
  • Video files are not stored, only their MP4 links.
  • Long posts are truncated to the part X's embed shows (isTextTruncated: true).
  • No replies below a tweet. threadDepth walks up a conversation, to the tweets a reply answers.

🧰 More from K-Data Lab

Social and apps

Amazon

Travel

Korean data

💬 Feedback

Missing a field, or found a tweet that doesn't come through? Open an issue on the Issues tab. We answer the same day.

Tags: twitter scraper, x scraper, tweet scraper, x.com scraper, twitter api alternative, tweet likes, tweet engagement tracker, tweet by id, tweet url scraper, twitter video downloader, x video downloader, tweet video mp4 link, twitter video download api, community notes, twitter no login