X Profile Tweet Scraper
Pricing
from $0.50 / 1,000 results
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
Maintained by CommunityActor 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
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
profile | string | yes | — | Username, @handle, or profile URL (example: https://x.com/elonmusk) |
maxTweets | integer | yes | 50 | Number of tweets to scrape (min 10, max 1000) |
includeReplies | boolean | no | false | Also scrape replies from the profile timeline |
proxyConfiguration | object | no | Apify residential | Proxy 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 installapify 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 loginapify push