Instagram Profile Scraper 💰 $1/1K — Followers, Bio & Contact
Pricing
from $1.00 / 1,000 results
Instagram Profile Scraper 💰 $1/1K — Followers, Bio & Contact
💰 $1 per 1,000 profile results. Look up public Instagram accounts by username or profile URL: follower counts, bio links and public business emails and phone numbers when available. Optional recent posts and engagement use the data Instagram returns. No login required.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
Black Falcon Data
Maintained by CommunityActor stats
0
Bookmarked
30
Total users
13
Monthly active users
2 days ago
Last modified
Categories
Share
What does Instagram Profile Scraper do?
💰 $1/1K — Instagram Profile Scraper looks up public accounts on instagram.com from usernames or profile URLs, without requiring a login or session cookie. Profile rows can include follower, following and post counts, biography and bio links, category and verification flags, public business contact details, and engagement calculated from available recent posts.
Field availability varies by account and by what Instagram returns. Missing or unmeasured values stay null rather than being invented. Check each row's status; private accounts have limited public information, and profiles that cannot be read are skipped without a result charge. This actor does not retrieve follower lists or private profile content.
How to use this actor
- 👉 Register for a free Apify account — no credit card required.
- 🎉 Just click Sign up free on Apify → and complete a quick signup.
- 💰 A free Apify account includes $5 in monthly credits — enough to test this actor.
- ⏳ Scrape during the free trial, with no commitment or upfront payment required.
Key features
- 💰 $1 per 1,000 profile results: plus the $0.01 run-start event. Profiles skipped because they cannot be read do not incur a result charge.
- 👤 Public profile details: account identity, follower and following counts, post count, biography, category and verification flags when available.
- 📇 Public business contacts: email, phone and address fields when the account supplies them. Missing contact information remains null.
- 🔗 Bio links: available URLs, labels and link types from the account's public bio.
- 📊 Engagement from available posts: averages use measured likes and comments. Missing measurements remain null; the sample size is included.
- 🖼️ Optional recent posts: include the posts supplied with the profile response, with available captions, counts and URLs. There is no guaranteed post count or full-history crawl.
- 🧭 Status and missing values: rows distinguish
ok,private,not_foundandnot_fetched. Turning offincludeDetailsreturns username/URL records without fetching profile details. - 🔁 Watchlist changes: track identity, biography, bio links, category, public contacts and account flags. Follower and post counts are excluded from change detection.
- 🔀 Usernames or profile URLs: use a
usernamesarray,startUrls, or the compatible legacyqueryanddirectUrlsinputs. - 📦 Compact output and notifications: trim fields for downstream workflows and send new or changed profile records to configured notification channels.
What data can you extract from instagram.com?
Each profile row identifies the requested account and includes a source URL, collection time and status. Available profile data can include counts, biography, bio links, category, verification and public contact information. Contact fields, counts and engagement can be null. Enable includeRecentPosts to include posts supplied with the profile response; fewer posts or none may be available. It does not crawl older posts.
Input
Add account handles or profile URLs to usernames, or use startUrls for profile URLs. Legacy query and the directUrls API alias remain supported; maxResults controls the number of delivered rows.
Key parameters:
usernames— Add one username per line. Bare handles, @handles and Instagram profile URLs are accepted. Duplicate accounts are fetched once. (default:[])startUrls— Instagram profile URLs to scrape, one per line. A bare username or @handle on a line works too. (default:[])maxResults— Maximum total results (0 = unlimited). (default:100)includeDetails— Fetch each account's public profile. Off returns only the resolved username and URL. Incremental mode turns this back on by itself - there is nothing to compare between runs without it. (default:true)includeRecentPosts— Include recent posts supplied in the public profile response, with captions, counts and URLs. Instagram may return fewer posts or none. This uses the profile response and does not crawl older posts. Off by default. (default:false)incrementalMode— Compare each run against the previous one and emit only what changed. All runs of this actor share ONE history by default - that is what stops an edit to your username list from re-billing every account you kept. Set State Key to keep separate watchlists apart. (default:false)stateKey— Optional. Names the history a run reads and writes. Leave it empty and every run shares one history. Set it to a different value per watchlist when you want two lists tracked independently.compact— Core fields only (for AI-agent/MCP workflows). (default:false)query— One or more Instagram usernames. A pasted profile URL or an @handle works too — both are normalised to the bare username. For several accounts in one run, paste a JSON array as text: ["nasa", "natgeo"].- ...and 16 more parameters
Input examples
Look up a shortlist of profiles — The primary input is an array of usernames or profile URLs.
→ Available public profile rows, with null values for fields that cannot be measured.
{"usernames": ["nasa","bbcnews","garyvee"],"maxResults": 3}
Include available recent posts — Include posts supplied with the profile response; Instagram may return fewer posts or none.
→ A profile row with recent post data when available.
{"usernames": ["garyvee"],"includeRecentPosts": true,"maxResults": 1}
Monitor changes in a watchlist — Reuse this stateKey for later runs of the same watchlist.
→ New or changed profiles; unchanged profiles are suppressed unless emitUnchanged is enabled.
{"usernames": ["nasa","bbcnews"],"incrementalMode": true,"stateKey": "profile-watchlist"}
Use profile URLs — Use account URLs, not post or reel URLs.
→ Available profiles from the supplied URLs.
{"startUrls": ["https://www.instagram.com/nasa/","https://www.instagram.com/bbcnews/"],"maxResults": 2}
Keep an existing query integration — Legacy query accepts a username or a JSON array of usernames encoded as text.
→ The same profile output as the usernames input.
{"query": "[\"nasa\",\"bbcnews\"]","maxResults": 2}
Export compact profile data — Keep core fields and omit empty values.
→ Compact profile rows that retain status and source identity.
{"usernames": ["nasa","garyvee"],"compact": true,"excludeEmptyFields": true,"maxResults": 2}
Output
Each run produces a dataset of structured profile records. Results can be downloaded as JSON, CSV, or Excel from the Dataset tab in Apify Console.
Example profile record
{"listingId": "2ae305ef5b02614cca82fa3d49ed1b59a95974c898e3d416b909059c4d6104e3","listingKey": "bbcnews","searchQuery": "bbcnews","contentQuality": "full","detailFetched": true,"scrapedAt": "2026-09-04T18:46:32.658Z","source": "instagram.com","url": "https://www.instagram.com/bbcnews/","portalUrl": "https://www.instagram.com/bbcnews/","status": "ok","username": "bbcnews","userId": "16278726","fbid": "17841400681780254","fullName": "BBC News","biography": "For the stories that matter to you - \ntap this link 👇","profilePicUrl": "https://scontent-lga3-2.cdninstagram.com/v/t51.2885-19/279194265_1225562787851291_421015066446466119_n.jpg?stp=dst-jpg_s150x150_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4xMDAwLmMyIn0&_nc_...","profilePicUrlHd": "https://scontent-lga3-2.cdninstagram.com/v/t51.2885-19/279194265_1225562787851291_421015066446466119_n.jpg?stp=dst-jpg_s320x320_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4xMDAwLmMyIn0&_nc_...","followersCount": 30764211,"followingCount": 59,"postsCount": 31168,"recentPostsSampled": 12,"avgLikes": 5151,"avgComments": 262,"engagementRate": 0.0001759512051194812,"latestPosts": [{"id": "3978934142796220154","shortcode": "Dc4A4WGCsb6","url": "https://www.instagram.com/p/Dc4A4WGCsb6/","takenAt": "2026-09-04T18:20:24.000Z","caption": "How much water do AI data centres really use?\n \nUS Commerce Secretary Howard Lutnick has suggested they don’t - but each one in the US uses around 2 million litres per day on average, according to the...","likes": 295,"comments": 44,"isVideo": true,"videoViewCount": 6319,"imageUrl": "https://scontent-lga3-2.cdninstagram.com/v/t51.71878-15/795253417_3071918093152721_6319307931223847771_n.jpg?stp=dst-jpg_e15_tt6&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=105&_nc_oc=Q6cZ2gHNQSyO...","productType": "clips","isPinned": false,"commentsDisabled": false,"hasAudio": true,"width": 640,"height": 1136,"hashtags": ["DataCentres","AI","BBCNews"]},{"id": "3978902122800235037","shortcode": "Dc35mZJjkId","url": "https://www.instagram.com/p/Dc35mZJjkId/","takenAt": "2026-09-04T17:16:03.000Z","caption": "The rescues in Nepal have given renewed hope to some families still waiting to find out what happened to missing relatives after the flash flooding hit the Nepal-Tibet border nine days ago.\n \nNepal's...","likes": 1605,"comments": 46,"isVideo": true,"videoViewCount": 26186,"imageUrl": "https://scontent-lga3-1.cdninstagram.com/v/t51.71878-15/795181897_1736454530900302_714098522906959846_n.jpg?stp=dst-jpg_e15_tt6&_nc_ht=scontent-lga3-1.cdninstagram.com&_nc_cat=110&_nc_oc=Q6cZ2gHNQSyOe...","productType": "clips","isPinned": false,"commentsDisabled": false,"hasAudio": true,"width": 640,"height": 1136,"hashtags": ["Nepal","Tibet","Floods","BBCNews"],"mentions": ["BBCNews"]},{"id": "3978887712597966849","shortcode": "Dc32UsmkYAB","url": "https://www.instagram.com/p/Dc32UsmkYAB/","takenAt": "2026-09-04T16:47:39.000Z","caption": "Lindsay Clancy's legal team and the judge in the murder trial had a heated exchange when her lawyer wanted to appeal the declaration of a mistrial. \n\nTap the link in @BBCNews's bio to follow the trial...","likes": 5046,"comments": 246,"isVideo": true,"videoViewCount": 121100,"imageUrl": "https://scontent-lga3-3.cdninstagram.com/v/t51.71878-15/795181892_27948599088167522_7332190108515321900_n.jpg?stp=dst-jpg_e15_tt6&_nc_ht=scontent-lga3-3.cdninstagram.com&_nc_cat=102&_nc_oc=Q6cZ2gHNQSy...","productType": "clips","isPinned": false,"commentsDisabled": false,"hasAudio": true,"width": 640,"height": 1136,"hashtags": ["LindsayClancy","BBCNews"],"mentions": ["BBCNews"]},{"id": "3978882276820868357","shortcode": "Dc31FmJAV0F","url": "https://www.instagram.com/p/Dc31FmJAV0F/","takenAt": "2026-09-04T16:36:51.000Z","caption": "Lindsay Clancy is charged with three counts of first-degree murder in the deaths of her three children at their Massachusetts home in 2023.\n \nThe judge has announced his intention to declare a mistria...","likes": 3229,"comments": 265,"isVideo": true,"videoViewCount": 85827,"imageUrl": "https://scontent-lga3-2.cdninstagram.com/v/t51.71878-15/793595419_1756696128707420_1631065647763040012_n.jpg?stp=dst-jpg_e15_tt6&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=1&_nc_oc=Q6cZ2gHNQSyOeb...","productType": "clips","isPinned": false,"commentsDisabled": false,"hasAudio": true,"width": 640,"height": 1136,"hashtags": ["BBCNews"],"mentions": ["BBCNews"]},{"id": "3978870240939848079","shortcode": "Dc3yWc2l7GP","url": "https://www.instagram.com/p/Dc3yWc2l7GP/","takenAt": "2026-09-04T16:12:32.000Z","caption": "The judge in the trial of Lindsay Clancy has announced his intention to declare a mistrial, but has given Clancy's legal team one hour to appeal the decision.\n \nIt comes after a note from the jury sai...","likes": 12854,"comments": 944,"isVideo": true,"videoViewCount": 362164,"imageUrl": "https://scontent-lga3-2.cdninstagram.com/v/t51.71878-15/793867420_2015278022449072_3808136678146702325_n.jpg?stp=dst-jpg_e15_tt6&_nc_ht=scontent-lga3-2.cdninstagram.com&_nc_cat=1&_nc_oc=Q6cZ2gHNQSyOeb...","productType": "clips","isPinned": false,"commentsDisabled": false,"hasAudio": true,"width": 640,"height": 1136,"hashtags": ["BBCNews"],"mentions": ["BBCNews"]},"... 7 more items"],"highlightReelCount": 35,"igtvVideoCount": 3419,"isPrivate": false,"isVerified": true,"isBusinessAccount": true,"isProfessionalAccount": true,"isJoinedRecently": false,"hasClips": true,"hasChannel": false,"hasGuides": false,"hasArEffects": false,"businessContactMethod": "UNKNOWN","externalUrl": "https://bbc.in/news","bioLinks": [{"url": "https://bbc.in/news","title": "Link in bio","linkType": "external"}],"relatedProfiles": ["dailymail","discover.magazine","dwdocumentary","bbclondon","unitednations","... 45 more items"]}
Incremental fields
When incremental mode is on, each record also carries:
changeType— one ofNEW,UPDATED, orUNCHANGED.
How to scrape instagram.com
- Go to Instagram Profile Scraper in Apify Console.
- Add account handles to
usernames, or paste Instagram profile URLs intostartUrls. - Set
maxResultsto cap delivered profile rows. Use 0 for no result cap. - Leave
includeDetailsenabled for profile data. EnableincludeRecentPostsonly if you want available post data in each row. - Run the actor, review row statuses and warnings for profiles that cannot be read, then export the dataset as JSON, CSV or Excel.
- For a watchlist, enable
incrementalModeand reuse a stablestateKeyon later runs.
Use cases
- Review available profile counts, bio links and engagement when assessing a creator shortlist.
- Maintain a watchlist of profile biographies, public contacts and verification changes.
- Collect published business contact details for accounts you already know.
- Export compact profile snapshots for spreadsheets, CRM tools or downstream analysis.
How much does it cost to scrape instagram.com?
Instagram Profile Scraper uses pay-per-event pricing. You pay a small fee when the run starts and then for each result that is actually produced.
- Run start: $0.01 per run
- Per result: $0.001 per profile record
Example costs:
- 10 results: $0.02
- 25 results: $0.035
- 100 results: $0.11
- 200 results: $0.21
- 500 results: $0.51
Example: recurring monitoring savings
These examples compare full re-scrapes with incremental runs at different churn rates. Churn is the share of profiles that are new or whose tracked content changed since the previous run. Actual churn depends on your query breadth, source activity, and polling frequency — the scenarios below are examples, not predictions.
Example setup: 250 profiles per run, daily polling (30 runs/month). Costs scale linearly with the number of profiles.
| Churn rate | Full re-scrape run cost | Incremental run cost | Savings vs full re-scrape | Monthly cost after baseline |
|---|---|---|---|---|
| 5% churn | $0.26 | $0.02 | $0.24 (91%) | $0.67 |
| 15% churn | $0.26 | $0.05 | $0.21 (82%) | $1.43 |
| 30% churn | $0.26 | $0.08 | $0.18 (67%) | $2.55 |
Full re-scrape monthly cost at the same cadence: $7.80. First month with incremental costs $0.91 / $1.64 / $2.72 for the 5% / 15% / 30% scenarios because the first run builds baseline state at full cost before incremental savings apply.
Platform usage is included in the per-result fee shown above.
FAQ
How many results can I get from instagram.com?
Results depend on the usernames or profile URLs you submit and which accounts Instagram makes readable during that run. Use maxResults to cap delivered rows (0 = no result cap). A successful run may contain fewer rows than requested; review warnings and row statuses.
Does Instagram Profile Scraper support recurring monitoring?
Yes. Enable incremental mode to only receive new or changed profiles on subsequent runs. This is ideal for scheduled monitoring where you want to track changes over time without re-processing the full dataset.
Can I integrate Instagram Profile Scraper with other apps?
Yes. Instagram Profile Scraper works with Apify's integrations to connect with tools like Zapier, Make, Google Sheets, Slack, and more. You can also use webhooks to trigger actions when a run completes.
Can I use Instagram Profile Scraper with the Apify API?
Yes. You can start runs, manage inputs, and retrieve results programmatically through the Apify API. Client libraries are available for JavaScript, Python, and other languages.
Can I use Instagram Profile Scraper through an MCP Server?
Yes. Apify provides an MCP Server that lets AI assistants and agents call this actor directly. Use compact mode, descriptionMaxLength, and excludeEmptyFields to keep payloads manageable for LLM context windows.
Is it legal to scrape instagram.com?
This actor extracts publicly available data from instagram.com. Web scraping of public information is generally considered legal, but you should always review the target site's terms of service and ensure your use case complies with applicable laws and regulations, including GDPR where relevant.
Your feedback
If you have questions, need a feature, or found a bug, please open an issue on the actor's page in Apify Console. Your feedback helps us improve.
You might also like
- Douyin Scraper — Hot Search, Trending & Viral — Scrape douyin.com real-time trending boards — hot search, seeding & challenge topics · rank · heat.
- Facebook Ads Scraper [💰$0.05/1k] — Ad Library & EU Reach — Scrape facebook.com/ads/library by keyword or advertiser: ad copy, image and video URLs, landing.
- Facebook Group Scraper — Posts, Comments & Engagement — Scrape facebook.com — post text & timestamps · reaction/comment/share counts · media & optional.
- Instagram Audience Scraper — Audit any public instagram.com account's audience without a login. Samples the accounts that.
- Maigret Username OSINT Scraper — cross-site handle search — Find where a username or handle exists across hundreds of social media networks and websites. Every.
- Meta Ads Library Scraper [💰$0.05/1k] — Scrape Meta's Ad Library across Facebook, Instagram, WhatsApp, Threads, Messenger and Audience.
- Pinterest Scraper — Pins, Boards, Profiles & Engagement — [💰$1.35/1K] Scrape Pinterest pins, boards and profiles by keyword or Start URL. Images, videos,.
- Quora Scraper — Q&A, Profiles & Spaces — [💰$0.8/1K] Scrape Quora questions, answers, profiles, posts, and spaces by search or URL —.
Getting started with Apify
New to Apify? Create a free account with $5 credit — no credit card required.
- Sign up — $5 platform credit included
- Open this actor and configure your input
- Click Start — export results as JSON, CSV, or Excel
Need more later? See Apify pricing.
Accepted input formats
Use usernames: ["nasa", "bbcnews"] for new integrations. Bare handles, @handles and profile URLs are accepted. Existing query and startUrls integrations remain supported. directUrls is an API alias for profile URL input. Provide one input form per request to keep the requested watchlist clear.
These inputs identify accounts; they do not perform keyword discovery or retrieve accounts from post/reel URLs.
Watchlist change detection
Use a stable stateKey to keep watchlists separate; runs without a key share the default history. Tracked fields include account identity, name, biography, bio links, category, public contacts, and verification/privacy flags. Follower, following and post counts are excluded from change detection because they change frequently.
Removing a username from your input does not declare the account deleted or create an expired-profile charge. A confirmed missing account can be reported with status: not_found.
Disclaimer
This actor accesses only publicly available data on instagram.com. You are responsible for how you use the extracted data — in particular any personal information such as names, phone numbers, or email addresses — and for complying with Instagram Profile's terms of use, applicable data-protection law (including the GDPR where it applies), and the anti-spam rules of your jurisdiction.
This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Instagram Profile or any of its subsidiaries. All trademarks mentioned are the property of their respective owners.
Search keywords
instagram scraper, instagram api, apify instagram, instagram data extraction, instagram profile scraper, instagram profile api, apify instagram profile, instagram profile data extraction, instagram.com scraper, instagram.com data, instagram.com api, social media scraper, profile data.