Instagram Followers Scraper avatar

Instagram Followers Scraper

Pricing

from $1.50 / 1,000 scraped accounts

Go to Apify Store
Instagram Followers Scraper

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

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

46

Total users

7

Monthly active users

a day ago

Last modified

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

FieldTypePurpose
usernamesarray of stringsInstagram usernames or profile URLs for the source accounts whose followers or following list you want to extract.
modestringChoose followers or following for every source account in the list.
maxResultsintegerMaximum number of results per source account.
enrichProfilesbooleanAdds profile-level fields such as biography, email, website, and counts.
sessionCookiestringOptional Instagram sessionid cookie for a direct fallback path.
proxyConfigurationobjectOptional 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.

FieldTypePurpose
usernamestringInstagram handle of the collected account.
full_namestring or nullDisplay name on the profile, when available.
instagram_idstringInternal Instagram numeric user ID.
profile_urlstringDirect link to the profile.
profile_pic_urlstring or nullProfile picture URL.
is_privatebooleanPrivacy status of the collected account.
is_verifiedbooleanVerified badge status.
relationshipstringfollower or following relative to the source account.
source_usernamestringThe source account whose list was collected.
biographystring or nullBio text when enrichment is enabled.
emailstring or nullPublic email when enrichment is enabled.
phonestring or nullPublic phone when enrichment is enabled.
external_urlstring or nullLinked website when enrichment is enabled.
follower_countinteger or nullProfile follower count when enrichment is enabled.
following_countinteger or nullProfile following count when enrichment is enabled.
media_countinteger or nullProfile post count when enrichment is enabled.
categorystring or nullProfile category label when enrichment is enabled.
is_businessboolean or nullBusiness or professional account flag when enrichment is enabled.
scraped_atstringISO 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 followers or following, 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.
  • relationship tells you whether the record came from the source account's followers list or following list.
  • source_username preserves provenance so downstream tools can trace every record back to its source account.
  • Enriched fields are present only when profile enrichment is enabled.
  • scraped_at helps agents reason about freshness.

Scope and pagination guidance:

  • Use maxResults to 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.

  • 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.