X Profile Tweet Scraper avatar

X Profile Tweet Scraper

Pricing

from $0.50 / 1,000 results

Go to Apify Store
X Profile Tweet Scraper

X Profile Tweet Scraper

Scrape tweets from any X/Twitter profile by username or URL. No login required. Returns full tweet data including media, author info, engagement metrics, quotes and replies.

Pricing

from $0.50 / 1,000 results

Rating

0.0

(0)

Developer

Ghost Rider

Ghost Rider

Maintained by Community

Actor stats

0

Bookmarked

93

Total users

26

Monthly active users

9 days ago

Last modified

Categories

Share

Apify actor that scrapes tweets from any X/Twitter profile timeline (latest first) by username or URL. No login required. Returns full tweet data including media, author info, engagement metrics, quotes, and replies.

Features

  • Scrape a profile by username, @handle, or full profile URL
  • Collect 10–1000 tweets per run (latest first)
  • Optional replies from the profile timeline
  • Full tweet payload: text, media, author, engagement counts, quotes
  • Uses Apify residential proxies by default

Input

FieldTypeRequiredDefaultDescription
profilestringyesUsername, @handle, or profile URL (example: https://x.com/elonmusk)
maxTweetsintegeryes50Number of tweets to scrape (min 10, max 1000)
includeRepliesbooleannofalseAlso scrape replies from the profile timeline
proxyConfigurationobjectnoApify residentialProxy settings. Residential proxies are recommended

Example input:

{
"profile": "https://x.com/elonmusk",
"maxTweets": 50,
"includeReplies": false,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Output

Each dataset item is one tweet (type: "tweet") with fields such as:

  • Tweet: id, url, twitterUrl, text, fullText, source, createdAt, lang
  • Engagement: retweetCount, replyCount, likeCount, quoteCount, viewCount, bookmarkCount
  • Flags: isReply, isRetweet, isQuote, isPinned, possiblySensitive
  • Author: username, display name, ID, verification, followers, bio, avatar
  • Media, entities, quoted tweet, card, and place when present

If scraping fails or the profile has no tweets, an error item (type: "error") is pushed instead.

Local run

npm install
apify run

Set APIFY_TOKEN (or APIFY_PROXY_PASSWORD) so residential proxy works locally.

Push to Apify

Install the Apify CLI if you do not have it, then from this project folder:

apify login
apify push