Instagram Scraper Followers Following ✅
Pricing
from $0.65 / 1,000 results
Instagram Scraper Followers Following ✅
Download an Instagram account’s followers or following. Input a username or a list of usernames (array). The actor auto-paginates, adds safe delays to reduce blocks, and returns clean JSON/CSV with id, username, full name, profile link, and privacy flags—ideal for research and growth.
Pricing
from $0.65 / 1,000 results
Rating
5.0
(1)
Developer
Scraping Solutions
Maintained by CommunityActor stats
11
Bookmarked
608
Total users
104
Monthly active users
16 hours
Issues response
10 days ago
Last modified
Categories
Share
Instagram Followers & Following Scraper - No Login / No Cookies
Download followers or following lists from public Instagram profiles and export structured audience data to JSON, CSV, Excel, XML, or the Apify API.
For deeper audience analysis, optional profile enrichment adds current follower, following, and post counts plus biography and other available profile details to each discovered user.
No Instagram login or cookies are required.
What you can do
- Download followers from one or multiple public Instagram accounts.
- Download the accounts followed by each source profile.
- Continue large exports using a protected continuation token.
- Deduplicate profiles before they are delivered and charged.
- Enrich discovered profiles with current audience and profile metrics.
- Keep partial results when Instagram ends pagination or a later request fails.
- Export the dataset or connect it to automated Apify workflows.
Input
| Field | Type | Required | Description |
|---|---|---|---|
Account | String array | Yes | Instagram usernames or profile URLs, one per line. |
resultsLimit | Integer | Yes | Maximum number of results per source account. This is a maximum, not a guarantee. |
dataToScrape | Select | Yes | Choose Followers or Followings. |
enrichProfileDetails | Boolean | No | Adds profile metrics and details. Each successful enrichment creates an additional paid event. Default: false. |
continuationToken | String | No | Continues a previous extraction for the same single account and relationship type. |
Basic example
{"Account": ["public_account"],"resultsLimit": 500,"dataToScrape": "Followers","enrichProfileDetails": false}
Enriched audience example
{"Account": ["public_account"],"resultsLimit": 100,"dataToScrape": "Followers","enrichProfileDetails": true}
Start enriched runs with 25 to 100 results. Enrichment requires an additional profile lookup for every discovered user and therefore increases both duration and cost.
Output without enrichment
Each dataset row includes the relationship and the basic profile information available in the followers or following response:
{"username_scrape": "public_account","type": "Followers","id": "123456789","username": "discovered_user","full_name": "Discovered User","is_private": false,"is_verified": false,"profile_pic_url": "https://..."}
Output with enrichment
Successful enrichment can add the following fields:
{"username_scrape": "public_account","type": "Followers","id": "123456789","username": "discovered_creator","full_name": "Discovered Creator","is_private": false,"is_verified": false,"profile_pic_url": "https://...","profile_enriched": true,"biography": "Creator and photographer","follower_count": 18420,"following_count": 715,"media_count": 326,"country": "US"}
| Enriched field | Description |
|---|---|
profile_enriched | Whether useful enrichment data was returned. |
biography | Current public profile biography. |
follower_count | Current number of followers. |
following_count | Current number of accounts followed. |
media_count | Current number of published posts. |
country | Country returned by the profile lookup, when available. |
date_joined | Join information returned by the profile lookup, when available. |
Existing fields such as full_name, is_private, is_verified, and profile_pic_url are refreshed when current values are available.
If enrichment fails for an individual profile, the Actor keeps the basic row and sets profile_enriched to false. That row is not charged as an enrichment.
Continuation tokens
When more pages are available, the run OUTPUT contains a nextContinuationToken. Use it in a new run with:
- exactly one source account;
- the same account that generated the token;
- the same
dataToScrapevalue; and - a new
resultsLimitfor the next batch.
{"Account": ["the_same_public_account"],"resultsLimit": 1000,"dataToScrape": "Followers","continuationToken": "cursor_xxxxxxxxxxxxxxxxx","enrichProfileDetails": true}
Provider cursors are never exposed. The public continuation token references protected state stored by the Actor.
Pricing
The Actor uses two value-based events:
| Event | When it is charged |
|---|---|
| Dataset result | Once when a valid follower or following row is written to the default dataset. |
| Profile enrichment | Once when useful additional profile data is successfully returned for that row. |
The enrichment event is used only when enrichProfileDetails is enabled. Failed lookups, retries, empty responses, and base-only rows are not charged as enrichments. A backup lookup does not create a second enrichment charge.
The Actor checks the available run budget before starting paid enrichment and stops safely when the charge limit cannot fund the next operation.
Review the Actor Pricing tab for the current event prices and plan discounts.
Free users and API usage
To reduce automated abuse of the free tier, free users who start the Actor through the API can receive at most 1,000 results per run. Run it from the Apify Console to use the full free budget available to the account. Paid users are governed by their configured result limit and available run charge budget.
Current Instagram limitations
Instagram controls the availability and pagination of follower and following lists.
- Verified profiles may return only an initial partial follower list without a cursor.
- Public non-verified profiles can normally paginate, but the number of available rows can still be lower than the displayed follower count.
- Private, restricted, deleted, or unavailable profiles can return no results.
- Instagram can change page sizes, cursors, and availability without notice.
The Actor preserves every unique row already delivered, avoids charging duplicate rows, and stops instead of repeatedly requesting an unavailable cursor.
Recommended workflow
- Test one target account with 25 to 100 results.
- Confirm that Instagram supplies pagination for that profile.
- Enable enrichment only when profile-level metrics are needed.
- Increase the result limit gradually for larger exports.
- Use the continuation token to split very large downloads across controlled runs.
Responsible use
Use the Actor only for legitimate research, analytics, and business workflows. Process personal data according to applicable laws, Instagram terms, and your own privacy obligations. Do not use the output for spam, harassment, discrimination, or unauthorized profiling.
Support
When reporting an issue, include the Actor run ID, the public input, and the exported full log. Never publish continuation tokens or private credentials in an issue.