{"name":"x-following","id":"sfoln/x-following","title":"Twitter Following Scraper (X)","description":"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.","version":"0.1","status":"ready","family":{"id":"social-media-data","name":"Social media data","description":"Profiles, posts, comments, followers and account audits from X, Instagram, TikTok, YouTube, Reddit, Threads, LinkedIn, Facebook, Bluesky, Telegram, Hacker News and Substack.","actors":31},"categories":["SOCIAL_MEDIA","LEAD_GENERATION","AUTOMATION"],"availability":"on_request","seoTitle":"Twitter Following Scraper API – $0.30 per 1,000 accounts","seoDescription":"Twitter (X) following scraper API: export the accounts any public user follows with bio, location and follower counts to JSON or CSV. $0.30 per 1,000.","summary":"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.","pricing":{"model":"pay-per-event","currency":"USD","billedBy":"Apify","freePlanMaxItemsPerRun":10,"events":[{"name":"x-following-profile","title":"X followed account profile","description":"Charged once per followed-account profile delivered.","priceUsd":0.0003},{"name":"x-following-query","title":"Following page","description":"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.","priceUsd":0.002}]},"input":{"description":"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.","required":["handles"],"fields":[{"name":"handles","title":"Handles or profile URLs","type":"array","required":true,"description":"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.","prefill":["apify"],"editor":"stringList"},{"name":"maxFollowingPerUser","title":"Max followed accounts per input account","type":"integer","required":false,"description":"How many of the most recently followed accounts to return per input account (1–5000).","default":200,"prefill":20,"minimum":1,"maximum":5000},{"name":"maxItems","title":"Max accounts","type":"integer","required":false,"description":"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).","default":1000,"minimum":1,"maximum":10000},{"name":"concurrency","title":"Concurrency","type":"integer","required":false,"description":"Accounts processed in parallel (1–5).","default":3,"minimum":1,"maximum":5},{"name":"itemTimeoutSecs","title":"Per-account time limit (seconds)","type":"integer","required":false,"description":"Stop paginating an account after this long; rows already delivered are kept.","default":300,"minimum":30,"maximum":1800},{"name":"includeRaw","title":"Include raw upstream response","type":"boolean","required":false,"description":"Attach the unmodified TwitterAPI.io user object to each record under `raw`.","default":false}]},"exampleInput":{"handles":["apify"],"maxFollowingPerUser":20},"outputFields":[{"name":"input","type":"string | object","title":"Input","description":"The input item this record corresponds to."},{"name":"status","type":"string","title":"Status","description":"ok | not_found | error | skipped_invalid | skipped_budget | skipped_free_plan (result rows are always ok)","example":"ok"},{"name":"charged","type":"boolean","title":"Charged","description":"Whether this record incurred a pay-per-event charge."},{"name":"chargedEvent","type":"string","title":"Charged event","description":"Pay-per-event event charged for this record."},{"name":"source","type":"string","title":"Source","description":"Upstream data source (twitterapi = TwitterAPI.io)."},{"name":"fetchedAt","type":"string","title":"Fetched at","description":"ISO timestamp."},{"name":"error","type":"object","title":"Error","description":"code / message when status is not ok."},{"name":"warnings","type":"array","title":"Warnings","description":"Non-fatal notes (e.g. stopped early)."},{"name":"recordType","type":"string","title":"Row type","description":"following (one per profile, charged) | account-summary (one per input account, free)."},{"name":"ofHandle","type":"string | null","title":"Of account","description":"The input account whose followings this row lists."},{"name":"position","type":"integer | null","title":"Position","description":"1 = most recent following (newest first)."},{"name":"handle","type":"string | null","title":"Handle","description":"X handle without @.","example":"NASA"},{"name":"userId","type":"string | null","title":"User id","description":"Numeric X user id as a string."},{"name":"name","type":"string | null","title":"Name","description":"Display name."},{"name":"bio","type":"string | null","title":"Bio","description":"Profile description with t.co links expanded."},{"name":"location","type":"string | null","title":"Location","description":"Free-text profile location."},{"name":"url","type":"string | null","title":"Website","description":"Website link from the profile (expanded)."},{"name":"profileUrl","type":"string | null","title":"Profile URL","description":"https://x.com/<handle>."},{"name":"followers","type":"integer | null","title":"Followers","description":"Follower count."},{"name":"following","type":"integer | null","title":"Following","description":"Accounts followed."},{"name":"tweets","type":"integer | null","title":"Posts","description":"Total posts incl. replies and reposts (statusesCount)."},{"name":"likes","type":"integer | null","title":"Likes given","description":"Posts this account has liked (favouritesCount)."},{"name":"mediaCount","type":"integer | null","title":"Media","description":"Media posts."},{"name":"isBlueVerified","type":"boolean | null","title":"Blue verified","description":"Has a blue check (null when the endpoint does not report it)."},{"name":"verifiedType","type":"string | null","title":"Verified type","description":"Business / Government / null."},{"name":"profileImageUrl","type":"string | null","title":"Avatar","description":"Profile image URL."},{"name":"coverImageUrl","type":"string | null","title":"Banner","description":"Banner image URL."},{"name":"createdAt","type":"string | null","title":"Created at","description":"ISO 8601 account creation time."},{"name":"isAutomated","type":"boolean | null","title":"Automated","description":"Labelled as an automated account."},{"name":"automatedBy","type":"string | null","title":"Automated by","description":"Handle of the operator of an automated account."},{"name":"canDm","type":"boolean | null","title":"Can DM","description":"Accepts direct messages."},{"name":"possiblySensitive","type":"boolean | null","title":"Possibly sensitive","description":"Marked as possibly sensitive."},{"name":"withheldInCountries","type":"array","title":"Withheld in","description":"Country codes where the account is withheld."},{"name":"pinnedTweetIds","type":"array","title":"Pinned post ids","description":"Ids of pinned posts."},{"name":"unavailable","type":"boolean | null","title":"Unavailable","description":"Account is suspended / deactivated / unavailable."},{"name":"unavailableReason","type":"string | null","title":"Unavailable reason","description":"e.g. suspended."},{"name":"unavailableMessage","type":"string | null","title":"Unavailable message","description":"Upstream message for unavailable accounts."},{"name":"followingsReturned","type":"integer | null","title":"Rows returned","description":"followings delivered for this account (summary rows)."},{"name":"pageFeesCharged","type":"integer | null","title":"Page fees charged","description":"Per-page events charged for this account (summary rows)."},{"name":"pageFeeEvent","type":"string | null","title":"Page fee event","description":"Event name of the per-page fee (summary rows)."},{"name":"pagesFetched","type":"integer | null","title":"Pages fetched","description":"Upstream pages fetched (summary rows)."},{"name":"stopReason","type":"string | null","title":"Stop reason","description":"limit | end | budget | deadline | empty_pages | max_pages | error (summary rows)."}],"outputExample":{"input":"NASA","recordType":"following","ofHandle":"NASA","position":1,"handle":"NASAWebb","userId":"1100000000","name":"NASA Webb Telescope","bio":"Unfolding the universe. https://www.nasa.gov/webb","location":"Space","url":"https://www.nasa.gov/webb","profileUrl":"https://x.com/NASAWebb","followers":2900000,"following":120,"tweets":6100,"likes":900,"mediaCount":2300,"isBlueVerified":null,"verifiedType":null,"profileImageUrl":"https://pbs.twimg.com/profile_images/1/a_normal.jpg","coverImageUrl":null,"createdAt":"2010-05-21T14:00:00.000Z","isAutomated":false,"automatedBy":null,"canDm":false,"possiblySensitive":false,"withheldInCountries":[],"pinnedTweetIds":[],"unavailable":false,"unavailableReason":null,"unavailableMessage":null,"status":"ok","charged":true,"chargedEvent":"x-following-profile","source":"twitterapi","fetchedAt":"2026-10-14T10:00:00.000Z"},"faq":[],"mcpExamplePrompt":"List the accounts that @apify follows on X and group them by what they do, based on their bios.","related":["x-followers","x-profile-lookup","x-account-overview"],"urls":{"site":"https://www.sfoln.com/actors/x-following/","siteJson":"https://www.sfoln.com/actors/x-following.json","siteMarkdown":"https://www.sfoln.com/actors/x-following.md","runSync":"https://api.apify.com/v2/actors/sfoln~x-following/run-sync-get-dataset-items","runAsync":"https://api.apify.com/v2/actors/sfoln~x-following/runs","mcp":"https://mcp.apify.com?tools=sfoln/x-following","requestAccess":"mailto:contact@sfoln.com?subject=Access%20request%3A%20Twitter%20Following%20Scraper%20(X)%20(sfoln%2Fx-following)&body=Please%20publish%20x-following.%20What%20we%20plan%20to%20use%20it%20for%3A"},"publisher":{"name":"SFOLN LLC","apifyUsername":"sfoln","url":"https://www.sfoln.com","apifyProfile":"https://apify.com/sfoln","email":"contact@sfoln.com"},"generatedAt":"2026-10-22T04:28:58.477Z"}