X Followers Scraper

Export visible X followers and following rows with public profile details, source provenance, and bounded per-profile limits.

Data fields

FieldTypeDescription
sourceInputstringValue exported as sourceInput.
sourceHandlestringValue exported as sourceHandle.
sourceUserIdstring | nullValue exported as sourceUserId.
sourceProfileUrlstringValue exported as sourceProfileUrl.
edgeTypestringValue exported as edgeType.
relatedUserIdstringValue exported as relatedUserId.
relatedHandlestringValue exported as relatedHandle.
relatedNamestringValue exported as relatedName.

Input preview

handlesX handles
profileUrlsProfile URLs
modeRelationship to export
maxItemsMaximum rows per profile and relationship
includeProfileDetailsInclude visible profile details
failOnBlockedFail when X blocks a target

API and agents

This actor can be run through Apify API, datasets, webhooks, schedules, and the official Apify MCP server.

Ready-to-run examples

Open a saved Apify example, adjust the input, and run the actor in your own Apify account.

View all examples

How this actor works

See example inputs, outputs, API usage, and practical limits before running this actor on Apify.

Open Apify page

Export visible public X follower and following relationships as clean, analysis-ready profile rows. This Twitter followers scraper helps creator marketers, social-listening teams, researchers, and lead-generation teams compare audiences, monitor growth, and discover public prospects.

What you get

Each dataset row represents one visible relationship between a requested X profile and a follower or account it follows. Use the stable profile IDs and URLs to join exports over time or compare several audiences.

  • Export followers, following, or both for each profile.
  • Submit X handles or public x.com / twitter.com profile URLs.
  • Keep source-profile provenance on every row.
  • Get conservative public-bio email extraction when an address is explicitly present.
  • Preserve rows already collected if another requested profile is restricted.

Input recipe

{
  "handles": ["NASA"],
  "mode": "followers",
  "maxItems": 20,
  "includeProfileDetails": true
}

Input recipes

Use these low-volume recipes to validate a public target before increasing the limit.

Example inputs

Compare a creator audience

{
  "handles": ["NASA", "NatGeo"],
  "mode": "followers",
  "maxItems": 50
}

Export Twitter following data from a profile URL

{
  "profileUrls": ["https://x.com/github"],
  "mode": "following",
  "maxItems": 100,
  "includeProfileDetails": true
}

Input settings

Input Purpose
handles One or more X handles, with or without @.
profileUrls One or more public X or Twitter profile URLs.
mode Choose followers, following, or both.
maxItems Maximum visible rows per selected profile and relationship, from 1 to 500.
includeProfileDetails Include visible public biography, counts, and profile metadata.
failOnBlocked Fail the run if a requested relationship is inaccessible; otherwise retain other successful rows.

Who is it for?

  • Audience-overlap analysis: export follower lists for public accounts and compare normalized profile IDs.
  • Creator and influencer research: identify public accounts following relevant creators or brands.
  • Social listening: collect a repeatable Twitter following scraper export for periodic change analysis.
  • Prospect discovery: filter public profile fields such as bio, website, location, and public contact details.

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-followers-scraper').call({
  handles: ['NASA'],
  mode: 'followers',
  maxItems: 20,
});
console.log(run.defaultDatasetId);

Python:

from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("fetch_cat/x-followers-scraper").call(run_input={
    "handles": ["NASA"], "mode": "followers", "maxItems": 20
})
print(run["defaultDatasetId"])

cURL:

curl -X POST "https://api.apify.com/v2/acts/fetch_cat~x-followers-scraper/runs?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"handles":["NASA"],"mode":"followers","maxItems":20}'

Retrieve the default dataset from the completed run to download JSON, CSV, or Excel output.

MCP and AI agents

Use Apify MCP to run this X follower data API from an AI agent.

claude mcp add --transport http apify "https://mcp.apify.com?tools=fetch_cat/x-followers-scraper"
{ "mcpServers": { "apify": { "url": "https://mcp.apify.com?tools=fetch_cat/x-followers-scraper" } } }

Example prompt: "Export up to 20 visible followers for NASA and summarize the public bio and audience fields."

Tips and limits

  • Start with a small maxItems to validate the target and relationship.
  • Only data visible through X's public web experience for the configured managed session can be exported.
  • Private accounts, DMs, engagement automation, customer-supplied cookies, and paid/private X data are out of scope.
  • X may restrict a target or change public visibility. When possible, successful rows for other targets are preserved and the run summary identifies restricted work.

Support

Open an issue on the Actor page with the profile URL, relationship mode, a sanitized run link, and the expected public result. Do not include cookies or other credentials.

Common questions

Questions and answers reused from the canonical actor README.

What data can I export with twitter followers scraper?

You can export visible public followers or following rows with stable identity, profile URLs, public profile text, selected counts, verification state, and source provenance. Optional public fields can be absent on an individual profile and are returned as null rather than guessed.

Can I run X Followers Scraper through an API, schedule, or MCP client?

Yes. Use the Apify API example above, schedule the Actor from Apify, or call it through the configured Apify MCP tool. All three use the same handle/profile-URL inputs and produce the same dataset shape.

How much does it cost to use X Followers Scraper?

The start fee and per-result prices are displayed on the Actor Pricing tab. Your total depends on the number of visible rows exported, so use maxItems to keep each run within your intended budget.

Can I export private followers or bring my own X cookie?

No. The Actor exports only public-web-visible rows using an operator-managed session. It does not accept customer cookies and cannot access private-account membership or DMs.

What happens when one profile is blocked or unavailable?

By default, the Actor preserves successful output from other targets and records the restricted profile in its run summary. Set failOnBlocked when your workflow needs the run to fail instead.