Instagram Followers & Following Scraper

Export follower and following identities from public Instagram profiles with IDs, usernames, names, profile URLs, privacy flags, pagination, and resumable limits.

Data fields

FieldTypeDescription
sourceUsernamestringValue exported as sourceUsername.
typestringValue exported as type.
userIdstringValue exported as userId.
usernamestringValue exported as username.
fullNamestringValue exported as fullName.
profilePicUrlstringValue exported as profilePicUrl.
profileUrlstringValue exported as profileUrl.
isPrivatebooleanValue exported as isPrivate.

Input preview

usernamesPublic profiles
AccountPublic profiles (compatibility alias)
dataToScrapeRelationship direction
resultsLimitMaximum identities per source
continuationTokenContinuation token

API and agents

This actor can be run through Apify API, datasets, webhooks, schedules, and the official Apify MCP server.

Ready-to-run examples

Open a saved Apify example, adjust the input, and run the actor in your own Apify account.

View all examples

How this actor works

See example inputs, outputs, API usage, and practical limits before running this actor on Apify.

Open Apify page

This Instagram followers scraper exports follower and following identities from public Instagram profiles to a structured dataset. Use it as an Instagram following scraper: enter one or more public usernames, choose a direction, and receive account IDs, usernames, display names, profile links, pictures, and public status flags. You can also export Instagram followers for downstream analysis.

No customer Instagram login, password, cookie, or browser session is accepted as input.

Why use this Instagram scraper?

Use the Actor when you need relationship-level data rather than follower counts alone.

  • Export followers of public Instagram profiles.
  • Export accounts followed by public Instagram profiles.
  • Process multiple source profiles in one run.
  • Set a separate result limit for every source profile.
  • Resume unfinished exports without duplicating earlier rows.
  • Download results as JSON, CSV, Excel, XML, or RSS.
  • Connect the dataset to Apify API, webhooks, Google Sheets, n8n, Zapier, or your own application.

Example input

{
  "usernames": ["nasa", "natgeo"],
  "dataToScrape": "followers",
  "resultsLimit": 100
}

The Actor exports up to 100 followers for each supplied profile. Change dataToScrape to following to export accounts each source follows.

Example output

{
  "sourceUsername": "nasa",
  "type": "FOLLOWER",
  "userId": "123456789",
  "username": "example_user",
  "fullName": "Example User",
  "profilePicUrl": "https://instagram.example/image.jpg",
  "profileUrl": "https://www.instagram.com/example_user/",
  "isPrivate": false,
  "isVerified": false
}

Each row is one relationship identity. type is relative to sourceUsername.

Input settings

Field Type Description
usernames string array Public Instagram usernames or profile URLs.
Account string array Compatibility alias for usernames. Do not provide both fields.
dataToScrape string followers or following. Legacy capitalization is accepted.
resultsLimit integer Maximum additional identities exported per source in this run.
continuationToken string Optional token from an earlier run's OUTPUT for resuming unfinished work.

The continuation token must be used by the same Apify account with the same normalized profiles, order, and direction. Tokens expire after seven days or when their backing storage is removed.

Dataset fields

Field Type Meaning
sourceUsername string Requested and resolved public source profile.
type string FOLLOWER or FOLLOWING, relative to the source.
userId string Stable decimal Instagram account ID.
username string Current returned Instagram username.
fullName string Public display name; it can be empty.
profilePicUrl string Public profile image URL; source URLs can expire.
profileUrl string Canonical Instagram profile URL.
isPrivate boolean Publicly returned privacy status.
isVerified boolean Publicly returned verification status.

The Actor does not accept or export passwords, customer cookies, private-profile contents, email addresses, or contact enrichment.

Who is it for?

This Actor is designed for social media analysts, creator partnerships teams, researchers, agencies, growth teams, and developers who need structured public relationship identities instead of counts alone.

Common use cases

  • Audience research: compare public follower communities across creators or brands.
  • Creator discovery: collect public identities for later qualification in your own workflow.
  • Competitive analysis: study which public accounts a brand follows.
  • Community sampling: export a bounded sample for manual review or aggregate analysis.
  • CRM preparation: create a structured source list before permitted enrichment elsewhere.
  • Data pipelines: feed public relationship rows into a warehouse, spreadsheet, or automation.

API usage

Replace <APIFY_TOKEN> with your Apify API token. The examples use the public Actor identifier fetch_cat/instagram-scraper-followers-following-no-cookies-scraper.

JavaScript

import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/instagram-scraper-followers-following-no-cookies-scraper').call({
  usernames: ['nasa'],
  dataToScrape: 'followers',
  resultsLimit: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

import os
from apify_client import ApifyClient

client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('fetch_cat/instagram-scraper-followers-following-no-cookies-scraper').call(run_input={
    'usernames': ['nasa'],
    'dataToScrape': 'followers',
    'resultsLimit': 50,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL

curl -X POST \
  'https://api.apify.com/v2/acts/fetch_cat~instagram-scraper-followers-following-no-cookies-scraper/runs?token=<APIFY_TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{"usernames":["nasa"],"dataToScrape":"followers","resultsLimit":50}'

MCP and automation

Use the Actor from an AI client through Apify MCP.

Add the server to Claude Code:

claude mcp add apify --transport http \
  'https://mcp.apify.com/?tools=fetch_cat/instagram-scraper-followers-following-no-cookies-scraper'

Generic MCP client configuration:

{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com/?tools=fetch_cat/instagram-scraper-followers-following-no-cookies-scraper"
    }
  }
}

Example prompts:

  • "Export 25 followers of the public Instagram profile nasa."
  • "Get 50 accounts followed by natgeo and return usernames and profile URLs."
  • "Run the Instagram followers scraper for these three public profiles and summarize the dataset."

You can also trigger runs from Apify schedules, connect completion webhooks, or read datasets from n8n and Zapier. For repeat workflows, keep limits bounded and inspect OUTPUT before treating a dataset as a complete relationship list. Continuation tokens resume traversal; they do not provide a chronological new-follower monitor.

Tips for reliable exports

  • Start with one public profile and a low result limit.
  • Use usernames or canonical profile URLs, not post or reel URLs.
  • Do not set both usernames and Account.
  • Keep the same profile order and direction when resuming.
  • Deduplicate downstream by sourceUsername, type, and userId.
  • Store image URLs only as temporary references because they can expire.
  • Treat display names as optional; some accounts intentionally leave them empty.

Support

If a run fails or returns unexpected data, open an issue from the Actor's Apify Store page. Include the public source username, selected direction, requested limit, and run ID. Never include passwords, cookies, tokens, or private account information.

Common questions

Questions and answers reused from the canonical actor README.

Can I export public Instagram following identities without providing a login?

Yes. Customer passwords, cookies, and sessions are not accepted as Actor inputs. Choose following to export public identities followed by a source profile.

Can it scrape private-profile followers?

No. The product is limited to relationship data available for public source profiles.

Why did I receive fewer rows than requested?

The profile may have fewer accessible relationships, Instagram may temporarily limit the list, or the run may have ended partially. Check OUTPUT for source-level status and continuation information.

Are follower results returned in chronological order?

No. Instagram controls ordering, and it can change between requests.

How can I export Instagram followers from a public profile?

Enter a public username, select followers, and set a result limit. The dataset contains the accessible public relationship identities returned during the run.