Instagram Follower Scraper
Pricing
from $1.00 / 1,000 results
Instagram Follower Scraper
Export Instagram follower lists — usernames, full names, profile links, pictures, and verification and privacy status, plus a profile summary per account. A Session ID is always required. Up to 10 accounts per run; export to JSON, CSV, or Excel.
Pricing
from $1.00 / 1,000 results
Rating
5.0
(1)
Developer
Rush
Maintained by CommunityActor stats
1
Bookmarked
69
Total users
2
Monthly active users
5 days ago
Last modified
Categories
Share
Instagram User Follower Scraper
Collect available Instagram follower 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 followers; a finished collection does not guarantee a complete follower list.
Features
- Collect available follower lists and a profile summary for each requested account. A valid Session ID is required.
- Process up to 10 accounts and set a follower 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 Followers 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","maxFollowers": 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. |
maxFollowers | Whole number from 0 to 100000, per account. Default 0 continues while followers 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 follower 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 all followers. To avoid continuing indefinitely, collection stops with partial results after three consecutive pages add no new follower identities. This safeguard does not mean later pages contain no additional followers.
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. Copy a fresh Session ID from your signed-in browser before each run. Use a secondary account rather than your main account, and avoid frequent or concurrent runs. Instagram may identify automated activity and restrict the account. A fresh Session ID does not remove those risks or guarantee access. 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 follower 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 follower rows count as billed results. maxFollowers limits follower 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 follower. |
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 follower 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 follower rows. |
followingCount | Available profile following count, or null; always null on follower rows. |
index | Saved follower 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 is a profile snapshot, not the number of follower rows saved by this run.
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": "follower","sourceUsername": "example_account","username": "example_follower","userId": "987654","fullName": "Example Follower","biography": null,"profileUrl": "https://www.instagram.com/example_follower","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 followers for successful collection under this Session-required Actor), requestedUsers, savedRows, savedProfiles, savedFollowers, requestCount and a users entry for each requested account.
Each account entry contains username, status, savedProfiles and savedFollowers. Optional followerPages counts follower 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 follower list was not collected because the account is private. |
complete | The available follower collection reached its end. This does not prove every follower was visible. |
limit_reached | The requested follower limit was reached. |
partial | Some requested collection remains incomplete. Saved results are retained. |
pending | This account has not yet been collected. |
For a partial follower list, users[].stopReason provides a reason when one was established:
| Reason | Meaning |
|---|---|
source_limited | Instagram explicitly limited the visible list and supplied no further page. |
continuation_unavailable | Instagram did not supply consistent information for collecting more results. |
continuation_repeated | Instagram returned a continuation that was already visited. |
safety_limit | Collection reached an internal safety allowance. |
reported_count_mismatch | The list ended before the profile’s reported follower count was matched. The cause of the difference is unknown. |
unverified_records | Some returned records could not be verified. |
An absent reason does not imply a complete list. Check the account status and run status too. Verified results remain available when Instagram restricts a list.
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
Why did I receive profiles but no followers?
Session ID is required; blank Session ID fails validation rather than collecting profiles only. When OUTPUT.mode is followers, check the account status (private, partial, limit_reached), availability and run allowance. A profile row alone does not demonstrate that follower collection completed.
Why are there fewer follower rows than the profile's follower count?
Instagram can limit which followers 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 follower accounts. A partial result describes this collection attempt. It does not establish a fixed Instagram-wide limit or prove that another account or interface would show the same list.
Can it collect private accounts' followers?
Follower 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 follower 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 follower scraper, Instagram follower list export, Instagram public profiles, audience research, social media data, Apify Actor, Claude Code, OpenClaw, Gemini, Antigravity, Codex, ChatGPT