X / Twitter Profile Posts Scraper
Pricing
$1.00 / 1,000 result item produceds
X / Twitter Profile Posts Scraper
Scrape posts from any public X (Twitter) profile: text, likes, reposts, replies, date and link. Filter by date, skip replies, no login needed. Export to CSV, Excel or JSON.
Pricing
$1.00 / 1,000 result item produceds
Rating
0.0
(0)
Developer
Automly
Maintained by CommunityActor stats
1
Bookmarked
31
Total users
2
Monthly active users
9 days ago
Last modified
Categories
Share
What is X / Twitter Profile Posts Scraper?
X / Twitter Profile Posts Scraper is a tool that lets you scrape posts from public X (Twitter) profiles: post text, likes, reposts, replies, publish date, author handle and name, and a direct link to each post. Add usernames or profile links, click Start, and download the posts as Excel, CSV or JSON.
- 👥 Many profiles in one run: add as many accounts as you like and get up to 5,000 posts per run
- 📅 Date filter: keep only posts published on or after a date you choose
- 💬 Skip replies: turn on Exclude replies to keep only the account's own posts and reposts
- 🔓 No login: no X account, cookies or API key needed
- 💸 Free to try: the $5 of free usage every Apify account gets each month covers about 5,000 posts
What can X / Twitter Profile Posts Scraper do?
- Scrape posts from any public X (Twitter) profile
- Download a Twitter account's posts to Excel, CSV or JSON
- Get likes, reposts and replies for every post
- Scrape posts from several X accounts at once
- Keep only X posts published after a date
- Start from a post link and get posts from the account that wrote it
- Track an account's new posts on a schedule
- Send results to Google Sheets, Make, Zapier, n8n, Slack and more
What data can you extract from X (Twitter) profile posts?
| 💬 Post text | ❤️ Number of likes | 🔁 Number of reposts |
| 💭 Number of replies | 📅 Publish date and time | 🔗 Link to the post |
| 🆔 Post ID | 👤 Author handle | 🏷️ Author display name |
How to scrape X (Twitter) profile posts
- Create a free Apify account (no credit card needed).
- Open X / Twitter Profile Posts Scraper.
- Add one or more @handles or profile links under Profiles or handles.
- Set Max posts and, if you want, a start date under Only posts since, then click Start.
- When the run finishes, download your posts as Excel, CSV, JSON, HTML or XML.
How much does it cost to scrape X (Twitter) profile posts?
X / Twitter Profile Posts Scraper costs $1.00 per 1,000 posts. You pay only for the posts you get, so 1,000 posts cost $1.00 and 250 posts cost $0.25.
Every Apify account gets $5 of free usage each month, which covers about 5,000 posts. Check the Pricing tab on this page for the current price.
⬇️ Input
Add accounts as @handles (like @nasa), plain usernames, profile links (like https://x.com/natgeo) or post links. For a post link, you get posts from the account that wrote that post.
| Setting | What it does |
|---|---|
| Profiles or handles | The accounts to get posts from: @handles, profile links or post links |
| Max posts | The most posts to get in total, across all the accounts you add (1 to 5,000, default 100) |
| Only posts since (date) | Skip posts published before this date (format YYYY-MM-DD). Leave empty for no date limit |
| Exclude replies | Leave out replies so you get only the account's own posts and reposts. Skipped replies are not charged |
Max posts is a total for the whole run, not a number per account. If you add 3 accounts and set it to 300, the run stops after 300 posts, starting with the first account in your list.
The remaining connection settings can stay as they are. The default works for most runs.
Example: up to 200 posts from two accounts, published since 1 September 2026.
{"startUrlsOrHandles": ["@Arsenal", "https://x.com/NatGeo"],"maxPosts": 200,"since": "2026-09-01"}
⬆️ Output
You get one row per post. You can view them as a table in Apify Console or download them as Excel, CSV, JSON, HTML or XML. Here is a real row:
{"postId": "2104224557812846824","authorHandle": "Arsenal","authorName": "Arsenal","text": "The captain's contagious attitude 👊\n\nStream Modern Leader 📺","likeCount": 5614,"repostCount": 480,"replyCount": 55,"createdAt": "2026-09-27T15:00:03+00:00","url": "https://x.com/Arsenal/status/2104224557812846824"}
createdAt is the publish time in UTC, and url opens the post on X. Each post appears only once in a run, even if it shows up more than once on the profile.
How can I use X (Twitter) profile posts data?
- Social media reporting: export a brand's posts with likes, reposts and replies into a spreadsheet for weekly or monthly reports
- Competitor research: see what your competitors post, how often, and which posts get the most engagement
- Content ideas: find the posts that perform best for accounts in your niche and learn from them
- Influencer vetting: check how much real engagement a creator's posts get before you work with them
- News and brand monitoring: collect what official accounts, newsrooms or public figures post, ready for alerts or analysis
- Research and AI datasets: build post datasets for sentiment, topic or trend analysis
How to track new posts from an X account
- Add the accounts you want to follow under Profiles or handles.
- Set Only posts since to the date you want to start from.
- Schedule the actor to run every day or every week, and move the date forward as you go.
Each run saves a fresh dataset that you can send to Slack, email or a spreadsheet with an integration. Posts are not de-duplicated between runs, so if two runs cover the same days, you will get those posts twice. Use postId to remove repeats.
Use it from your own code
You can start the scraper from your own code with the Apify API or the Python and JavaScript clients:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("automly/x-twitter-list-replies-scraper").call(run_input={"startUrlsOrHandles": ["@Arsenal", "@NatGeo"],"maxPosts": 100,})for post in client.dataset(run["defaultDatasetId"]).iterate_items():print(post["authorHandle"], post["likeCount"], post["text"])
Scrape more X (Twitter) data
| Actor | What it does |
|---|---|
| X (Twitter) Scraper - Profile Tweets | Tweets with views, quotes and media, plus the account's profile details |
| X (Twitter) Tweet Scraper | Tweets by link or ID |
| X (Twitter) Profile Scraper - Users & Followers | Profile details for many accounts at once |
❓FAQ
How much does it cost to scrape X (Twitter) posts?
$1.00 per 1,000 posts, and you pay only for the posts you get. Every Apify account gets $5 of free usage each month, which covers about 5,000 posts. See the cost section above and the Pricing tab for details.
How many posts can I get per run?
Up to 5,000 posts per run, counted across all the accounts you add. Set Max posts to the number you need. If you need more, split your accounts over several runs.
Does it include reposts?
Yes. Reposts show up as rows too. Their text starts with RT @ followed by the original author's handle, so you can filter them out in a spreadsheet if you only want original posts.
Are posts sorted newest first?
You get posts in the order X shows them on the profile. For most active accounts that is newest first. For some accounts, X shows popular older posts mixed in with recent ones, so sort by createdAt if you need strict date order.
Do I need an X (Twitter) account or API key?
No. You don't need an X account, cookies or an X API key. You only need a free Apify account.
Can I scrape posts from private or protected accounts?
No. Only public profiles can be scraped. Protected accounts and handles that don't exist give no posts, and the run moves on to the next account in your list.
Can I get views, quotes, photos or videos?
Not with this scraper. It gives you the post text, likes, reposts, replies, date, author and link. For views, quotes and media links, use X (Twitter) Scraper - Profile Tweets.
Can I connect X / Twitter Profile Posts Scraper to other tools or AI agents?
Yes. Start runs and download results with the Apify API or the Python and JavaScript clients, send results to Make, Zapier, n8n, Google Sheets or Slack with Apify integrations and webhooks, or let AI assistants and agents run it through the Apify MCP server at mcp.apify.com.
Is it legal to scrape X (Twitter)?
This scraper only collects posts that people chose to publish on public profiles. It does not collect private data such as email addresses or phone numbers. Posts can still contain personal data, which may be protected by laws such as GDPR, so only scrape it for a legitimate reason and ask a lawyer if you are unsure. You can read more in Is web scraping legal?
X / Twitter Profile Posts Scraper is an independent tool. It is not affiliated with, endorsed by or sponsored by X Corp. or Twitter.
Something isn't working. What should I do?
Open the Issues tab and tell us which accounts you added and what you expected to get. We'll take a look.
⭐ Your feedback
Ideas, missing fields or problems: open the Issues tab and we'll take a look. If X / Twitter Profile Posts Scraper saved you time, a short review on the Reviews tab helps other people find it.