Instagram Following Scraper avatar

Instagram Following Scraper

Pricing

Pay per event

Go to Apify Store
Instagram Following Scraper

Instagram Following Scraper

Export the complete following list of one or more public Instagram accounts. Resume large accounts with a saved cursor and optionally enrich every followed account with a full public profile.

Pricing

Pay per event

Rating

5.0

(1)

Developer

The Netaji

The Netaji

Maintained by Community

Actor stats

1

Bookmarked

173

Total users

4

Monthly active users

7 hours ago

Last modified

Share

The Actor collects the accounts that one or more public Instagram accounts follow and returns them as structured records. It is the following-only counterpart to Instagram Followers & Followings Scraper: the direction is fixed, so there is no type field to set, and no run can be misconfigured to fetch the wrong list.

Accepted input

FieldTypeDefaultDescription
usernamearray of stringsRequired. Usernames or profile URLs.
maxIteminteger100Maximum followed 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"],
"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 followed account.

FieldContents
usernameFollowed account's username
full_nameDisplay name
idInstagram user ID
is_privateWhether the followed account is private
is_verifiedWhether the followed account is verified
profile_pic_urlProfile image URL
source_usernameThe account whose following list this record 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

Following paginates through a max-ID cursor upstream, normalised here to a flat output. 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 following list of a private account be collected? No. Only public accounts expose this list. A private account returns nothing — this reads Instagram's public surface with no logged-in session, and a private account has no such surface.

Why did an account with many follows return fewer than expected? Instagram serves this list in bounded pages and stops well short of a complete list for accounts following a large number of others. What comes back is a substantial sample in Instagram's own ordering, not a census.

How is this different from Instagram Followers & Followings Scraper? Same underlying pagination and output; the direction is fixed to following instead of being a type input. There is no field to set incorrectly, and the Store description and input form stay focused on the one task.

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-account 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? From the pagination state of a previous interrupted run. It applies only to the first username, so it is suited to continuing one stream rather than resuming a multi-account job.

ActorPurpose
Instagram Followers ScraperThe same collection for the accounts following a seed
Instagram Followers & Followings ScraperBoth directions in a single run, selected per run
Instagram User Info ScraperFull profile details for accounts already collected
Instagram Related Users ScraperAccounts Instagram suggests alongside a seed