Instagram Followers & Following Scraper
Private validation actor for Instagram follower/following-list availability through official Meta endpoints.
How it works
- 1Open it on Apify
Hit Run on Apify — it opens the tool in the cloud, no install.
- 2Set the inputs
Adjust
profiles,listType,maxItemsPerProfile(sensible defaults are pre-filled). - 3Click Run
The tool runs on Apify’s cloud and collects the data for you.
- 4Export the results
Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.
Inputs
| Field | What it does | Type |
|---|---|---|
profiles | Public Instagram usernames, @handles, or profile URLs. Empty input emits one labeled, uncharged sample row without using credentials or proxy. | array |
listType | Extract followers, following, or both relationship lists. | string |
maxItemsPerProfile | Maximum relationship profiles returned for each source profile and selected list. | integer |
sessionCookies | Optional. Runs use a built-in session by default, which is shared with everyone else running this Actor. Supply your own Instagram account cookie here to get a private rate limit that no other user shares. In Chrome: F12 -> Application -> Cookies -> https://www.instagram.com, then copy the sessionid value. Pasting the whole cookie string works too. Cookie values are never logged or written to the output. | array |
maxAttempts | Bounded retries across rotating configured accounts and sticky proxy sessions. | integer |
requestTimeoutSeconds | Timeout for each Instagram web API request. | integer |
maxRunSeconds | Hard wall-clock bound for profile resolution and relationship pagination. | integer |
What you get
A structured dataset — each result includes fields like:
usernamefullNamelistTypesourceUsernameisPrivateisVerifiedprofileUrlExport every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.
12 ready-to-run use cases
Find agency prospects among an account audience
Find agency prospects among an account audience. Runs on @hubspot — username, full name, profile picture, verified and private flags. No login needed.
Compare follower overlap between two brands
Compare follower overlap between two brands. Runs on @adidas and @puma — username, full name, profile picture, verified and private flags. No login needed.
Export a competitor’s Instagram followers
Export a competitor’s Instagram followers. Runs on @nike — username, full name, profile picture, verified and private flags. No login needed.
Export followers of an e-commerce brand
Export followers of an e-commerce brand. Runs on @shopify — username, full name, profile picture, verified and private flags. No login needed.
Pull followers of fitness coaches for outreach
Pull followers of fitness coaches for outreach. Runs on @thefitnesschef_ — username, full name, profile picture, verified and private flags. No login needed.
Export who an account follows
Export who an account follows. Runs on @natgeo — username, full name, profile picture, verified and private flags. No login needed.
Audit an influencer’s follower list before a deal
Audit an influencer’s follower list before a deal. Runs on @cristiano — username, full name, profile picture, verified and private flags. No login needed.
Collect followers of a local business for geo leads
Collect followers of a local business for geo leads. Runs on @bluebottle — username, full name, profile picture, verified and private flags. No login needed.
Build a lookalike audience from a competitor audience
Build a lookalike audience from a competitor audience. Runs on @gymshark — username, full name, profile picture, verified and private flags. No login needed.
Discover micro-influencers following a niche account
Discover micro-influencers following a niche account. Runs on @nasa — username, full name, profile picture, verified and private flags. No login needed.
Build a lead list from a niche account’s followers
Build a lead list from a niche account’s followers. Runs on @natgeo — username, full name, profile picture, verified and private flags. No login needed.
Pull followers of a SaaS or B2B account for outreach
Pull followers of a SaaS or B2B account for outreach. Runs on @slack — username, full name, profile picture, verified and private flags. No login needed.
Related tools in Developer & Research Tools
Other ready-to-run tools in the same category — all pay-per-use on the Apify cloud.
GitHub Scraper
Search GitHub repos or users and export clean rows: stars, forks, language, topics, license, plus user bio, company, location and follower count.
Stack Overflow / Stack Exchange Scraper
Search Stack Overflow and Stack Exchange by keyword or tags. Get structured questions with score, answers, views, tags, author, and link as JSON or CSV.
Package Registry Scraper (npm + PyPI)
Get npm and PyPI package metadata - version, license, repo, keywords, and npm download counts. Search by keyword or look up exact names. No API key needed.
arXiv Scraper
Search arXiv and get clean JSON: titles, abstracts, authors, categories, DOI, dates and PDF links. No API key. Sort by relevance or date; push to Notion.
OpenAlex Scholarly Works Scraper
Search 250M+ OpenAlex papers by keyword. Get titles, authors, venue, year, citations, concepts, OA links and full abstracts as structured JSON. No API key.
Crossref Scholarly Works Scraper
Search 150M+ scholarly works on Crossref and export DOI, authors, journal, citation count, and abstracts as JSON or CSV. Filter by type and date.
Where this tool sits
- Categories
- Developer & Research Tools
Instagram Followers & Following Scraper
Extract follower or following profile rows from public Instagram accounts. Runs work with no setup: no login, no cookie, no app review.
What you need to know before you run it
Follower lists work out of the box. Instagram serves relationship lists only to a signed-in caller, so this actor reads them through a licensed data source. You supply nothing.
following lists need your own cookie. This is the one real limitation and it is worth knowing before you start: the licensed source covers follower lists only. Ask for a following list without supplying a cookie and you get an uncharged PROVIDER_UNSUPPORTED row explaining exactly that — never a silent empty result, and never a charge.
To unlock following, or to run on your own account's rate limit rather than a shared one, put your own cookie in sessionCookies:
- In Chrome:
F12→ Application → Cookies →https://www.instagram.com→ copy thesessionid
value. Pasting the whole cookie string works too.
- Your cookie takes priority over everything else. The run uses it and nothing else, which is the
point — you are buying isolation and full following support.
- Use an account you own and are authorized to automate.
Cookie values, proxy URLs, and request headers are never logged or written to output. Logs contain only slot numbers, counts, retry reasons, and result totals.
Input
profiles: up to five usernames, handles, or Instagram profile URLs.listType:followers,following, orboth. See the note above —followingneeds a cookie.maxItemsPerProfile: 1-1,000 rows per source profile and list; default 100.sessionCookies: optional. Your own Instagram account cookie.proxyConfiguration: proxy configuration. Your ownproxyUrlsare used exactly as supplied;
metered Apify groups (RESIDENTIAL, GOOGLE_SERP) are not offered and are replaced with rotating datacenter addresses, with a warning in the log and run status.
maxAttempts: 1-12 bounded attempts; default 8.requestTimeoutSeconds: 5-30 seconds per request.maxRunSeconds: 20-180 second run deadline.
Empty profiles returns one clearly labeled _sample row and makes no request, proxy connection, or billing event.
What you are charged for
You are charged per delivered follower row, once each, and for nothing else.
Every other outcome is free and clearly labeled. Sample rows, unresolvable profiles, unsupported following requests, and runs that stop early all arrive as uncharged diagnostic rows carrying an errorCode and a plain-English details field. A run that returns nothing costs nothing.
If a run stops before reaching your requested limit, everything it already collected is delivered and correct, and one uncharged row tells you it stopped and why. Re-run to continue.
How it works
The source username is resolved from the public, logged-out profile endpoint first, because that answers a guest request and costs nothing. Only if Instagram gates that lookup is a paid resolution used. The relationship list itself has no logged-out route, so it is read from the licensed source, or from your cookie when you supply one.
Failures are named for what they are rather than flattened into one generic error: a rate limit reads as a rate limit, an upstream outage as an upstream outage, and a problem on our side is never reported as a problem on yours.
Output
Each genuine row includes the relationship account ID, username, full name, privacy and verification flags, profile image, source profile, relationship type, and profile URL.