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
12
Total users
3
Monthly active users
6 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; plan-specific effective limits are detailed in the Pricing section. |
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.
Pricing
Dataset rows are the billable unit: one dataset item event is charged for each persisted followed-account row. The lead rate is $0.50 per 1,000 rows on Starter, with lower Scale and Business rates. Validation failures and rejected input do not incur a row event. If the run reaches its spending limit, it stops before storing an uncharged row.
FREE demo limits
FREE Apify accounts can run this Actor up to 5 times per UTC calendar month. Each admitted FREE run accepts exactly one source account, returns up to 1,000 followed accounts, and cannot submit or receive a continuation token. Console, CLI, API, schedules, webhooks, MCP, and other Apify launch methods share the same account allowance. A run counts once admitted even when it is later aborted or unsuccessful, and resurrecting it does not start another extraction. Creating another task or API token does not reset the allowance. Paid Apify users are not subject to these demo limits.
Run summary
Run status, source failures, counts, continuation tokens, and non-sensitive FREE admission metadata are stored in the default key-value store's OUTPUT record rather than mixed into the dataset:
Allowance exhaustion and replay complete the Apify run successfully, while OUTPUT.status remains FAILED; the stable stopReason/freeTier.outcome remains machine-readable, and identity/quota verification errors still fail the platform run.
{"status": "SUCCEEDED","stopReason": null,"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.
Admitted FREE runs include a freeTier object with the UTC month, claimed slot, remaining allowance, effective result limit, and policy version. Rejected FREE runs use stable reasons such as free_monthly_limit, free_run_already_consumed, or free_quota_unavailable. The record never contains an Apify user ID, API token, or internal quota-storage identifier.
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.
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.