X(twitter) user profile and tweets scraper
Pricing
from $2.99 / 1,000 results
X(twitter) user profile and tweets scraper
scrapes user timelines from X (Twitter) to extract tweets, user information, and engagement metrics. It works in guest mode without requiring authentication and can retrieve tweets from any public Twitter account.
Pricing
from $2.99 / 1,000 results
Rating
0.0
(0)
Developer
Scraplib
Maintained by CommunityActor stats
1
Bookmarked
14
Total users
0
Monthly active users
13 days ago
Last modified
Categories
Share
Twitter User Timeline Scraper

Extract tweets from a public X (Twitter) user profile into structured JSON. Give the scraper a username and get back one record per tweet: the text, publication date, engagement counts, language, links, hashtags, attached photos and videos, quoted and replied-to tweets, and the author's public profile details. No X account, login or API key is required.
Key Features
- One item per tweet: every tweet on the timeline becomes a clean, flat record.
- Engagement metrics: retweets, likes, replies, quotes, bookmarks and views as reported by X.
- Author profile: name, handle, verification and blue-verified status, follower and following counts, bio, location, profile image and banner.
- Media details: photos and videos with their URLs, and the highest-bitrate video variant.
- Conversation context: quoted tweets and the tweet a reply is pointing at.
- Links and hashtags: expanded URLs and hashtags pulled from the tweet entities.
- Filter what you collect: include or exclude replies and retweets.
- No login required: only public profiles are read, in guest mode.
Who Is This For
- Social media managers tracking what an account posts and how it performs.
- Marketers and researchers collecting posts from brands, competitors or public figures.
- Analysts building datasets of public posts for sentiment or topic analysis.
- Developers who need timeline data as JSON, CSV or Excel through the Apify API.
Common Use Cases
- Competitor monitoring: follow what rival brands post and which posts get engagement.
- Content research: study the posting patterns, hashtags and links of accounts in your niche.
- Brand and campaign tracking: archive an account's posts around a launch or an event.
- Sentiment and topic analysis: feed tweet text into your own NLP pipeline.
- Reporting: export timeline data into a spreadsheet or BI tool for recurring reports.
Input
| Field | Type | Description | Default |
|---|---|---|---|
username | string | The X (Twitter) username to scrape, without the @. Required. | elonmusk (prefill) |
maxItems | integer | Stop after this many tweets have been scraped. | 20 |
count | integer | Deprecated alias of maxItems, kept so existing saved inputs keep working. maxItems wins when both are set. | unset |
includeReplies | boolean | Whether to include replies in the timeline. | false |
includeRetweets | boolean | Whether to include retweets in the timeline. | true |
proxyConfiguration | object | Proxy settings. The Actor reads public timelines without a proxy; enable one if your runs are rate limited or geo-restricted. | no proxy |
Example input:
{"username": "nasa","maxItems": 20,"includeReplies": false,"includeRetweets": true,"proxyConfiguration": { "useApifyProxy": false }}
Output
Each dataset item describes one tweet.
| Field | Type | Description |
|---|---|---|
id | string | Tweet ID |
text | string | Tweet text |
created_at | string or null | Publication date in ISO 8601 |
retweet_count | integer | Number of retweets |
favorite_count | integer | Number of likes |
reply_count | integer | Number of replies |
quote_count | integer | Number of quote tweets |
bookmark_count | integer | Number of bookmarks |
view_count | integer | Number of views |
is_retweet | boolean | Whether the tweet is a retweet |
is_reply | boolean | Whether the tweet is a reply |
is_quote | boolean | Whether the tweet quotes another tweet |
possibly_sensitive | boolean | Sensitivity flag reported by X |
language | string | Language code detected by X |
user | object | Author profile: id, name, screen_name, verified, blue_verified, followers_count, following_count, tweet_count, listed_count, description, location, profile_image_url, profile_banner_url, protected, created_at |
urls | array | Expanded links in the tweet, when it has any |
hashtags | array | Hashtags in the tweet, when it has any |
media | array | Attached media with type, url, expanded_url, display_url, and video_url, video_bitrate and video_content_type for videos |
quoted_tweet | object | The quoted tweet with id, text and user, when the tweet quotes another one |
in_reply_to | object | The tweet being replied to with status_id, user_id and screen_name, when the tweet is a reply |
Example item, taken verbatim from a run against @NASA:
{"id": "2100953558015250850","text": "No matter where you are, we all see the same Moon. 🌕\n\nSept. 19 is International Observe the Moon Night, an annual celebration dedicated to our closest celestial neighbor. Learn more and find ways to celebrate near you: https://t.co/OgllHIbnbK https://t.co/9eATNEkjNt","created_at": "2026-09-18T14:22:16+00:00","retweet_count": 534,"favorite_count": 3245,"reply_count": 121,"quote_count": 37,"bookmark_count": 154,"view_count": 508702,"is_retweet": false,"is_reply": false,"is_quote": false,"possibly_sensitive": false,"language": "en","url": "https://x.com/i/status/2100953558015250850","user": {"id": "11348282","screen_name": "NASA","name": "NASA","description": "Making the seemingly impossible, possible. ✨","followers_count": 92372334,"friends_count": 117,"statuses_count": 74309,"verified": true,"profile_image_url": "https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg"},"urls": ["https://go.nasa.gov/3Tf4do5"],"media": [{"type": "photo","url": "https://pbs.twimg.com/media/HSgWIKHXAAATBk1.jpg","expanded_url": "https://x.com/NASA/status/2100953558015250850/photo/1","display_url": "pic.x.com/9eATNEkjNt"}]}
Fields that do not apply to a tweet are left out of the record: a tweet without media has no
media key, a tweet that is not a reply has no in_reply_to key.
Pricing
This Actor is priced per result. You pay for each tweet stored in the dataset. The current price per result and per 1,000 results is shown on the Pricing tab of the Actor page on the Apify Store.
FAQ
Do I need an X (Twitter) account or API key? No. The Actor reads public timelines in guest mode and never logs in.
Can it scrape private or protected accounts? No. Only public profiles are readable without an account.
How many tweets can I get in one run?
The Actor pages through the timeline until it has maxItems tweets or the profile runs out.
How far back a public timeline goes is decided by X, not by the Actor.
What is the difference between maxItems and count?
They are the same limit. count was the original field name and still works; maxItems is the
current one and takes precedence when both are provided.
Why did my run return no tweets? X may rate limit or block a request. Retry later, or enable a proxy in the input. When the handle cannot be resolved, the run fails with a message naming the handle rather than storing an empty result.
Do I need a proxy? Not by default. Enable one in the proxy configuration if your runs get rate limited or if the profile is geo-restricted.
How do I export the results? Open the run's dataset on Apify and download it as JSON, CSV, Excel or XML, or fetch it through the Apify API.
Is scraping public tweets legal? The Actor only collects publicly available posts. You are responsible for using the data in line with applicable laws and X's terms.
More Scrapers by Scraplib
- LinkedIn Company Scraper — public LinkedIn company profiles.
- Google Maps Contact & Social Media Extractor — business contacts and social profiles from Google Maps.
- Extract Emails from Websites — email addresses from any website.
- Twitter User Timeline — tweets from an X user profile.
- YouTube Channel Scraper — YouTube channel metadata and videos.
Contact & Support
Found a bug or need a new field? Open an issue on the Actor's Issues tab on the Apify Store. If this Actor saves you time, please leave a ⭐ rating on the Apify Store. Ratings keep it maintained.
Image Credit
Image credit: X, logo via Wikimedia Commons.