Instagram Followers & Following Scraper - Export Follower Lists avatar

Instagram Followers & Following Scraper - Export Follower Lists

Pricing

from $0.11 / 1,000 profiles

Go to Apify Store
Instagram Followers & Following Scraper - Export Follower Lists

Instagram Followers & Following Scraper - Export Follower Lists

Export the followers of public Instagram accounts, or the accounts they follow: username, name, user id, profile link, verified and private flags and picture, in Instagram's order. Paste handles, links or ids. Every row can carry a long list on in a later run.

Pricing

from $0.11 / 1,000 profiles

Rating

5.0

(1)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

2

Bookmarked

53

Total users

22

Monthly active users

11 hours ago

Last modified

Categories

Security

Limited permissions

Share

Export the followers of public Instagram accounts, or the accounts they follow: paste handles, profile links or user ids and get one row per profile with username, name, user id, profile link, verified and private flags and picture, in the order Instagram lists them.

A private account's lists can't be read; you get a free note row for it instead. A long list doesn't have to fit in one run: every row carries a value that picks the list up again from the next profile.

InputUp to 50 Instagram handles, profile links or user ids
OutputOne row per follower or followed account: username, name, user id, profile link, verified, private, picture, place in the list, and a value to carry the list on later
Ceiling50,000 profiles per account and per run; a longer list carries on in the next run
Account neededNone from you
Price$0.105 per 1,000 profiles, the same on every plan. The free plan's $5 a month covers about 47,600
Using an AI agent?
Actordami_studio/instagram-followers-following-scraper
Set one fieldusernames, labelled "Accounts" in the Console
Cap the billmaxTotalChargeUsd on the run, for example 0.10: it never charges past that
MCP, one linkhttps://mcp.apify.com/?tools=fetch-actor-details,dami_studio/instagram-followers-following-scraper
How oftenWeekly, to compare an account's lists over time

🔍 What Instagram Followers & Following Scraper does

Each account is looked up first. One that is private, or isn't on Instagram, gets a free note row and nothing more. For the rest, the run reads the list you picked a page at a time, in Instagram's order, and position says where each profile sits. With Both lists, the followers come first, then the accounts followed.

A profile that turns up twice in one list arrives once. Every row carries continueFrom: paste the last one into Continue from in a new run and that list picks up from the next profile.

📋 What data you get from each Instagram follower

What you getField
Username, name, user id, profile linkusername, fullName, userId, profileUrl
Verified and private flagsisVerified, isPrivate
Picture, and whether it is the default oneprofilePicUrl, hasAnonymousProfilePicture
Which list, and the place in itrecordType (follower or following), position
The account the list belongs to, with its countssourceUsername, sourceUserId, sourceFollowerCount, sourceFollowingCount
Where to carry the list oncontinueFrom
When it was readscrapedAt

▶️ How to scrape Instagram followers

  1. Open the actor and go to the Input tab.
  2. Put the accounts into Accounts, one per line: natgeo, @natgeo, a profile link or a user id.
  3. Pick Followers, Following or Both lists in What to get.
  4. Set Results per account, then press Start.
  5. Open the Output tab; the Profiles view shows the main columns.

💰 How much does it cost to scrape Instagram followers?

$0.105 per 1,000 profiles on every plan, so 10,000 followers cost $1.05. The free plan's $5 a month covers about 47,600 profiles.

Not charged: note rows (a private or missing account, an empty list, a stop), and a profile that turns up twice in the same list.

📥 What you give it

FieldWhat it doesDefault
usernamesHandles, profile links or numeric user ids, up to 50none
dataToScrapefollowers, following or bothfollowers
maxResultsPerAccountHow many to get from each account's list, up to 50,000. With both, each list gets this many100
maxResultsThe most profiles one run delivers, across all accounts, up to 50,0005,000
continueFromThe continueFrom value of an earlier run's row, to carry that list onnone

With Continue from filled in, leave Accounts empty: the value names its own account and list, so What to get isn't read either. Input that can't work is refused before anything is looked up, with a free note saying what to change.

{
"usernames": ["nasa", "https://www.instagram.com/spacex/"],
"dataToScrape": "following",
"maxResultsPerAccount": 200
}

📤 What you get back

A real row from a run on 7 November 2026, with the picture link cut short:

