sfoln/x-following · Social media, Lead generation, Automation On request
Export the accounts any public X (Twitter) user follows, most recent first, as flat profiles: handle, name, bio, location, website, follower and following counts and join date. $0.30 per 1,000 accounts + $0.002 per page of up to 200. Up to 5,000 per account.
Twitter Following Scraper (X) exports the accounts any public X (Twitter) user follows, most recently followed first, as clean, flat profile records: handle, name, bio with expanded links, location, website, follower / following / post counts, avatar, account creation date and automated-account label. Use it to map interests and influence networks, discover sources a competitor or journalist relies on, build prospect lists, or enrich social-graph datasets.
Price
Price per delivered record
Event
Price
Per 1,000
Charged for
X followed account profile x-following-profile
$0.0003
$0.30 / 1,000
Charged once per followed-account profile delivered.
Following page x-following-query
$0.002
$2 / 1,000
Charged once per upstream page of up to 200 followed accounts, including the last page and empty pages; covers the provider's per-call minimum.
Apify free plan: up to 10 items per run. Paid plans have no per-run cap; set maxTotalChargeUsd to cap spend.
Run
Call it from code, an agent or the Console
This API is private on Apify for now. Email us and we will publish it for you, usually within two working days. The calls below work once it is public. contact@sfoln.com
POST https://api.apify.com/v2/actors/sfoln~x-following/runs?maxTotalChargeUsd=1
GET https://api.apify.com/v2/actor-runs/{runId} # until status is SUCCEEDED
GET https://api.apify.com/v2/datasets/{defaultDatasetId}/items?format=json
Authenticate with an Apify API token. MCP clients can instead sign in with OAuth when prompted. Example prompt for an agent: List the accounts that @apify follows on X and group them by what they do, based on their bios.
Input
Input fields
Paste X (Twitter) handles. The Actor returns the accounts they follow (most recent first), one dataset record per followed account, plus one summary record per input account.
Field
Type
Default
Meaning
handles *
array
required
Handles or profile URLs X handles (with or without @) or profile URLs, one per line. Duplicates are removed. Accounts on the Apify free plan can process up to 10 accounts per run.
maxFollowingPerUser
integer
200
Max followed accounts per input account How many of the most recently followed accounts to return per input account (1–5000). Range 1–5000.
maxItems
integer
1000
Max accounts Safety cap on the number of accounts processed in this run. Accounts beyond it are not processed or charged; their number is reported in the run's status message and OUTPUT (inputItemsDropped). Range 1–10000.
concurrency
integer
3
Concurrency Accounts processed in parallel (1–5). Range 1–5.
itemTimeoutSecs
integer
300
Per-account time limit (seconds) Stop paginating an account after this long; rows already delivered are kept. Range 30–1800.
includeRaw
boolean
false
Include raw upstream response Attach the unmodified TwitterAPI.io user object to each record under `raw`.
Records land in the run's dataset; a synchronous call returns them directly. Each has a status (ok is charged; everything else is free) and a charged flag. The run's OUTPUT record totals items and charges.
Field
Type
Meaning
input
string | object
Input The input item this record corresponds to.
status
string
Status ok | not_found | error | skipped_invalid | skipped_budget | skipped_free_plan (result rows are always ok) e.g. "ok"
charged
boolean
Charged Whether this record incurred a pay-per-event charge.
chargedEvent
string
Charged event Pay-per-event event charged for this record.
source
string
Source Upstream data source (twitterapi = TwitterAPI.io).
fetchedAt
string
Fetched at ISO timestamp.
error
object
Error code / message when status is not ok.
warnings
array
Warnings Non-fatal notes (e.g. stopped early).
recordType
string
Row type following (one per profile, charged) | account-summary (one per input account, free).
ofHandle
string | null
Of account The input account whose followings this row lists.
position
integer | null
Position 1 = most recent following (newest first).
handle
string | null
Handle X handle without @. e.g. "NASA"
userId
string | null
User id Numeric X user id as a string.
name
string | null
Name Display name.
bio
string | null
Bio Profile description with t.co links expanded.
location
string | null
Location Free-text profile location.
url
string | null
Website Website link from the profile (expanded).
profileUrl
string | null
Profile URL https://x.com/<handle>.
followers
integer | null
Followers Follower count.
following
integer | null
Following Accounts followed.
tweets
integer | null
Posts Total posts incl. replies and reposts (statusesCount).
likes
integer | null
Likes given Posts this account has liked (favouritesCount).
mediaCount
integer | null
Media Media posts.
isBlueVerified
boolean | null
Blue verified Has a blue check (null when the endpoint does not report it).
verifiedType
string | null
Verified type Business / Government / null.
profileImageUrl
string | null
Avatar Profile image URL.
coverImageUrl
string | null
Banner Banner image URL.
createdAt
string | null
Created at ISO 8601 account creation time.
isAutomated
boolean | null
Automated Labelled as an automated account.
automatedBy
string | null
Automated by Handle of the operator of an automated account.
canDm
boolean | null
Can DM Accepts direct messages.
possiblySensitive
boolean | null
Possibly sensitive Marked as possibly sensitive.
withheldInCountries
array
Withheld in Country codes where the account is withheld.
pinnedTweetIds
array
Pinned post ids Ids of pinned posts.
unavailable
boolean | null
Unavailable Account is suspended / deactivated / unavailable.
unavailableReason
string | null
Unavailable reason e.g. suspended.
unavailableMessage
string | null
Unavailable message Upstream message for unavailable accounts.
followingsReturned
integer | null
Rows returned followings delivered for this account (summary rows).
pageFeesCharged
integer | null
Page fees charged Per-page events charged for this account (summary rows).
pageFeeEvent
string | null
Page fee event Event name of the per-page fee (summary rows).