Instagram Followers & Followings Scraper avatar

Instagram Followers & Followings Scraper

Pricing

from $0.75 / 1,000 results

Go to Apify Store
Instagram Followers & Followings Scraper

Instagram Followers & Followings Scraper

Scrape both followers and followings of Instagram users in a single run

Pricing

from $0.75 / 1,000 results

Rating

4.2

(16)

Developer

The Netaji

The Netaji

Maintained by Community

Actor stats

25

Bookmarked

989

Total users

111

Monthly active users

14 hours

Issues response

a day ago

Last modified

Share

The Actor collects the accounts that follow a public Instagram account, or the accounts it follows, and returns them as structured records. One field selects the direction, pagination is handled internally, and each account can optionally be enriched with its full profile.

Accepted input

FieldTypeDefaultDescription
usernamearray of stringsRequired. Usernames or profile URLs.
typeenumfollowersRequired. followers or followings.
maxIteminteger100Maximum accounts saved per seed. 0 removes the limit.
enrichProfilebooleanfalseFetches the full profile for every account returned.
fullProfileDetailsbooleanfalseExtends enrichment to the complete profile payload.
resumeCursorstringContinues a previous run from where it stopped.
{
"username": ["nasa"],
"type": "followers",
"maxItem": 500,
"enrichProfile": false
}

maxItem applies to each account in username independently rather than as a shared total. Three usernames with maxItem at 500 can therefore return up to 1,500 records.

Response fields

One record per account.

FieldContents
usernameAccount's username
full_nameDisplay name
idInstagram user ID
is_privateWhether the account is private
is_verifiedWhether the account is verified
profile_pic_urlProfile image URL
source_usernameThe account whose list this one came from
enrichedWhether the full profile was fetched
{
"username": "esa",
"full_name": "European Space Agency",
"is_verified": true,
"is_private": false,
"source_username": "nasa",
"enriched": false
}

source_username matters when several seeds are supplied in one run, since the lists are written to a single dataset and would otherwise be indistinguishable.

Resuming an interrupted run

The two directions paginate differently upstream — followers advance through an end cursor, followings through a max ID — and both are normalised to the same flat output here.

resumeCursor accepts a cursor from a previous run and applies it to the first username's first page only. It exists to continue a single interrupted stream, not to offset a multi-account run; supplying it alongside several usernames affects only the first, and the rest start from the beginning.

Behaviour on partial results

Collection ends when the upstream reports no further pages, returns an empty page, or maxItem is reached.

Enrichment is applied in batches as pages arrive, so records are written progressively rather than after the whole list is gathered. A profile that fails to enrich is skipped rather than aborting the run.

Frequently asked questions

Can the followers of a private account be collected? No. Only public accounts expose these lists. A private account returns nothing regardless of the direction requested — this reads Instagram's public surface with no logged-in session, and a private account has no such surface.

Why did a large account return fewer followers than it has? Instagram serves these lists in bounded pages and stops well short of a complete roster for accounts with large followings. An account with several million followers will not return several million records. What comes back is a substantial sample in Instagram's own ordering, not a census.

What is the difference between followers and followings? followers returns accounts following the seed; followings returns accounts the seed follows. The second is usually far smaller and often more informative, since who an account chooses to follow is deliberate in a way its followers are not.

Does maxItem limit the run or each account? Each account. It is a per-seed cap rather than a shared total, so the maximum records a run can produce is maxItem multiplied by the number of usernames.

What does enrichProfile cost? One additional request and one additional billed event per account returned. On a 1,000-follower run that is 1,000 extra requests, which usually dominates the cost. Collecting the list first and enriching a chosen subset afterwards through Instagram User Info Scraper is generally cheaper.

How is resumeCursor obtained? Every run publishes it twice: as resumeCursor in the OUTPUT record of the run's key-value store, and in the log next to 📍 RESUME CURSOR. Paste it into the next run. A run that reached the end of the list publishes null, which is how you know to stop.

Does paging with maxItem skip accounts? No. The cursor names the position the run actually stopped at, including a position part-way through an Instagram page, so maxItem: 10 repeated with the cursor each time walks the list in tens with no gaps and no repeats. Resuming into the middle of a page re-fetches that page once; the accounts already returned are dropped before enrichment, so nothing is charged for them twice.

ActorPurpose
Instagram User Info ScraperFull profile details for accounts already collected
Instagram Related Users ScraperAccounts Instagram suggests alongside a seed
Instagram Profile Content ScraperPosts, reels, and story status for an account
Instagram Post ScraperIndividual posts, comments, or oEmbed metadata