X (Twitter) Profile Posts Scraper avatar

X (Twitter) Profile Posts Scraper

Pricing

from $0.30 / 1,000 result items

Go to Apify Store
X (Twitter) Profile Posts Scraper

X (Twitter) Profile Posts Scraper

Extract posts published by specified X (Twitter) profiles. Retrieve URLs, IDs, content, publication dates, text and engagement metrics. Ideal for social media monitoring solutions.

Pricing

from $0.30 / 1,000 result items

Rating

4.3

(8)

Developer

Scraper One

Scraper One

Maintained by Community

Actor stats

17

Bookmarked

3.2K

Total users

448

Monthly active users

0.59 hours

Issues response

2 hours ago

Last modified

Share

Apify Actor

This Apify Actor extracts posts from X (Twitter) profiles provided as input URLs. It retrieves post content, author data, timestamps, media, and engagement statistics. Perfect for social media monitoring, research, user tracking, and trend analysis solutions. πŸš€


🧩 Features

  • πŸ‘€ Scrape posts from multiple X (Twitter) profiles
  • πŸ”’ Set result limit per profile
  • πŸ“Έ Extract media, author info, post text, ids, timestamp and engagement stats

πŸ“₯ Input Parameters

ParameterTypeRequiredDescription
profileUrlsstring[]βœ…List of X profile URLs to extract posts from (e.g., https://x.com/elonmusk)
resultsLimitnumber❌Maximum number of posts to retrieve per profile. Default: 5
skipPinnedPostsboolean❌Skip scraping pinned posts. Default: false

βœ… Example Input

{
"profileUrls": [
"https://x.com/elonmusk"
],
"resultsLimit": 20
}

πŸ“€ Output Format

The scraper returns an array of post objects in JSON format with details such as text, author, and metrics.

Input URLs, errors and charges

Every successful result includes inputUrl, the exact original profileUrls entry, including when X redirects it. postUrl remains the post address and profileUrl remains the post author’s profile address; it may differ from the requested profile for reposts.

An invalid or unsupported input URL produces one row containing only inputUrl and error: "INVALID_URL". Confirmed unavailable content produces the same two-field row with error: "PAGE_UNAVAILABLE". Other URLs continue to be processed. Successful results have no error field. Empty results, temporary connection problems, login requirements and rate limits do not by themselves mean the content is unavailable.

Error rows are free: they do not trigger a result-item charge or count toward resultsLimit. Successful results retain normal result-item charges. The existing initialization charge still applies. Supported inputs are X/Twitter profile URLs such as https://x.com/username or https://x.com/@username, and community URLs such as https://x.com/i/communities/123.

Example Output

[
{
"inputUrl": "https://x.com/elonmusk",
"postText": "🦾πŸ”₯",
"postUrl": "https://x.com/elonmusk/status/1938336472253534273",
"profileUrl": "https://x.com/elonmusk",
"timestamp": 1750970402000,
"conversationId": "1938336472253534273",
"postId": "1938336472253534273",
"media": [],
"author": {
"name": "Elon Musk",
"screenName": "elonmusk",
"followersCount": 221266053,
"favouritesCount": 153129,
"friendsCount": 1146,
"description": "",
"profileImageUrl": "https://pbs.twimg.com/profile_images/1962489503274401794/y2LFZ-8e_normal.png"
},
"replyCount": 1558,
"quoteCount": 50,
"repostCount": 954,
"favouriteCount": 9609,
"viewCount": 125430
},
{
"inputUrl": "https://x.com/example_missing",
"error": "PAGE_UNAVAILABLE"
}
]

πŸš€ Usage

  1. Go to Apify Console and create a new task using this actor.
  2. Paste input in JSON or use form view.
  3. Run the actor and monitor results in the console.
  4. Download results as JSON, CSV, or Excel.

⚠️ Limitations & Notes

  • Works only with public X profiles.
  • Always ensure compliance with X (Twitter)'s Terms of Service.
  • Free users can process up to 5 profile URLs per run and retrieve up to 100 posts per profile URL.
  • Free users are rate-limited to a certain number of processed profile URLs per day.
  • For higher usage limits, upgrade to a paid Apify plan. Contact us if you need custom limits!

Works Best With

For best results, use this actor together with X Post Replies Scraper.

First, collect posts (tweets) from your selected profiles using X Profile Posts Scraper, then pass the postUrl values from selected results into X Post Replies Scraper's postUrls input to extract replies and enrich your dataset. βœ…

Best Use Case Flow

  • πŸ‘€ Run X Profile Posts Scraper β†’ Find posts from specific profiles
  • πŸ“₯ Feed postUrl values into X Post Replies Scraper's postUrls input β†’ Get replies for each selected post
  • πŸ“Š Gain insights β†’ Analyze engagement, sentiment, and conversation threads

This combination provides a powerful workflow for understanding discussions around specific profiles on X. πŸš€


Support & Contact

βœ‰οΈ Need help or want to suggest a feature? Open an issue or contact us at scraper1one@gmail.com.