X Profile Tweets Scraper avatar

X Profile Tweets Scraper

Pricing

from $0.03 / 1,000 result extracteds

Go to Apify Store
X Profile Tweets Scraper

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

Hanna Nosova

Maintained by Community

Actor 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?

FieldDescription
profileUrlPublic X profile URL used as source
usernameX username / handle
displayNameVisible display name
tweetIdNumeric tweet/status ID
tweetUrlDirect tweet URL
textTweet text
createdAtVisible date label
replyCountReply count when visible
repostCountRepost count when visible
likeCountLike count when visible
viewCountView count when visible
mediaUrlsPublic media image URLs
isReplyWhether the post appears to be a reply
scrapedAtISO 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

  1. Open the actor on Apify.

  2. Add one or more public X profile URLs.

  3. Optionally add individual status URLs.

  4. Choose the maximum tweets per profile.

  5. Decide whether replies should be included.

  6. Run the actor.

  7. 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 ApifyClient
client = 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.

Use other fetch_cat social and content scrapers when you need additional sources.

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.