X Profile Tweets Scraper
Pricing
from $0.03 / 1,000 result extracteds
X Profile Tweets Scraper
Scrape public X profile tweets and status URLs for social listening, competitor monitoring, creator research, and lightweight public-post exports.
Pricing
from $0.03 / 1,000 result extracteds
Rating
0.0
(0)
Developer
Hanna Nosova
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Extract public tweets from X (Twitter) profile pages and individual status URLs. Use it for social listening, creator tracking, brand monitoring, competitive content research, and lightweight public-post archiving.
What does X Profile Tweets Scraper do?
X Profile Tweets Scraper collects visible public posts from X profile URLs such as https://x.com/Apify.
It can also process individual public status URLs when you need a specific tweet.
The actor saves one dataset item per tweet.
Each item includes tweet text, tweet URL, author username, display name, engagement counts when visible, media URLs, reply detection, and scrape timestamp.
Who is it for?
Marketing teams use it to monitor brand accounts and competitor messaging.
Founders use it to track market conversations around public company profiles.
Sales teams use it to collect public context before outreach.
Researchers use it to archive visible posts for analysis.
Agencies use it to report creator activity to clients.
Why use this actor?
⚡ Fast HTTP-based extraction for public profile pages.
📦 Clean dataset rows that are ready for CSV, JSON, Excel, or API export.
🔗 Supports both profile URLs and status URLs.
🧹 Deduplicates tweets by tweet ID.
🧭 Keeps source profile context on every row.
What data can you extract?
| Field | Description |
|---|---|
profileUrl | Public X profile URL used as source |
username | X username / handle |
displayName | Visible display name |
tweetId | Numeric tweet/status ID |
tweetUrl | Direct tweet URL |
text | Tweet text |
createdAt | Visible date label |
replyCount | Reply count when visible |
repostCount | Repost count when visible |
likeCount | Like count when visible |
viewCount | View count when visible |
mediaUrls | Public media image URLs |
isReply | Whether the post appears to be a reply |
scrapedAt | ISO timestamp of extraction |
How much does it cost to scrape X profile tweets?
This actor uses pay-per-event pricing.
There is a small start event for each run.
There is a per-result event for each tweet saved to the dataset.
You only pay for rows produced, plus normal Apify platform usage according to your plan.
For a quick test, use one profile URL and keep maxTweetsPerProfile at 10.
How to use X Profile Tweets Scraper
-
Open the actor on Apify.
-
Add one or more public X profile URLs.
-
Optionally add individual status URLs.
-
Choose the maximum tweets per profile.
-
Decide whether replies should be included.
-
Run the actor.
-
Download the dataset as JSON, CSV, Excel, XML, or RSS.
Input example
{"profileUrls": [{ "url": "https://x.com/Apify" }],"statusUrls": [],"maxTweetsPerProfile": 10,"includeReplies": true,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["SHADER"]}}
Output example
{"profileUrl": "https://x.com/Apify","username": "Apify","displayName": "Apify","tweetId": "2069390009589710968","tweetUrl": "https://x.com/Apify/status/2069390009589710968","text": "Building a universal web crawler sounds easy...","createdAt": "Jun 23","replyCount": 1,"repostCount": 3,"likeCount": 12,"viewCount": null,"mediaUrls": ["https://pbs.twimg.com/media/example.png"],"isReply": false,"scrapedAt": "2026-06-27T00:00:00.000Z"}
Tips for best results
Use full profile URLs, not only handles.
Keep the first run small to confirm the page is public.
Use status URLs when you need exact posts.
Disable replies if you want only profile timeline posts.
Use the dataset preview to confirm fields before exporting a large run.
Supported URL formats
https://x.com/username
https://twitter.com/username
https://x.com/username/status/1234567890
https://twitter.com/username/status/1234567890
Limits and reliability
The actor is designed for public data.
It does not log in.
It does not access private accounts.
It does not bypass account-only pages.
If X changes its public page markup, some fields may temporarily be unavailable.
Integrations
Send dataset rows to Google Sheets for weekly social reports.
Connect to Slack to alert on new posts from monitored public profiles.
Use Make or Zapier to enrich leads with recent public X activity.
Export to BigQuery or Snowflake for longitudinal social analysis.
Feed tweet text to an LLM workflow for classification and summarization.
API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('fetch_cat/x-profile-tweets-scraper').call({profileUrls: [{ url: 'https://x.com/Apify' }],maxTweetsPerProfile: 10,includeReplies: true,});console.log(run.defaultDatasetId);
Python
from apify_client import ApifyClientclient = ApifyClient('MY-APIFY-TOKEN')run = client.actor('fetch_cat/x-profile-tweets-scraper').call(run_input={'profileUrls': [{ 'url': 'https://x.com/Apify' }],'maxTweetsPerProfile': 10,'includeReplies': True,})print(run['defaultDatasetId'])
cURL
curl "https://api.apify.com/v2/acts/fetch_cat~x-profile-tweets-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"profileUrls":[{"url":"https://x.com/Apify"}],"maxTweetsPerProfile":10}'
MCP usage
Use this actor from MCP-enabled clients through Apify MCP Server.
MCP URL:
https://mcp.apify.com/?tools=fetch_cat/x-profile-tweets-scraper
Claude Code setup:
$claude mcp add apify-x-profile-tweets "https://mcp.apify.com/?tools=fetch_cat/x-profile-tweets-scraper"
Claude Desktop JSON config:
{"mcpServers": {"apify-x-profile-tweets": {"url": "https://mcp.apify.com/?tools=fetch_cat/x-profile-tweets-scraper"}}}
Example prompts:
Example Claude Code prompt:
“Run X Profile Tweets Scraper for https://x.com/Apify and summarize the latest public posts.”
Example Claude Desktop prompt:
“Collect public tweets from this X profile and group them by product topic.”
Example MCP workflow prompt:
“Scrape the latest public tweets from these three X profiles, then create a table with tweet URL, text, likes, and whether each post is a reply.”
Legality and responsible use
This actor is for public web data only.
Do not scrape private accounts.
Do not use results for spam, harassment, or surveillance.
Respect X terms, privacy rules, and applicable laws in your jurisdiction.
If you are unsure whether your use case is allowed, consult a legal professional.
Troubleshooting
Why did I get fewer tweets than requested?
The public profile page may expose fewer visible tweets than your requested maximum.
Try a different public profile or lower the limit.
Why are some engagement counts null?
X does not always expose every count in the public markup.
The actor returns null when a value is not visible.
Why did a profile return no items?
The page may be private, unavailable, rate-limited, or rendered differently.
Confirm that the URL opens publicly in a browser without logging in.
Related scrapers
Use other fetch_cat social and content scrapers when you need additional sources.
- YouTube Channel Videos Scraper — collect public videos from YouTube channels for cross-channel publishing analysis.
- YouTube Channel Details Scraper — enrich social reports with public YouTube channel metadata.
- Website Contact Finder — find public contact details for brands, creators, and publishers you discover from social monitoring.
Data export formats
Apify datasets can be exported as JSON.
Apify datasets can be exported as CSV.
Apify datasets can be exported as Excel.
Apify datasets can be exported as XML.
Apify datasets can be accessed through the Apify API.
Common workflows
Track posts from company accounts every morning.
Collect creator posts before campaign reporting.
Monitor competitor product announcements.
Archive public status URLs referenced in news or research.
Build a dashboard of recent public messaging.
Performance notes
Start with one or two profiles.
Increase limits after confirming output quality.
Keep scheduled runs focused on profiles you actually monitor.
Avoid repeatedly scraping pages that do not produce useful public data.
FAQ
Does this actor require my X login?
No. It works only with public pages.
Can it scrape private profiles?
No. Private or account-only content is not supported.
Can it scrape search results?
Not in this version. Use profile URLs and status URLs.
Can it collect old historical tweets?
The actor collects tweets visible on public pages at run time. Deep historical collection is not the v0.1 scope.
Can I schedule it?
Yes. Use Apify schedules to monitor public profiles periodically.
Changelog
Initial version supports public profile URLs, individual status URLs, tweet text, profile context, engagement counts when visible, media URLs, and reply filtering.