Instagram Followers Scraper
Pricing
from $1.50 / 1,000 scraped accounts
Instagram Followers Scraper
Export the full followers or following list of any Instagram account: usernames, names, verified flags + optional email enrichment. MCP/API-ready.
Pricing
from $1.50 / 1,000 scraped accounts
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
46
Total users
7
Monthly active users
a day ago
Last modified
Categories
Share
Instagram Followers Scraper by khadinakbar/instagram-followers-scraper is an Apify Actor usable through Apify MCP that exports the followers or following list of one or more Instagram accounts. It accepts Instagram usernames or profile URLs, one source account per input line, and returns one record per collected account. Each record includes the core identity fields such as username, full name, Instagram ID, profile URL, verified and private flags, plus relationship context and source account. When profile enrichment is enabled, the output can also include biography, public email, phone, website, follower and following counts, media count, category, and business account flag.
Best fit and connected workflows
This Actor fits workflows where the source account is known and the goal is to collect the connected audience list for analysis or outreach preparation. It is well suited for:
- audience research from a specific Instagram account's followers or following list
- lead list preparation when enrichment is enabled
- account comparison and overlap analysis across multiple source usernames
- follow graph review before downstream comment, post, or reel analysis
If you collect followers or following here and then need reactions or comments for a returned profile or post, the verified downstream companion is Instagram Comments Scraper. That pairing keeps the workflow centered on the same Instagram record set.
Practical scenario
Mina is reviewing the followers of an industry creator before building an outreach list. She starts with the creator's Instagram username, selects followers, and sets a modest result cap for the first run. The dataset returns records with username, full_name, is_verified, is_private, relationship, source_username, and profile_url. Mina notices several verified accounts and a mix of public and private profiles. She then enables enrichment for a second run so she can review biography, email, external_url, and follower counts before deciding which profiles are relevant for follow-up.
Input fields
| Field | Type | Purpose |
|---|---|---|
usernames | array of strings | Instagram usernames or profile URLs for the source accounts whose followers or following list you want to extract. |
mode | string | Choose followers or following for every source account in the list. |
maxResults | integer | Maximum number of results per source account. |
enrichProfiles | boolean | Adds profile-level fields such as biography, email, website, and counts. |
sessionCookie | string | Optional Instagram sessionid cookie for a direct fallback path. |
proxyConfiguration | object | Optional proxy settings, including Apify Proxy when selected. |
Example input
{"usernames": ["natgeo"],"mode": "followers","maxResults": 25,"enrichProfiles": true,"proxyConfiguration": {"useApifyProxy": false}}
Output fields
Each dataset item represents one collected follower or following account.
| Field | Type | Purpose |
|---|---|---|
username | string | Instagram handle of the collected account. |
full_name | string or null | Display name on the profile, when available. |
instagram_id | string | Internal Instagram numeric user ID. |
profile_url | string | Direct link to the profile. |
profile_pic_url | string or null | Profile picture URL. |
is_private | boolean | Privacy status of the collected account. |
is_verified | boolean | Verified badge status. |
relationship | string | follower or following relative to the source account. |
source_username | string | The source account whose list was collected. |
biography | string or null | Bio text when enrichment is enabled. |
email | string or null | Public email when enrichment is enabled. |
phone | string or null | Public phone when enrichment is enabled. |
external_url | string or null | Linked website when enrichment is enabled. |
follower_count | integer or null | Profile follower count when enrichment is enabled. |
following_count | integer or null | Profile following count when enrichment is enabled. |
media_count | integer or null | Profile post count when enrichment is enabled. |
category | string or null | Profile category label when enrichment is enabled. |
is_business | boolean or null | Business or professional account flag when enrichment is enabled. |
scraped_at | string | ISO 8601 UTC timestamp for the collected record. |
Example output record
{"username": "johndoe","full_name": "John Doe","instagram_id": "1234567890","profile_url": "https://www.instagram.com/johndoe/","profile_pic_url": "https://instagram.com/profilepic.jpg","is_private": false,"is_verified": false,"relationship": "follower","source_username": "natgeo","biography": "Photographer and creator","email": "hello@example.com","phone": "+1 555 0100","external_url": "https://example.com","follower_count": 15400,"following_count": 812,"media_count": 240,"category": "Photographer","is_business": true,"scraped_at": "2026-06-01T12:00:00.000Z"}
How it works
This Actor accepts one or more source usernames or profile URLs, then extracts the follower or following list for each source account. The mode setting applies to every username in the input list. The maxResults field caps the number of collected records per source account. When enrichProfiles is enabled, the Actor adds profile-level metadata to each collected account. The live contract also shows a managed proxy setup and an optional sessionCookie fallback for advanced use.
The default dataset stores the collected rows, and the output contract exposes dataset and key-value-store links for reading results and execution summaries.
Pricing and usage
This Actor uses Pay per event pricing on Apify, plus standard Apify platform usage. The live Pricing tab is the source of truth for the current per-event rates and any platform charges tied to your execution configuration.
A simple way to think about it: if you collect ten accounts, the run is charged for the actor start event and for each scraped account event, and enrichment adds its own per-profile event when enabled. For exact current rates, review the live Pricing tab before launching a larger run.
Use with AI agents (MCP)
This Actor is available as an Apify Actor usable through Apify MCP. It can be called by name in MCP-capable tools and agents as khadinakbar/instagram-followers-scraper.
Tool description:
- Input: Instagram source usernames or profile URLs, a mode of
followersorfollowing, and optional enrichment settings. - Output: one dataset record per collected account, plus run summary records in key-value storage.
Collect the followers of
natgeo, return the first 25 public records, and include enrichment so I can review usernames, verification status, bio, email, website, and follower counts in the output dataset.
Output interpretation:
- Each dataset row is one follower or following account connected to the source username.
relationshiptells you whether the record came from the source account's followers list or following list.source_usernamepreserves provenance so downstream tools can trace every record back to its source account.- Enriched fields are present only when profile enrichment is enabled.
scraped_athelps agents reason about freshness.
Scope and pagination guidance:
- Use
maxResultsto control the number of records collected per source account. - Large accounts are paginated through the Actor's collection flow.
- For cost control, start with a small result cap, then scale up once the input and output shape look correct.
Apify API example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({token: process.env.APIFY_TOKEN,});const actor = client.actor('khadinakbar/instagram-followers-scraper');const run = await actor.call({usernames: ['natgeo'],mode: 'followers',maxResults: 10,enrichProfiles: false,});const datasetId = run.defaultDatasetId;const { items } = await client.dataset(datasetId).listItems();console.log('Run finished. Dataset items:');for (const item of items) {console.log(item.username, item.profile_url);}
Best results and outcome guidance
Use source usernames that clearly identify the account you want to inspect, since each record is tied to a specific source_username. Start with a smaller maxResults value to confirm the connection type and output shape, then increase it for broader collection. Enable enrichment when you need contact or profile metadata alongside the follower or following list. For multiple source accounts, keep the mode consistent so the resulting dataset stays easy to compare.
Design note
I found that the output contract includes both relationship and source_username, which makes each record traceable to the exact source account and the selected collection mode.
FAQ
Can I collect followers or following for more than one account in the same run?
Yes. Provide multiple usernames in the usernames array and the Actor will apply the selected mode to each source account.
When should I use followers versus following?
Use followers when you want the accounts that follow a source profile. Use following when you want the accounts that the source profile follows.
What changes when profile enrichment is enabled?
The dataset can include biography, public email, phone, website, follower count, following count, media count, category, and business flag for each collected account.
How do I connect this Actor to another Instagram workflow?
If you need comment data for a collected account or post, pass the returned Instagram record into Instagram Comments Scraper.
Where do I find run outputs and summaries?
The live output contract exposes dataset items for the main results and key-value-store records for the run summary and run outcome contract.
Related Actors
- Instagram Comments Scraper - use after this Actor when your workflow continues from a returned Instagram record into comment-level analysis.
Responsible use
Use this Actor on publicly available Instagram data and follow the laws, platform terms, and internal policies that apply to your use case. Collect and process data with a clear purpose, and treat contact information and profile metadata as personal data where applicable.