Instagram Following Scraper | $0.5/1K on Starter
Pricing
from $0.45 / 1,000 following accounts
Instagram Following Scraper | $0.5/1K on Starter
Extract accounts followed by public Instagram profiles across resumable paid runs for $0.50 per 1,000 rows on Starter, with lower Scale and Business rates. No login, cookies, browser, or proxy setup. Export to JSON, CSV, or Excel.
Pricing
from $0.45 / 1,000 following accounts
Rating
0.0
(0)
Developer
Public Signal Labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Extract accounts followed by public Instagram profiles across resumable paid runs for $0.50 per 1,000 rows on Starter, with lower Scale and Business rates. No login, cookies, browser, or proxy setup. Export to JSON, CSV, or Excel.
What this Actor does
- Accepts one or more public Instagram account handles
- Extracts followed-account records across resumable paid runs, with up to 20,000 per account in each run
- Returns structured rows ready for JSON, CSV, Excel, XML, or API workflows
- Works without Instagram login credentials, cookies, session IDs, browsers, or proxy configuration
- Returns a continuation token after each unfinished paid extraction so you can resume from the latest checkpoint
Use it for public account research, creator discovery, competitor following analysis, and repeatable data pipelines.
Quick start
- Enter one or more plain Instagram handles without
@or profile URLs. - Choose the maximum number of followed accounts to return per source account.
- Run the Actor, then open or export the default dataset.
{"Account": ["mrbeast"],"resultsLimit": 200}
Input
| Field | Rules |
|---|---|
Account | Required list of plain Instagram handles. Do not include @, profile URLs, or numeric IDs. Paying users may submit multiple unique accounts; FREE users may submit exactly one. |
resultsLimit | Required integer per account from 25 through 20,000 for each run. The default and Store prefill are 200. Paid extractions can continue across runs; FREE runs are capped at 1,000. |
continuationToken | Optional short-lived secret token returned by a previous paid run. Requires exactly one Account matching the account bound into the token. Use it to continue that extraction from its latest checkpoint, including large exports split across multiple runs. |
Dataset rows
Every charged dataset item has exactly this shape:
{"username_scrape": "mrbeast","id": "123456789","full_name": "Example Person","is_private": false,"is_verified": false,"profile_pic_url": "https://...","username": "example_person"}
| Field | Meaning |
|---|---|
profile_pic_url | External profile-picture URL; it may expire |
username | Instagram handle of an account followed by the source account |
id | Instagram user ID of an account followed by the source account, always represented as a string |
full_name | Public display name of an account followed by the source account |
is_private | Whether the followed account is private |
is_verified | Whether the followed account is verified |
username_scrape | Source account whose following list was requested |
The default dataset contains followed-account rows only. Following-list ordering is controlled by Instagram and may change between runs. Profile-picture URLs are external and can expire.
Run summary
Run status, source failures, counts, and continuation tokens are stored in the default key-value store's OUTPUT record rather than mixed into the dataset:
{"status": "SUCCEEDED","isPaying": true,"requestedAccounts": 1,"resultsLimitPerAccount": 200,"deliveredCount": 200,"chargedCount": 200,"sources": [{"inputIndex": 0,"account": "mrbeast","status": "succeeded","deliveredCount": 200,"chargedCount": 200}],"continuations": [{"inputIndex": 0,"account": "mrbeast","hasNextPage": true,"nextContinuationToken": "<secret token for a paid continuation>"}]}
status can be SUCCEEDED, PARTIAL, FAILED, or CHARGE_LIMIT_REACHED. Inspect each source entry even when the run itself completes. A non-PII run and charging summary is stored separately as AUDIT.
Resumable paid exports with continuation tokens
Paid exports can continue across resumable runs until the source list ends. Each run can request up to 20,000 followed accounts per source account. To continue the extraction, read nextContinuationToken from the account's entry in OUTPUT.continuations, then start a new run with the same single handle.
Use a continuation token whenever you want to resume after a selected batch or spending-limit stop. For large exports, use batches of about 1,000 rows and pass the newest token into each subsequent run. Smaller checkpoints reduce the amount of work that may need to be retried if a run is interrupted.
{"Account": ["mrbeast"],"resultsLimit": 1000,"continuationToken": "<token from OUTPUT>"}
A continuation may require the current page to be processed again when the prior segment stopped partway through that page. Already delivered rows are skipped and not charged twice.
FREE boundary
FREE runs are limited to one account and an effective maximum of 1,000 results. They cannot submit or receive continuation tokens. These checks run before extraction begins. The public schema keeps the 20,000 maximum so paying users can request larger segments.
Limitations
This Actor:
- Reads following lists from public Instagram accounts only
- Does not bypass private-account access controls
- Does not enrich followed-account records with emails, phone numbers, posts, or engagement metrics
- Cannot guarantee following-list order or stable profile-picture URLs
- May return fewer rows when Instagram reports no more followed accounts or when a run reaches its spending limit
API and CLI use
Call the Actor through the standard Apify Actor Runs API. Read followed-account data from the run's default dataset and reconciliation metadata from the OUTPUT and AUDIT key-value-store records. Dataset rows are the billable unit.
With the current Apify CLI:
apify actors call publicsignallabs/instagram-following \--input '{"Account":["mrbeast"],"resultsLimit":200}' \--output-dataset
The same Actor can be called with the Apify JavaScript or Python clients, REST API, schedules, webhooks, and platform integrations.
Responsible use
Only collect and use public data where you have a lawful purpose. Respect privacy, platform rules, and applicable data-protection law. Minimize retained personal data, secure exported datasets, and delete records when they are no longer needed.
This Actor is unofficial and is not affiliated with or endorsed by Instagram or Meta.
FAQ
Does it require an Instagram account?
No. The Actor does not require Instagram login credentials, cookies, or a session ID.
Do I need to configure proxies or manage blocked sessions?
No. The Actor exposes no proxy, cookie, browser, or session configuration. It handles temporary failures with bounded retries and reports each source outcome in OUTPUT.
Can paid following-list exports be resumed?
Yes. Paid exports can continue across resumable runs until the source list ends. Request up to 20,000 followed accounts in each run, then pass the returned nextContinuationToken into a new run for the same single account. For large exports, batches of about 1,000 rows are recommended so progress is checkpointed frequently. Always use the newest token returned by the previous run.
Can it extract a following list from a private source account?
No. It works with following lists available from public source accounts and does not bypass access controls.
Can one run process multiple accounts?
Yes for paying users. FREE runs accept exactly one source account.
How do I export the results?
Open the run's default dataset in Apify Console and choose JSON, CSV, Excel, XML, or another supported dataset export format. Programmatic workflows can read the same dataset through the API.
Support
Use the Issues tab on this Actor's Apify Store page. Include the run ID, expected result, and observed result. Never include continuation tokens, API tokens, cookies, or other credentials.