Instagram Follower Scraper avatar

Instagram Follower Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Instagram Follower Scraper

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

Rush

Maintained by Community

Actor stats

1

Bookmarked

69

Total users

2

Monthly active users

5 days ago

Last modified

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

  1. Enter 1–10 Instagram usernames, @handles or profile URLs.
  2. Paste a valid Instagram Session ID (sessionid cookie). This field is required.
  3. Optionally set Max Followers Per User, such as 20.
  4. 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

FieldDescription
usernamesRequired list of 1–10 accounts. Accepts usernames, @handles and Instagram profile URLs. Repeated usernames are collected once; every entry must be valid.
sessionIdRequired secret input. A valid Instagram sessionid cookie. Blank, missing, or whitespace-only values fail the run.
maxFollowersWhole 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:

FieldMeaning
item_typeprofile or follower.
sourceUsernameRequested account, normalized to lowercase.
usernameAccount described by the row, normalized to lowercase.
userIdVerified account identifier, kept as a string.
fullNameDisplay name in its original language, or null.
biographyAvailable source profile biography; null on follower rows.
profileUrlInstagram profile link for the row's account.
profilePicUrlAvailable HTTP(S) profile picture link, or null. Links may expire.
isVerifiedtrue, false or null when unknown.
isPrivatetrue, false or null when unknown.
followerCountAvailable profile follower count, or null; always null on follower rows.
followingCountAvailable profile following count, or null; always null on follower rows.
indexSaved follower position within this source account, starting at 1; null on profile rows. This is not an Instagram ranking.
scrapedAtCollection 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 statusMeaning
privateA profile was collected, but its follower list was not collected because the account is private.
completeThe available follower collection reached its end. This does not prove every follower was visible.
limit_reachedThe requested follower limit was reached.
partialSome requested collection remains incomplete. Saved results are retained.
pendingThis account has not yet been collected.

For a partial follower list, users[].stopReason provides a reason when one was established:

ReasonMeaning
source_limitedInstagram explicitly limited the visible list and supplied no further page.
continuation_unavailableInstagram did not supply consistent information for collecting more results.
continuation_repeatedInstagram returned a continuation that was already visited.
safety_limitCollection reached an internal safety allowance.
reported_count_mismatchThe list ended before the profile’s reported follower count was matched. The cause of the difference is unknown.
unverified_recordsSome 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