X Followers & Following Scraper — No Login avatar

X Followers & Following Scraper — No Login

Pricing

from $0.08 / 1,000 profile scrapeds

Go to Apify Store
X Followers & Following Scraper — No Login

X Followers & Following Scraper — No Login

Export followers and following from public X (Twitter) profiles by username, @handle, profile URL, or user ID. No X login, cookies, or API key required. Get clean profile data for audience research, lead generation, and competitor analysis.

Pricing

from $0.08 / 1,000 profile scrapeds

Rating

0.0

(0)

Developer

Arjun AI

Arjun AI

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

4 hours ago

Last modified

Share

Export followers or following profiles from public X (Twitter) accounts without providing an X login, cookies, or API key. Enter a username, @handle, full profile URL, or numeric user ID, choose the relationship, and download clean profile records as JSON, CSV, Excel, XML, or RSS from the Apify Dataset.

What you can use it for

  • Analyze a competitor's public audience.
  • Build creator, researcher, or prospect lists.
  • Export accounts followed by an influencer or brand.
  • Enrich social graph data with bios, locations, websites, and audience counts.

Input

FieldDescriptionDefault
screenNamesUsernames, @handles, full x.com / twitter.com profile URLs, or numeric user IDs.https://x.com/elonmusk
userIdsOptional additional numeric X user IDs.Empty
relationshipTypefollowers or followings.followers
maxItemsPerUserMaximum profiles per source account. Use 0 to request all available results.100
includeRawUserInclude the original X API object as raw_user.false

Example input

{
"screenNames": [
"@elonmusk",
"https://x.com/OpenAI",
"44196397"
],
"relationshipType": "followers",
"maxItemsPerUser": 100,
"includeRawUser": false
}

Output

The default output is flat and ready for spreadsheets or databases:

{
"status": "success",
"source_user_id": "44196397",
"source_screen_name": "elonmusk",
"source_profile_url": "https://x.com/elonmusk",
"requested_identifier": "elonmusk",
"relationship_type": "followers",
"user_id": "1278722158970068993",
"screen_name": "example",
"profile_url": "https://x.com/example",
"name": "Example User",
"description": "Example bio",
"location": "San Francisco",
"created_at": "Thu Jul 02 12:00:00 +0000 2020",
"followers_count": 1250,
"friends_count": 340,
"listed_count": 8,
"favourites_count": 420,
"tweets_count": 815,
"media_count": 120,
"pinned_tweet_ids": ["1940000000000000000"],
"verified": false,
"protected": false,
"default_profile": false,
"geo_enabled": false,
"advertiser_account_type": "none",
"business_profile_state": "none",
"withheld_in_countries": [],
"website_url": "https://example.com",
"profile_image_url": "https://pbs.twimg.com/profile_images/example.jpg",
"profile_banner_url": "https://pbs.twimg.com/profile_banners/example",
"default_profile_image": false
}

Enable includeRawUser only when you need the complete original response. The Actor then adds a raw_user object to each successful record.

Missing or unavailable users

If a requested username or user ID does not exist or is unavailable, the Actor writes a clear error record and continues with the remaining profiles:

{
"status": "not_found",
"requested_identifier": "missing-user",
"relationship_type": "followers",
"error": "X user @missing-user was not found or is unavailable."
}

not_found is used only when X explicitly reports that the account does not exist or is unavailable.

Temporary request and response parsing failures use an uncharged error record. This makes partial failures visible when a run contains multiple source profiles:

{
"status": "error",
"requested_identifier": "example",
"relationship_type": "followers",
"error": "Request failed after 3 attempts: HTTP 403"
}

not_found and error records are written without the relationship-result charge. If every requested source fails with a technical error, the run also finishes with a failed status.

Pagination, retries, and costs

The Actor follows X cursors automatically and stores results page by page. Each run starts with a randomly selected credential. A temporary network, authorization, rate-limit, or server failure is retried at most two times, switching credentials between attempts. Successfully stored results remain available if a later page fails.

Each successful profile is charged as one relationship-result event. The Actor respects the run's maximum charge limit and stops before making additional requests after the limit is reached. Large exports can take longer and cost more, so the default is 100 profiles per source account.

Ready-to-run examples

Continue your X research workflow

GoalActor
Discover public accounts by keyword, profession, niche, or locationX (Twitter) People Search Scraper
Expand from a known profile through X's native Similar to recommendationsX (Twitter) Similar Accounts Finder — No Login
Export followers or accounts followed by one or more profilesX Followers & Following Scraper — No Login
Inspect account origin, signup source, and username-change historyX Twitter Account Origin Intelligence
Monitor profile, username, verification, and follower changes over timeX (Twitter) Profile & Username Change Monitor

A practical workflow is: discover accounts by keyword, expand each seed through native Similar to recommendations, export selected audiences, inspect origin signals, then monitor shortlisted profiles over time.

Privacy and limitations

The Actor works with public X relationship data. Private Actor credentials are not part of user input and are never written to the Dataset. Protected, suspended, or restricted accounts may return no relationship data. This unofficial Actor is not affiliated with or endorsed by X.

Use the data lawfully and follow X, Apify, and applicable privacy requirements.