Twitter User Following Scraper avatar

Twitter User Following Scraper

Pricing

$19.99/month + usage

Go to Apify Store
Twitter User Following Scraper

Twitter User Following Scraper

Twitter User Following Scraper extracts accounts followed by Twitter/X users, including usernames, profile details, follower counts, bios, and other public data. Automate audience research, competitor analysis, influencer discovery, and social media lead generation.

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

ScraperX

ScraperX

Maintained by Community

Actor stats

0

Bookmarked

9

Total users

1

Monthly active users

10 days ago

Last modified

Share

Twitter User Following Scraper — Export Who Any X (Twitter) Account Follows

Find out exactly who an X (Twitter) account follows — and get the full profile of every one of them. Paste handles or profile URLs, set a cap, and the Actor returns each followed account with its display name, @handle, bio, location, website, follower and following counts, verification status, avatar, banner and join date.

Up to 10,000 following accounts per handle, in bulk, across as many source handles as you like.


What you get

👤 Identity📊 Audience metrics🔗 Profile details
Display name and @handleFollowers countBio / description
User IDFollowing countLocation
Profile URLStatuses (tweets) countWebsite URL
Avatar image URLMedia countAccount creation date
Banner image URLListed countBlue verification flag
Profile image shapeFavourites countVerification type
Source handle (whose list it came from)Normal / fast follower counts

Key features

  • Following lists at scale. Up to 10,000 followed accounts per source handle — enough to export the complete following list of almost any account.
  • Full profiles, not just handles. Every row is a complete profile: bio, location, website, follower counts and verification status. That means the export is immediately usable for research or outreach, with no enrichment step.
  • Bulk source handles. Feed in many accounts at once, mixing bare handles and full profile URLs. Each row records which source handle produced it, so a multi-account run stays perfectly attributable.
  • Verification detail, not just a badge. Both is_blue_verified and verified_type are returned, so you can distinguish paid blue from business and government verification.
  • Follower-quality signals. normal_followers_count and fast_followers_count alongside the headline number help you spot inflated audiences.
  • Smart networking. Runs with no proxy by default — fastest and simplest. If X throttles the session, the Actor steps up through datacenter and residential proxies with retries.
  • Live streaming output. Profiles land in the dataset as they are collected.

Use cases

  • Audience & interest research — what an account follows is one of the strongest available signals of what it cares about.
  • Influencer discovery — export what a leading account in your niche follows and you have a curated shortlist of adjacent voices.
  • Competitor analysis — see who a competitor's brand account follows: partners, customers, industry press.
  • Lead generation — following lists of niche accounts are dense with qualified prospects, complete with bios and websites.
  • Community mapping — build a graph of who follows whom across a set of accounts to identify the real hubs.
  • Recruitment sourcing — bios and locations make following lists a surprisingly good talent pool.
  • PR and media list building — the journalists and outlets an account follows are the ones it reads.
  • Market research — measure how many accounts in a niche are verified, where they are based, and how big they are.

How it works

  1. You supply source handles and your X session cookies.
  2. Each handle is resolved to a user ID and its following list is paged.
  3. Every followed account is normalised into a flat profile record.
  4. Your source handle is attached to each row for attribution.
  5. If X throttles the session, the Actor escalates through datacenter and residential proxies with retries.
  6. Rows stream into the dataset until your per-handle cap is reached.

Quick start

  1. Log in to x.com in your browser.
  2. Open DevTools → ApplicationCookieshttps://x.com.
  3. Copy the values of auth_token and ct0 into the Actor's fields.
  4. Add your source handles — e.g. jordanbpeterson — and set Max following users per handle.
  5. Click Start, then export the Output tab as CSV, Excel or JSON.

Minimal input

{
"startUrls": ["jordanbpeterson"],
"maxResults": 100,
"authToken": "<YOUR_AUTH_TOKEN_COOKIE>",
"ct0": "<YOUR_CT0_COOKIE>"
}

Input configuration

FieldTypeDefaultDescription
startUrlsarray— (required)Handles or profile URLs, one per line. jordanbpeterson, https://x.com/elonmusk and https://twitter.com/BillGates all work — mix styles freely.
maxResultsinteger10Maximum followed accounts to collect per handle, from 1 to 10,000.
authTokenstring— (required)The auth_token cookie from a logged-in x.com browser session.
ct0string— (required)The ct0 (CSRF) cookie from the same session. It also serves as the x-csrf-token header, so it must match auth_token.
proxyConfigurationobjectno proxyOff by default — fastest and simplest. Turn it on if X throttles you, and pick groups or a country.

⚠️ Cookies are credentials. auth_token grants access to that X account. Use a dedicated secondary account, never share the values, and be aware that automated activity can lead X to restrict an account.

♻️ Cookies rotate. If requests start failing, refresh both values from your browser — that fixes the large majority of failures.


Output data

One row per followed account.

FieldTypeDescription
idstringX user ID.
screen_namestring@handle.
namestringDisplay name.
profile_urlstringDirect link to the profile.
descriptionstringBio text.
locationstringSelf-reported location.
urlstringWebsite link from the profile.
followers_countnumberFollowers.
friends_countnumberAccounts they follow.
statuses_countnumberTotal posts.
media_countnumberPosts containing media.
favourites_countnumberLikes given.
listed_countnumberLists the account appears on.
normal_followers_countnumberFollowers excluding fast followers.
fast_followers_countnumberFast-follower count — a low-quality-audience signal.
is_blue_verifiedbooleanBlue verification.
verified_typestringVerification category (business, government…).
profile_image_url_httpsstringAvatar image URL.
profile_banner_urlstringBanner image URL.
profile_image_shapestringAvatar shape (circle, square).
created_atstringAccount creation date.
usernamestringSource handle — whose following list produced this row.

