๐Ÿฆ Twitter (X) User Scraper avatar

๐Ÿฆ Twitter (X) User Scraper

Pricing

from $3.99 / 1,000 results

Go to Apify Store
๐Ÿฆ Twitter (X) User Scraper

๐Ÿฆ Twitter (X) User Scraper

Scrape Twitter / X user profiles, followers, following and retweeter networks โ€” fast, no login, no API key.

Pricing

from $3.99 / 1,000 results

Rating

0.0

(0)

Developer

Scrapium

Scrapium

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

4 days ago

Last modified

Share

Scrape public Twitter / X user profiles, followers, following counts and retweeter networks at scale โ€” no login or API key required. Powered by the Apify platform with built-in auto proxy escalation, live result streaming and a smart fallback strategy for blocked requests.

โšก Get clean, structured user data straight from x.com โ€” verified status, follower/following counts, bio, location, account age, profile pictures, banners, professional badges, and an enriched about payload.


โœจ Why this actor

Other scrapers๐Ÿฆ This actor
Login requiredOftenโŒ Never (optional)
Block handlingManualโœ… Auto direct โ†’ datacenter โ†’ residential
Live resultsโŒ End-of-run onlyโœ… Streamed per-user
PricingSubscription๐Ÿ’ธ Pay-per-event
OutputsSingle dataset๐Ÿ“ฆ Dataset + per-section KVS files

๐Ÿš€ Key features

  • ๐Ÿ”— Bulk URLs โ€” paste a list of profile URLs or plain usernames.
  • ๐ŸŒ No-proxy by default โ€” automatically escalates to Apify DATACENTER then RESIDENTIAL proxies (with 3 retries) only when X blocks the connection.
  • ๐Ÿ“ก Live streaming โ€” every captured user is pushed to the dataset immediately, so a crash mid-run never wipes your progress.
  • ๐Ÿชช Rich profile mode โ€” toggle ๐Ÿชช Include rich 'about' profile to fetch verification info, profile image shape, account creation source, etc.
  • ๐Ÿ‘ป Unavailable users โ€” optionally surface suspended / protected accounts.
  • ๐Ÿ“š Per-section output โ€” each input URL writes its own grouped JSON file to the runโ€™s key-value store, plus a combined OUTPUT key.

๐Ÿ“ฅ Input

FieldTypeDefaultDescription
๐Ÿ”— startUrlsarrayโ€“Profile URLs or @usernames. Bulk supported.
๐Ÿ” getRetweetersbooltrueCapture retweeters / related users from the timeline.
๐Ÿ‘ฅ getFollowersbooltrueInclude follower count on each record.
๐Ÿค getFollowingbooltrueInclude friends (following) count.
๐Ÿชช getAboutbooltrueEnrich with verification / account metadata.
๐Ÿ‘ป includeUnavailableUsersboolfalseSurface suspended / protected accounts.
๐ŸŽฏ maxItemsint100Cap users collected per source URL.
โฑ๏ธ requestDelaynumber1.0Float seconds between pagination requests.
๐Ÿ” authTokenstring (secret)โ€“Optional X auth_token cookie.
๐Ÿ›ก๏ธ csrfTokenstring (secret)โ€“Optional X ct0 cookie.
๐ŸŒ proxyConfigurationobjectdirectDefaults to no proxy. Overrides auto-escalation.

Example input

{
"startUrls": [
"https://twitter.com/elonmusk",
"https://x.com/openai"
],
"getRetweeters": true,
"getFollowers": true,
"getFollowing": true,
"getAbout": true,
"includeUnavailableUsers": false,
"maxItems": 100,
"requestDelay": 1.0,
"proxyConfiguration": { "useApifyProxy": false }
}

๐Ÿ“ค Output

Each record is pushed live to the default dataset.

