X (Twitter) Tweet Scraper by URL - Media & Video, No Login avatar

X (Twitter) Tweet Scraper by URL - Media & Video, No Login

Pricing

from $1.70 / 1,000 tweet delivereds

Go to Apify Store
X (Twitter) Tweet Scraper by URL - Media & Video, No Login

X (Twitter) Tweet Scraper by URL - Media & Video, No Login

Get X (Twitter) tweet data by tweet URL or ID: full text, date, likes, replies, hashtags, mentions, expanded links, photos, MP4 video link, quoted tweet and author. A Twitter API alternative with no login, cookies or browser. Bulk links, only-new mode. Deleted or private tweets are free.

Pricing

from $1.70 / 1,000 tweet delivereds

Rating

0.0

(0)

Developer

Scrapewise Data

Scrapewise Data

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

5

Monthly active users

8 hours ago

Last modified

Share

X (Twitter) Tweet Scraper by URL

Paste a list of X/Twitter post links (or bare tweet ids) and get one clean row per tweet: the full text, the date, likes and replies, hashtags, mentions, expanded links, photos, the direct MP4 link of videos and GIFs, the quoted tweet, the account it replies to, and the author's name, handle, avatar and verified badge.

No X account, no cookies, no browser, no API key. It reads the same public endpoint that renders an embedded post card on any website, so it works as a lightweight Twitter API alternative for tweet lookup by URL. Export the result as JSON, CSV or Excel, or read it from the Apify API.

X tweet scraper pricing at a glance

Your Apify planPrice per 1,000 tweets
FreeUS$ 2.00
BronzeUS$ 1.90
SilverUS$ 1.80
Gold and aboveUS$ 1.70
  • 33 fields per row (29 about the tweet and its author, plus source, scrapedAt, error, errorCode), all in the field reference.
  • Pay only for tweets delivered. No monthly fee, no start fee. Deleted, private, invalid and duplicate links are free error rows, so a list with dead links never inflates the bill.
  • Old tweets work. The first tweet ever, id 20 from 2006, comes back complete.
  • x.com, twitter.com, mobile.twitter.com, links with query strings and bare ids are all accepted, and duplicates are removed before anything is charged.
  • onlyNew for schedules: a daily run over a growing list only delivers, and bills, the tweets it has not delivered before.

What you can do with tweet data

  • Enrich a list of tweet links you already have. A spreadsheet of brand mentions, a monitoring export, links collected by a social listening tool or a form: turn each link into text, date, engagement and author.
  • Archive and evidence. Keep the exact text, date, media links and author of posts before they are edited or deleted. isEdited tells you if X marks the post as edited.
  • Download media. mediaUrls has the photos and videoUrl the highest bitrate MP4 of a video or GIF, with videoDurationMs.
  • Research and AI datasets. Clean text with language, hashtags, mentions and expanded links, ready for sentiment analysis, classification or an LLM prompt.
  • Check a campaign. Paste the links of the posts in a campaign and compare likes and replies across them.

What the X tweet scraper does not do, on purpose

Search, profile timelines, followers, likes lists and the list of replies. On X these need a logged-in account, and this Actor never logs in. It takes post links you already have and turns them into structured rows. If you need keyword search or timelines, this is not the tool.

X tweet scraper input

Three tweets, one of them a twitter.com link with a query string and one a bare id:

{
"tweetUrls": [
"https://x.com/jack/status/20",
"https://twitter.com/jack/status/20?s=20",
"20"
]
}

The three lines point to the same tweet, so this run delivers and charges one row.

A daily Task over a list that keeps growing, charging only the new tweets:

{ "tweetUrls": ["https://x.com/jack/status/20"], "onlyNew": true }
FieldWhat it does
tweetUrlsPost links or numeric ids, one per line. Also read from urls, startUrls, tweetIds, postUrls or url
onlyNewSkip tweets delivered in earlier runs (default off). Also accepts onlyNewTweets
langLanguage of X's own labels (default en). The tweet text always comes as written
proxyConfigurationOff by default; turn Apify Proxy on for lists in the thousands

An empty input runs the example tweet, so you can see the output before pasting your list.

What data the X tweet scraper returns

One real row (run on 2026-10-15):

{
"type": "tweet",
"id": "20",
"url": "https://x.com/jack/status/20",
"text": "just setting up my twttr",
"createdAt": "2006-03-21T20:50:14+00:00",
"lang": "en",
"likeCount": 309441,
"replyCount": 18090,
"isEdited": false,
"hashtags": [],
"mentions": [],
"links": [],
"mediaType": null,
"mediaUrls": [],
"videoUrl": null,
"quotedTweetId": null,
"inReplyToUser": null,
"authorName": "jack",
"authorHandle": "jack",
"authorUrl": "https://x.com/jack",
"authorAvatarUrl": "https://pbs.twimg.com/profile_images/1661201415899951105/azNjKOSH_normal.jpg",
"authorVerified": true,
"source": "https://x.com/jack/status/20",
"errorCode": null,
"scrapedAt": "2026-10-15T18:17:40.153261+00:00"
}

