Instagram Followers & Following Scraper
Pricing
from $0.60 / 1,000 relationship identity exporteds
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.
Pricing
from $0.60 / 1,000 relationship identity exporteds
Rating
0.0
(0)
Developer
Hanna Nosova
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
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.
Input recipes
Export followers from one profile
{"usernames": ["nasa"],"dataToScrape": "followers","resultsLimit": 50}
Export followed accounts
{"usernames": ["natgeo"],"dataToScrape": "following","resultsLimit": 200}
Process multiple profiles
{"usernames": ["nasa", "natgeo"],"dataToScrape": "followers","resultsLimit": 25}
Resume an unfinished export
{"usernames": ["nasa"],"dataToScrape": "followers","resultsLimit": 100,"continuationToken": "TOKEN_FROM_PREVIOUS_OUTPUT"}
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.
Pricing and limits
This Actor uses pay-per-event pricing:
- A
startevent is charged once when a valid run begins. - An
itemevent is charged for each relationship identity saved to the dataset. - Exact current rates and plan discounts are shown on the Actor Pricing tab.
- Invalid input is rejected before result charges.
- The requested limit applies separately to each source profile.
Instagram can limit, reorder, or temporarily withhold relationship data. A requested limit is a maximum, not a promise that every source has that many accessible identities. Large lists can require continuation runs.
Always check the run OUTPUT status:
COMPLETEmeans the available list was exhausted.LIMIT_REACHEDmeans the requested cap was reached.PARTIALmeans saved rows are usable but the export stopped early.FAILEDmeans no complete result should be assumed; any already saved rows remain available.
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 osfrom apify_client import ApifyClientclient = 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().itemsprint(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
usernamesandAccount. - Keep the same profile order and direction when resuming.
- Deduplicate downstream by
sourceUsername,type, anduserId. - Store image URLs only as temporary references because they can expire.
- Treat display names as optional; some accounts intentionally leave them empty.
FAQ
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.
How can I resume a large Instagram follower export without duplicate rows?
Copy continuationToken from OUTPUT into a new run using the same Apify account, profiles, order, and direction. The Actor retains deduplication state for the unfinished traversal.
Does resuming return only newly gained followers?
No. Resume continues an unfinished traversal. It is not a follower-change monitoring feed.
Are duplicate rows possible?
The Actor deduplicates identities within its saved state. For long-term storage, use sourceUsername, type, and userId as a stable composite key.
Related Instagram Actors
- Instagram Profile Posts Scraper
- Instagram Comments Scraper
- Instagram Likes Scraper
- Instagram Hashtag Scraper
- Instagram Search Scraper
- Instagram Stories & Highlights Scraper
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.