{
"inputSource": "https://twitter.com/elonmusk",
"type": "user",
"userName": "elonmusk",
"url": "https://x.com/elonmusk",
"twitterUrl": "https://twitter.com/elonmusk",
"id": "44196397",
"name": "Elon Musk",
"isVerified": true,
"hasNftAvatar": false,
"profilePicture": "https://pbs.twimg.com/profile_images/.../m8mdWZCG_normal.jpg",
"coverPicture": "https://pbs.twimg.com/profile_banners/44196397/1774145451",
"description": "https://t.co/dDtDyVssfm",
"location": "",
"followers": 239969983,
"following": 1332,
"protected": false,
"createdAt": "Tue Jun 02 20:12:29 +0000 2009",
"statusesCount": 102639,
"mediaCount": 4489,
"favouritesCount": 227779,
"listedCount": 169028,
"about": {
"accountBasedIn": "",
"locationAccurate": false,
"profileImageShape": "Circle",
"avatarUrl": "https://pbs.twimg.com/profile_images/.../m8mdWZCG_normal.jpg",
"usernameChangeCount": "0",
"accountCreatedAt": "Tue Jun 02 20:12:29 +0000 2009",
"accountSource": "",
"verifiedSince": "-156836000000000"
}
}

The run also writes a per-section JSON to the key-value store (source_01_elonmusk.json, source_02_openai.json, โ€ฆ) and a combined OUTPUT.json that mirrors the legacy grouped-by-name format.


๐Ÿš€ How to use (Apify Console)

  1. Log in at https://console.apify.com โ†’ Actors.
  2. Open ๐Ÿฆ Twitter (X) User Scraper.
  3. Paste your profile URLs into ๐Ÿ”— Profile URLs.
  4. Pick which networks / fields you want (๐Ÿ”, ๐Ÿ‘ฅ, ๐Ÿค, ๐Ÿชช).
  5. (Optional) Drop in an authToken + csrfToken for tougher targets.
  6. Hit Start.
  7. Watch the live log โ€” it will tick ๐Ÿ“ฅ @username โ€” N followers per user.
  8. Open the Dataset or Key-value store tab when the run completes.
  9. Export to JSON / CSV / XLSX.

๐Ÿค– Use via API

curl -X POST "https://api.apify.com/v2/acts/<ACTOR_ID>/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"startUrls": ["https://twitter.com/elonmusk"],
"maxItems": 50
}'

๐ŸŽฏ Best use cases

  • ๐Ÿง  Audience research โ€” analyze who is engaging with a brand or person.
  • ๐Ÿ“ˆ Influencer discovery โ€” find creators by exploring a competitor's retweeter / quoter graph.
  • ๐Ÿท๏ธ Lead generation โ€” extract bios and external links from prospects.
  • ๐Ÿ›ก๏ธ Brand safety โ€” monitor verified status changes on managed accounts.

๐Ÿ’ธ Pricing

This actor uses Apify's pay-per-event (PPE) model:

EventWhen it fires
apify-actor-startOnce at run start (synthetic; Apify covers the first 5s).
row_resultOne charge per user record written to the default dataset.
  • No data โ†’ no charge. If a source fails or returns nothing, no row_result events are emitted, so you are not billed for empty runs.
  • Skipped unavailable users and the per-section KVS mirror copies are not chargeable events โ€” only successful default-dataset writes are.
  • When your spend cap (ACTOR_MAX_TOTAL_CHARGE_USD) is reached, the actor stops pushing further items and exits cleanly โ€” never with a failed-run.

Configure the row_result event's USD price (and any tiered discounts) in Apify Console โ†’ Actor โ†’ Publication โ†’ Monetization.


โ“ FAQ

Do I need an X account? No. The actor runs in guest mode out of the box. You can paste an auth_token + ct0 for harder cases โ€” both stay encrypted in Apify Secrets.

Why does the first run take a few seconds? The actor warms up by fetching the X web client bundle so it can stay in sync with the latest GraphQL schema. After that, throughput is steady.

How do you handle rate limits? On a block we escalate proxies (direct โ†’ datacenter โ†’ residential) and rotate residential IPs up to three times before failing the source.

Will protected / suspended accounts appear? Only if you enable ๐Ÿ‘ป includeUnavailableUsers. They are tagged with isUnavailable: true and an unavailableReason.


๐Ÿ›Ÿ Support & feedback

  • ๐Ÿž Issues โ€” open a ticket on the Apify Store actor page.
  • ๐Ÿ’ฌ Questions / feature requests โ€” ping the maintainer via Apify chat.

Data is collected only from publicly available profile information. End users are responsible for compliance with applicable laws (GDPR, CCPA), the X Terms of Service and robots.txt.


Built with โค๏ธ for the Apify platform.