Every row has the same keys, so the CSV and Excel exports keep the same columns from run to run. Fields that a tweet does not have (no media, no quote, not a reply) are null or an empty list.

Tweet field reference

FieldWhat it is
typetweet, or error for a free error row
id, urlTweet id and its canonical x.com link
textFull text of the tweet, HTML entities decoded
createdAtPublication date and time, ISO 8601 in UTC
langLanguage code X detected for the text
isEditedX marks the tweet as edited
possiblySensitiveX marks the media as sensitive (when X sends it)
likeCountLikes
replyCountReplies in the conversation
hashtags, mentionsHashtags without # and mentioned handles without @
linksLinks in the text, already expanded past t.co
mediaTypephoto, video or animated_gif (first attachment)
mediaCountNumber of attachments
mediaUrlsImage link of every attachment (photos, video thumbnails)
videoUrl, videoDurationMsDirect MP4 of the highest bitrate variant and its duration
altTextAccessibility text of the media
quotedTweetId, quotedTweetText, quotedTweetAuthorThe quoted tweet, when there is one
inReplyToUserHandle this tweet replies to
authorName, authorHandle, authorUrl, authorAvatarUrlWho posted it
authorVerified, authorVerifiedTypeVerified badge (blue or legacy) and its type, such as Business or Government
sourceThe input line that produced the row
scrapedAtWhen the row was collected
error, errorCodeEmpty on a tweet; filled on a free error row

Retweet, quote and view counts are not in the public embed card, so they are not in the output.

Error rows (never charged)

errorCodeMeaning
TWEET_NOT_FOUNDDeleted, private, age-restricted or never existed
INVALID_URLThe line is not an X/Twitter status link or numeric id
BLOCKEDX refused every retry for that tweet. Run again, or turn the proxy on
ITEM_UNREADABLEOne tweet came in a shape this Actor cannot read; only that tweet is lost
NOT_REACHEDThe run timeout arrived before this tweet
UNEXPECTEDSomething unforeseen broke on that tweet; the rest of the run still delivers

Monitor tweets daily: pay only for tweets you have not received

Turn on onlyNew when the same list comes back every day. The Actor remembers which tweets it already delivered, in a Key-Value Store named x-tweet-scraper-only-new in your own Apify account, and skips them: not delivered and not charged. A day with nothing new ends green with the status "No new tweets since the last run" and costs nothing for results. Delete the store to start over.

Integrations, scheduling and AI agents

Video guides from Apify: how to schedule an Actor and how to connect it to other apps.

  • Schedule the input as a Task in Apify schedules, with onlyNew on, and only new links are billed.
  • Export as JSON, CSV, Excel, XML or HTML, or read the dataset from the Apify API.
  • Connect it to Make, n8n, Zapier, Google Sheets, Slack or a webhook through Apify integrations: for example, a new row in a sheet of links starts a run and the tweet text comes back to the same sheet.
  • AI agents: the Actor works as a tool through the Apify MCP server in Claude, ChatGPT, Cursor and other MCP clients, for example "read these 20 tweet links and summarize what people complain about".
  • API call: scrapewise/x-tweet-scraper with the Apify API or the Python and JavaScript clients.

X tweet scraper FAQ

Does it need my X account or an X API key? No. It reads the public embed endpoint, the same one that renders a tweet card on any website.

Why not the official X API? The official X API needs a developer account, and reading posts is billed by access tier, with very few reads on the free tier. This Actor needs no account or key, charges only for the tweets it delivers, and returns text, likes, replies, media and MP4 links per tweet.

Can it search X or read a profile timeline? No, by design. Search, timelines, followers and reply lists need a logged-in account. This Actor turns the links you already have into rows.

Do deleted or private tweets cost anything? No. They come back as free TWEET_NOT_FOUND rows.

How much does a list cost? 1,000 tweets cost US$ 2.00 on the Free plan and US$ 1.70 on Gold; 100 tweets cost US$ 0.20 or less. Duplicates and error rows are free.

Does it download videos? It gives you the direct MP4 link of the highest bitrate variant in videoUrl. Open or download it while it is fresh; X can rotate media links over time.

Do I need a proxy? Not usually. The proxy is off by default because this endpoint rarely blocks. For lists in the thousands, turn Apify Proxy on to spread the requests over more IPs.

Notes

  • Only what X publishes in a public embed card comes out: text, numbers, media and the author's public profile. No e-mail, no phone, nothing behind a login.
  • Independent tool, not affiliated with X Corp.

Changelog

  • 16 Oct 2026: price per plan (US$ 2.00 Free down to US$ 1.70 Gold and above), field reference for every column, integrations section and input examples on this page.
  • 2026-10-04: onlyNew option for scheduled runs: tweets delivered in earlier runs are skipped and not charged.
  • 2026-09-22, 0.1: first release. Tweets by link or id, media and MP4 links, quoted tweet, author, free error rows.