X (Twitter) Tweet/Posts Scraper avatar

X (Twitter) Tweet/Posts Scraper

Pricing

from $0.35 / 1,000 tweets

Go to Apify Store
X (Twitter) Tweet/Posts Scraper

X (Twitter) Tweet/Posts Scraper

Scrape any public X (Twitter) post or X Article by URL: text, likes, replies, author, photos, video MP4 links, quoted tweet, hashtags. Full X Article body as Markdown with images. No login, no cookies. Auto-switches to residential proxy if X rate-limits.

Pricing

from $0.35 / 1,000 tweets

Rating

0.0

(0)

Developer

Salman Bareesh

Salman Bareesh

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

23 days ago

Last modified

Categories

Share

Paste links to public X (Twitter) posts and get clean JSON for each one: text, like and reply counts, author, photos and video links, the quoted tweet, hashtags, mentions and links. X Articles (long-form posts) come back in full: title, cover image and the whole body as Markdown with headings, bold text and inline images.

  • No login, no cookies. Your X account is never used, so it can never be locked or banned.
  • Auto-unblock. Requests go out directly first. If X starts rate-limiting the run, the Actor switches itself to Apify Residential Proxy with a fresh IP per retry. Nothing to configure.
  • You only pay for tweets you get. Deleted, private or age-restricted tweets are skipped and logged, never charged.

Who uses it

  • Social media and PR teams tracking how specific posts perform
  • Researchers and journalists archiving tweets cited in articles
  • Content and growth teams collecting viral examples ("swipe files") for hooks and formats
  • Developers who need tweet data in a pipeline without the X API's paid tiers

Input

{
"tweetUrls": [
"https://x.com/naval/status/1002103360646823936",
"https://twitter.com/elonmusk/status/1585341984679469056"
],
"maxTweets": 100
}

x.com, twitter.com, mobile.twitter.com, fxtwitter.com / vxtwitter.com links and bare tweet IDs all work.

Output

One item per tweet:

{
"id": "1585341984679469056",
"url": "https://x.com/elonmusk/status/1585341984679469056",
"text": "Entering Twitter HQ – let that sink in! https://t.co/D68z4K2wq7",
"createdAt": "2022-10-26T18:45:58.000Z",
"lang": "en",
"likeCount": 1221749,
"replyCount": 81253,
"isEdited": false,
"possiblySensitive": false,
"authorId": "44196397",
"authorName": "Elon Musk",
"authorHandle": "elonmusk",
"authorBlueVerified": true,
"authorAvatarUrl": "https://pbs.twimg.com/profile_images/.../aR-Kjpp4_normal.jpg",
"inReplyToTweetId": null,
"inReplyToHandle": null,
"quotedTweetId": null,
"quotedTweetUrl": null,
"quotedTweetText": null,
"hashtags": [],
"mentions": [],
"links": [],
"media": [
{
"type": "video",
"url": "https://pbs.twimg.com/ext_tw_video_thumb/1585341912877146112/pu/img/DwJ7wlGIe9iryk6N.jpg",
"videoUrl": "https://video.twimg.com/ext_tw_video/1585341912877146112/pu/vid/1280x720/....mp4?tag=14"
}
],
"inputUrl": "https://twitter.com/elonmusk/status/1585341984679469056",
"scrapedAt": "2026-10-01T14:30:00.000000+00:00"
}

For an X Article, isArticle is true and article holds the long-form content:

"isArticle": true,
"article": {
"title": "NOBODY GOOGLES ANYMORE. THEY ASK CHATGPT.",
"previewText": "right now, someone is typing \"what's the best [thing you sell]\" into chatgpt...",
"coverImageUrl": "https://pbs.twimg.com/media/HTZwFm9XgAA505w.jpg",
"text": "right now, someone is typing ...\n\n![](https://pbs.twimg.com/media/HTZtBCOWoAANgSa.jpg)\n\n## the shortlist is the new page one\n\n...",
"media": [
{ "type": "photo", "url": "https://pbs.twimg.com/media/HTZtBCOWoAANgSa.jpg", "videoUrl": null },
{ "type": "video", "url": "https://pbs.twimg.com/amplify_video_thumb/.../Ozc8b78gSkBSK4aY.jpg",
"videoUrl": "https://video.twimg.com/amplify_video/.../1280x720/....mp4?tag=29" }
],
"links": [],
"wordCount": 1412
}

article.text is Markdown: headings, bold, lists, quotes, and photos/videos in their place in the article. article.media lists every embedded photo and video; article.links lists links from the article text.

For ordinary posts isArticle is false and article is null. videoUrl is the highest-bitrate MP4. Missing values are null; every item has the same keys.

Pricing

Pay per result: you are charged once for each tweet saved to the dataset. Failed, deleted and private tweets are free. Set a maximum cost per run in the run options and the Actor stops there.

FAQ

Do I need an X account, API key or cookies? No.

Why no retweet or view counts? The Actor reads X's public embed data (what shows on news sites that embed a tweet). That data has likes and replies but not retweets or views. Getting those needs a logged-in session, which this Actor deliberately avoids.

Does it get the full text of X Articles? Yes. The article body comes from the public FxTwitter API (open-source FxEmbed). If that service is down, the item still has the article title, preview and cover, and article.text is null.

Can it scrape a whole profile or a search? No. It fetches the posts you link to. Profile timelines and search need login on X today.

Is it legal? It only reads posts that are public on X. You are responsible for how you use the data, including privacy law (GDPR/CCPA) where personal data is involved.

Limits

  • Public posts only. Protected accounts, deleted posts and age-restricted posts return nothing.
  • X can change its public embed data at any time; we monitor the Actor daily.