X.com Posts Scraper avatar

X.com Posts Scraper

Pricing

from $8.00 / 1,000 results

Go to Apify Store
X.com Posts Scraper

X.com Posts Scraper

Scrapes X.com posts from user profiles, direct tweet URLs, or keyword-filtered timelines and returns each post as a flat row with full text, engagement counts, and optional cross-platform enrichment.

Pricing

from $8.00 / 1,000 results

Rating

5.0

(3)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

16

Bookmarked

901

Total users

55

Monthly active users

11 hours

Issues response

8 days ago

Last modified

Share

ParseForge

X.com Posts Scraper

Scrape X.com posts from any user profile, tweet URL, or keyword search, up to a million per run. Every post comes with its full text, metrics, timestamp, and optional cross-platform enrichment. No API key required. Export to CSV, JSON, Excel, or XML.

X.com's official API requires a developer account, project approval, and strict rate limits that throttle your data collection. This actor reads the public web interface directly, pulling posts by username, keyword, or direct URL, and returns each match in one consistent schema. You control the volume, the filters, and the output format without writing a single line of code.

Who uses itWhat they scrape X.com for
Market researchersTrack what a set of influential accounts are saying about a product category this month.
PR and comms teamsMonitor executive or brand account posts for sentiment and narrative shifts.
Data journalistsCollect a corpus of posts around a breaking event from known sources.
Growth marketersAnalyze competitor posting cadence and top-performing content by engagement.

What it does

This Actor collects X.com posts from user profiles, direct tweet URLs, or keyword-filtered user timelines, and returns each one as a flat row with full text, engagement counts, and optional enrichment data.

  • 🔗 Direct URLs: feed it tweet or profile URLs and it pulls every matching post, oldest first.
  • 🔍 Keyword search on usernames: list one or more usernames and an optional search term to filter their timelines.
  • Cross-platform enrichment: toggle on to attach Google Trends momentum, YouTube interest, or Apollo.io company profiles to each post.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with X.com data

📊 Monitor brand or executive accounts.

A comms team lists five executive usernames, sets maxItems to 5000, and exports a CSV of every post this quarter to audit messaging consistency.

🔎 Research a topic across known voices.

A market researcher enters ten fintech founder usernames and the search term 'regulation', then pulls every matching post to map the debate.

📰 Collect posts around a breaking event.

A journalist feeds the actor a list of tweet URLs from a news thread and exports the full text and timestamps for a timeline reconstruction.

📈 Benchmark competitor content performance.

A growth marketer scrapes a competitor's profile, sorts by engagement in a spreadsheet, and identifies the three post formats that drove the most replies.

Why choose this scraper

What you get
No API key or approvalScrapes the public web interface. No developer account, no OAuth, no rate-limit headaches.
Up to 1,000,000 posts per runSet your volume once and let the actor handle pagination and retries.
Optional enrichmentAttach Google Trends, YouTube, or Apollo.io company data to every row, on demand.
Fixed flat schemaEvery post arrives with the same columns, ready for pivot tables, BI tools, or a database.

Configure the run

Drive the Actor from direct tweet or profile URLs, or from a combination of usernames and an optional search keyword. Filters apply as each post is read so only matches land in your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
"maxItems": 10,
"usernames": [
"elonmusk"
]
}

A larger pull:

{
"maxItems": 200,
"usernames": [
"elonmusk"
]
}

Pricing

Pay-per-result: $0.085 per result collected. You pay only for the results written to your dataset.

Results collectedApproximate cost
100 results$8.50
1,000 results$85.00
10,000 results$850.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the X.com Posts Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to X.com through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/x-com-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that you are not mixing startUrls with search filters. They are mutually exclusive. Also verify that the usernames you entered exist and that your searchQuery, if used, matches posts on their timelines.

The actor stops before reaching my maxItems limit.

The actor stops when it runs out of matching posts. If you are filtering by keyword, try broadening or removing the searchQuery. If you are using direct URLs, confirm the tweets still exist and are public.

I get an error about enrichment failing.

Make sure you have selected a valid enrichment connector and that the associated MCP server is reachable. If you are using the override fields for proxy URL or token, clear them and try again with the defaults.

The dataset has fewer columns than I expected.

Enrichment columns appear only when enrichOutput is toggled on and a connector is selected. If enrichment is off, you get the core post fields only.

Some posts are missing engagement metrics.

The actor extracts whatever metrics are visible on the public page. Posts that failed to load or were deleted mid-scrape may have incomplete data. Re-run with a smaller maxItems value to reduce the chance of timeouts.

FAQ

QuestionAnswer
Do I need an X.com API key or login?No. The actor reads the public web interface, so no developer account, API key, or authentication is required.
Can I search all of X.com for a keyword without specifying usernames?No. Standalone keyword search across the entire platform is not supported. You must provide at least one username when using the searchQuery field. The search term filters that user's timeline.
What is the difference between startUrls and the search filters?startUrls accepts direct tweet or profile URLs and scrapes them as-is. The search filters (usernames plus an optional searchQuery) pull a user's timeline and optionally filter it by keyword. The two input methods are mutually exclusive.
How many posts can I collect in one run?You can set maxItems anywhere from 1 to 1,000,000. The actor stops when it hits your limit or exhausts the available posts.
What does the enrichment feature do?When toggled on, it attaches cross-platform context to each post. Depending on the connector you pick, you get Google Trends momentum and YouTube interest for the topic, or Apollo.io company profile data for the post author.
Does enrichment cost extra?Enrichment is off by default and costs nothing when disabled. When you enable it, you pay only for the enrichment calls you consume.
What export formats are supported?You can export your dataset as CSV, JSON, Excel, or XML directly from the Apify platform.
Can I scrape replies to a specific tweet?The actor collects the posts that match your input URLs or search criteria. It does not recursively fetch reply threads. For a full conversation tree, feed it the individual tweet URLs you need.
Is this legal?The actor accesses publicly available web pages. You are responsible for complying with X.com's terms of service and applicable laws in your jurisdiction.
How do I scrape a private account?The actor reads the public web interface only. Private or protected accounts are not accessible.

Browse the full ParseForge collection for more scrapers.

🆘 Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by X Corp. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.