{
"recordType": "following",
"ok": true,
"charged": true,
"sourceUsername": "nasa",
"sourceUserId": "528817151",
"sourceFollowerCount": 104419676,
"sourceFollowingCount": 90,
"position": 5,
"username": "nasawebb",
"fullName": "NASA Webb Telescope",
"userId": "549313808",
"profileUrl": "https://www.instagram.com/nasawebb/",
"isVerified": true,
"isPrivate": false,
"profilePicUrl": "https://scontent-lax3-1.cdninstagram.com/v/t51.2885-19/432029380_...",
"hasAnonymousProfilePicture": false,
"continueFrom": "eyJ2IjoxLCJ1IjoiNTI4ODE3MTUxIiwibCI6ImZvbGxvd2luZyIsInIiOiJnMiIsImMiOm51bGwsInAiOiI1NDkzMTM4MDgiLCJzIjo1LCJrIjo1fQ",
"scrapedAt": "2026-11-07T17:59:50.939Z"
}
FieldWorth knowing
position1 is the first profile Instagram lists. A list carried on in a new run keeps counting
sourceFollowerCount, sourceFollowingCountThe account's own counts when the run looked it up
profilePicUrlA link on Instagram's servers that expires after a few days
continueFromPaste it whole. It carries the list on after its own row

🧾 Reading the output

Real rows carry ok: true, charged: true and a recordType of follower or following. Each is billed as one profile.

Note rows carry recordType: "note", ok: false and an errorCode, and are never billed:

CodeMeaning
BAD_INPUTA field couldn't be used; details says which
NOT_FOUNDNo Instagram account by that handle or id
PRIVATE_ACCOUNTThe account is private, so its lists can't be read
NO_RESULTSThe list came back empty
NOT_SERVEDInstagram didn't serve this list in this run; re-run it, or carry on from its last row
MAX_ITEMS, COST_LIMIT, TIME_LIMITThe run stopped at your total, your spending limit or your time limit
RUN_FULLThe run reached the most one run reads; carry on in a new run
FREE_PLAN_LIMITA free-plan run stopped early; a paid plan runs the whole input
SERVICE_UNAVAILABLEInstagram data wasn't available for this run; nothing more was charged
UNEXPECTED_ERRORThe run stopped on an error on our side; rows before it are kept

To keep only profiles, filter on ok == true.

💡 What people use it for

  • A brand choosing creators to work with checks who follows them, and how much of it is real people: hasAnonymousProfilePicture and an empty fullName pick out the profiles nobody set up.
  • Agencies comparing two accounts' audiences: run both, then match the rows on userId.
  • Researchers mapping who an organisation follows: the following list of a ministry, a team or a newsroom.
  • Anyone who wants a dated copy of their own follower list, kept each month.

A recipe with our other actors: get the followers here, keep the rows with isPrivate false, then pass their usernames to Instagram Profile Scraper for their bios, counts and latest posts.

🚧 What it does not do

  • No lists of private accounts; those get a free note row.
  • No bios, follower counts or posts for the profiles in a list. Those come from Instagram Profile Scraper.
  • No likes, comments or messages.
  • It is not an official Instagram tool. Dami's Studio is independent and is not affiliated with or endorsed by Instagram or Meta, or by any other company named on this page.

🧭 Which Instagram scraper do you need?

If you wantUse
Followers or following of accounts you nameThis one, Instagram Followers & Following Scraper
Bio, counts and latest posts of those accountsInstagram Profile Scraper
Reels for a keyword or hashtagInstagram Reels Search Scraper
Posts under a hashtagInstagram Hashtag Scraper
Posts at a placeInstagram Location Scraper

❓ Questions people ask

Do I need an Instagram account to get someone's followers?

No, you don't need one, and there's no cookie to paste.

How do I get more followers than one run gives?

Copy continueFrom from the last row of that account and paste it into Continue from in a new run. The list picks up from the next profile, and position keeps counting.

Why don't the results match what I see in the app?

Instagram orders these lists for each viewer, so your app can show another order. People follow and leave all the time, so counts move while a list is read.

Can I call it from code or connect it to an AI assistant?

Yes. The API tab on the actor page has ready code. For an assistant, use the MCP link https://mcp.apify.com/?tools=fetch-actor-details,dami_studio/instagram-followers-following-scraper.

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("dami_studio/instagram-followers-following-scraper").call(
run_input={"usernames": ["nasa"], "dataToScrape": "following", "maxResultsPerAccount": 30},
max_total_charge_usd=0.10,
)
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
if row.get("ok") is False:
continue
print(row["position"], row["username"], row["fullName"])

This reads the lists of public accounts only, never private accounts or messages, and you need no account. A follower list is personal data, which GDPR and similar laws cover, so keep only what you need and don't use it to contact people who never asked. Instagram's own terms still apply to what you do with the data. Apify's write-up on the legality of web scraping is a good starting point, and we are not lawyers.

🆘 If something breaks

Open the Issues tab on the actor page. Include the run ID and the accounts you used.