Example output

{
"id": "44196397",
"screen_name": "exampleaccount",
"name": "Example Account",
"profile_url": "https://x.com/exampleaccount",
"description": "Writing about behavioural science and decision making.",
"location": "Toronto, Canada",
"url": "https://example.com",
"followers_count": 284100,
"friends_count": 612,
"statuses_count": 18420,
"media_count": 1204,
"favourites_count": 9310,
"listed_count": 2140,
"normal_followers_count": 283900,
"fast_followers_count": 200,
"is_blue_verified": true,
"verified_type": null,
"profile_image_url_https": "https://pbs.twimg.com/profile_images/…",
"profile_banner_url": "https://pbs.twimg.com/profile_banners/…",
"created_at": "Tue Mar 21 20:50:14 +0000 2017",
"username": "jordanbpeterson"
}

Illustrative values — a live run returns current X data.


Usage examples

Full following list of one account

{
"startUrls": ["jordanbpeterson"],
"maxResults": 10000,
"authToken": "<YOUR_AUTH_TOKEN_COOKIE>",
"ct0": "<YOUR_CT0_COOKIE>"
}

Compare several accounts' interests

{
"startUrls": ["accountone", "accounttwo", "accountthree"],
"maxResults": 1000,
"authToken": "<YOUR_AUTH_TOKEN_COOKIE>",
"ct0": "<YOUR_CT0_COOKIE>"
}

Group the export by screen_name and count how many source handles follow each account — the overlaps are the hubs of that niche.

Build a qualified prospect list

Run against a niche authority account, then filter the export for rows where url is not empty and followers_count is above your threshold — those are established accounts with a website you can approach.

Spot inflated audiences

Compare fast_followers_count against followers_count. A high ratio is a warning sign when vetting influencers.


Run it from your own code

Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_API_TOKEN>")
run = client.actor("scraperx/twitter-user-following-scraper").call(run_input={
"startUrls": ["jordanbpeterson"],
"maxResults": 500,
"authToken": "<YOUR_AUTH_TOKEN_COOKIE>",
"ct0": "<YOUR_CT0_COOKIE>",
})
for u in client.dataset(run["defaultDatasetId"]).iterate_items():
print(u["screen_name"], u["followers_count"], "|", u.get("location"), "|", u.get("url"))

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_API_TOKEN>' });
const run = await client.actor('scraperx/twitter-user-following-scraper').call({
startUrls: ['jordanbpeterson'],
maxResults: 500,
authToken: '<YOUR_AUTH_TOKEN_COOKIE>',
ct0: '<YOUR_CT0_COOKIE>',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

cURL

curl -X POST "https://api.apify.com/v2/acts/scraperx~twitter-user-following-scraper/runs?token=<YOUR_APIFY_API_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"startUrls":["jordanbpeterson"],"maxResults":500,"authToken":"<YOUR_AUTH_TOKEN_COOKIE>","ct0":"<YOUR_CT0_COOKIE>"}'

Integrations

Send profiles into Google Sheets, Airtable, Slack, Make, Zapier, Google Drive or your CRM via webhooks, and use Schedules to track how a following list changes over time.


Pricing

Pricing for this Actor is shown on its Pricing tab on the Actor page, and Apify displays the applicable cost before you run it. Free Apify accounts include monthly platform credit that is enough to trial it.

If the run escalates to Apify Residential proxies, that traffic is billed separately by the platform according to your plan.


Limits & good to know

  • Both cookies are required, and they must come from the same logged-in session — ct0 doubles as the CSRF token and will be rejected if it does not match auth_token.
  • Cookies expire. Refreshing them from your browser resolves most sudden failures.
  • maxResults is per source handle, so three handles at 1,000 each can return up to 3,000 rows.
  • Maximum 10,000 following accounts per handle in a single run.
  • Public accounts only. Protected accounts do not expose their following lists.
  • X throttles heavy sessions. Pace large jobs, and enable Apify Proxy if you hit limits.
  • Image URLs point at X's CDN and can expire — download assets promptly if you need the files.
  • This Actor returns following lists (who an account follows). Follower lists are a separate job.
  • Default run options are 4 GB memory and a 1-hour timeout — raise the timeout for very large exports.

FAQ

Why do I need cookies? X requires an authenticated session to view following lists. The Actor uses your session exactly as your browser would.

Where do I find auth_token and ct0? Log in to x.com → DevTools → Application → Cookies → https://x.com → copy both values.

Is it safe to paste my cookies? They are used only to authenticate your run's requests. Still, treat them as credentials and prefer a dedicated secondary account — X can restrict accounts used for automation.

Can I scrape several accounts at once? Yes. Add all the handles; each row records its source handle in the username field.

Can I scrape followers instead of following? No — this Actor covers following lists. Follower lists require a different endpoint and a separate Actor.

Why did my run stop early or return errors? Usually expired cookies or X throttling. Refresh both cookie values, lower your cap, and enable Apify Proxy if needed.

Can it handle protected accounts? No. Only public accounts expose their following lists.

Which export formats are supported? JSON, CSV, Excel (XLSX), XML and RSS. CSV works well here — the rows are flat.


This Actor reads following lists that X displays to a logged-in user — it does not bypass protections or access private data. Handles, bios, locations and avatars are personal data: if you process them, ensure you have a lawful basis under GDPR and comparable regulations, honour opt-outs when doing outreach, and comply with X's Terms of Service. You are responsible for the account whose cookies you supply, including X's restrictions on automated access.

Support

Need follower lists, extra fields, or a custom X research pipeline? Open an issue on the Issues tab of this Actor.