Instagram Following Scraper
Pricing
from $1.00 / 1,000 results
Instagram Following Scraper
Collect following lists from accessible Instagram accounts — including usernames, full names, verification status, and more. Process up to 10 accounts per run. Requires an Instagram Session ID.
Pricing
from $1.00 / 1,000 results
Rating
5.0
(1)
Developer
Rush
Maintained by CommunityActor stats
1
Bookmarked
136
Total users
12
Monthly active users
10 days ago
Last modified
Categories
Share
Instagram User Following Scraper
Collect available Instagram following lists and profile details for audience research and account analysis. Export usernames, display names, profile links, pictures, verification and privacy status, with a collection summary for every requested account.
A valid Session ID is required. Blank, missing, or whitespace-only Session ID fails the run. Instagram may expose only a subset of an account's following; a finished collection does not guarantee a complete following list.
Features
- Collect available following lists and a profile summary for each requested account. A valid Session ID is required.
- Process up to 10 accounts and set a following limit for each account.
- Export results and check saved totals and incomplete collections for every requested account.
How to Use
- Enter 1–10 Instagram usernames,
@handlesor profile URLs. - Paste a valid Instagram Session ID (
sessionidcookie). This field is required. - Optionally set Max Following Per User, such as
20. - Start the Actor, then open the Dataset and Collection Summary. Check each account's status before using the results.
Input example
{"usernames": ["nasa"],"sessionId": "REPLACE_WITH_YOUR_SESSION_ID","maxFollowing": 20}
Replace the placeholder before starting. The Actor verifies the signed-in connection. Blank, missing, or whitespace-only Session ID fails input validation. An invalid or rejected Session ID also fails the run; it does not switch to a public-profile-only mode.
Input
| Field | Description |
|---|---|
usernames | Required list of 1–10 accounts. Accepts usernames, @handles and Instagram profile URLs. Repeated usernames are collected once; every entry must be valid. |
sessionId | Required secret input. A valid Instagram sessionid cookie. Blank, missing, or whitespace-only values fail the run. |
maxFollowing | Whole number from 0 to 100000, per account. Default 0 continues while following are available, within the run allowance. Profile rows are additional results. |
A run can save at most 100,000 rows in total, including profile rows. A requested following limit is a maximum, not a promised number of results. Collection may stop earlier because of account visibility, unavailable data or the run's allowance. Setting 0 does not guarantee access to every followed account.
Finding your Session ID
In a signed-in Chrome tab at Instagram, open Developer Tools → Application → Cookies → https://www.instagram.com. Copy the value named sessionid into the Actor's Session ID field.
Treat this credential like a password. Use only an account you control and keep the value private. If Instagram requires a security check, complete it on Instagram before trying again. Automated activity can lead to account restrictions; consider using a secondary account rather than your main account. The Session ID is marked as secret input and is not included in result rows or the collection summary.
Output
Each collected account can produce one profile row and multiple following rows. sourceUsername identifies the requested account; username identifies the account described by that row. Accounts that cannot be collected may have no rows; consult their summary status.
The Actor uses pay-per-event billing. Both saved profile rows and saved following rows count as billed results. maxFollowing limits following rows only. Check the Actor's current pricing before starting; this page does not quote rates.
Every row contains these same 14 fields:
| Field | Meaning |
|---|---|
item_type | profile or following. |
sourceUsername | Requested account, normalized to lowercase. |
username | Account described by the row, normalized to lowercase. |
userId | Verified account identifier, kept as a string. |
fullName | Display name in its original language, or null. |
biography | Available source profile biography; null on following rows. |
profileUrl | Instagram profile link for the row's account. |
profilePicUrl | Available HTTP(S) profile picture link, or null. Links may expire. |
isVerified | true, false or null when unknown. |
isPrivate | true, false or null when unknown. |
followerCount | Available profile follower count, or null; always null on following rows. |
followingCount | Available profile following count, or null; always null on following rows. |
index | Saved following position within this source account, starting at 1; null on profile rows. This is not an Instagram ranking. |
scrapedAt | Collection time as an ISO 8601 timestamp. |
Unknown values stay null; they are not converted into false or zero. Counts are nonnegative whole numbers when known. Text preserves the original language, including Unicode characters. followerCount and followingCount are profile snapshots, not guaranteed collection totals.
Output example
These are illustrative examples, not live account data:
[{"item_type": "profile","sourceUsername": "example_account","username": "example_account","userId": "123456","fullName": "Example 探索 🌍","biography": "An illustrative profile","profileUrl": "https://www.instagram.com/example_account","profilePicUrl": null,"isVerified": null,"isPrivate": false,"followerCount": 100,"followingCount": null,"index": null,"scrapedAt": "2026-09-22T00:00:00.000Z"},{"item_type": "following","sourceUsername": "example_account","username": "example_following","userId": "987654","fullName": "Example Following","biography": null,"profileUrl": "https://www.instagram.com/example_following","profilePicUrl": null,"isVerified": false,"isPrivate": null,"followerCount": null,"followingCount": null,"index": 1,"scrapedAt": "2026-09-22T00:00:00.000Z"}]
Collection Summary
Collection Summary opens the OUTPUT record. It contains status, the mode (always following for successful collection under this Session-required Actor), requestedUsers, savedRows, savedProfiles, savedFollowing, requestCount and a users entry for each requested account.
Each account entry contains username, status, savedProfiles and savedFollowing. Optional followingPages counts following pages read across restarts. Optional incompleteRecords: true means some returned records could not be verified and were omitted.
| Account status | Meaning |
|---|---|
private | A profile was collected, but its following list was not collected because the account is private. |
complete | The available following collection reached its end. This does not prove every followed account was visible. |
limit_reached | The requested following limit was reached. |
partial | Some requested collection remains incomplete. Saved results are retained. |
pending | This account has not yet been collected. |
The overall status is complete, partial, failed or budget_reached. Overall complete can include accounts marked private or limit_reached; read the per-account statuses. A successful platform run can still contain a partial collection. The summary distinguishes saved data from requested work and should be checked alongside the Dataset.
FAQ
What happens if one account cannot be verified?
That account remains partial while other eligible accounts can continue. If its identity is verified but its visibility is unknown, its profile can be saved without collecting its following list. Sign-in, access restrictions and storage failures can stop the whole run. Check the per-account summary and any saved results.
Why did I receive profiles but no following?
Session ID is required; blank Session ID fails validation rather than collecting profiles only. When OUTPUT.mode is following, check the account status (private, partial, limit_reached), availability and run allowance. A profile row alone does not demonstrate that following collection completed.
Why are there fewer following rows than the profile's following count?
Instagram can limit which following are visible to a session. Your limit or the run allowance can also stop collection. The Actor reports the available subset and collection status; it does not infer missing following accounts.
Can it collect private accounts' following?
Following lists for accounts identified as private are not collected. Available profile details may still be returned. This Actor does not bypass account privacy controls.
What happens if my Session ID is blank or invalid?
Blank, missing, or whitespace-only Session ID fails input validation. An invalid or rejected Session ID is also an error; the Actor does not fall back to a public-profile-only mode. Check your signed-in session and resolve any security check on Instagram.
Are missing flags and counts reported as false or zero?
No. Unknown values are null. Rows without a verifiable account identity are omitted rather than filled with another account's details.
Does starting a new run automatically continue an earlier run?
No. A new run is separate. When the same run restarts with its saved storage, the Actor verifies saved progress before continuing. Saved partial results remain available; progress that cannot be verified stops continuation.
Can I use the output in other tools?
Export the Dataset or use the Actor API in workflows that accept structured data. No particular third-party integration is implied.
Disclaimer
This Actor is not affiliated with Instagram or Meta. Data availability depends on Instagram and, for following lists, the signed-in account. Use only credentials and data you are authorized to access, and respect applicable laws, privacy requirements and platform rules. Automated access can lead to account restrictions or suspension. No guarantee of availability, completeness or performance is made.
Keywords: Instagram following scraper, Instagram following list export, audience research, social media data, Apify Actor, Claude Code, OpenClaw, Gemini, Antigravity, Codex, ChatGPT