Home › Guides › Instagram Profile Scraper

Instagram profile data in bulk: exact followers, bio links and an engagement rate

The Instagram Bulk Profile Scraper turns a list of usernames or profile URLs into one clean row per profile: exact follower count, bio, bio links, verified and private flags, highlight titles, Threads name and whether a story is up — plus, from the public embed page, the exact post count and six newest posts, and from those median likes, median comments, an engagement rate, posts per week and the last-post time. It reads only what a signed-out visitor sees: no login, no cookies, no account.

Who it's for

What you get

GroupFields (filled share, n=150)
IdentityUser ID, username, URL, full name (100%); verified & private flags (100%)
ReachExact followers & following (100%); post count (98%)
BioBiography (98.7%), bio links (94.7%), external URL, hashtags, mentions, Threads name (44%), bio emails (0.7%)
EngagementMedian likes & comments, engagement rate (96.7%), posts per week, last-post time, six newest posts (98%)
ExtrasStory status, highlight titles, reels flag; optional "accounts you might like" list

Engagement rate = (median likes + median comments) ÷ followers, over the six newest posts. Shared posts are counted and coauthors names them, so you can recompute on own-content only. A value Instagram did not give is null, never 0.

Input

InputWhat it does
profilesOne per line: natgeo, @natgeo or a URL (up to 10,000; duplicates read once)
includeRecentPostsRead the embed page for post count, six newest posts and engagement (default on); off = fast, profile fields only
includeSimilarAccountsAdd the "accounts you might like" list (default off)
extractBioContacts · maxProfilesList emails written in the bio (default on) · stop after N rows
{ "profiles": ["https://www.instagram.com/tartinebakery/", "@onyxcoffeelab"], "includeSimilarAccounts": true }

Honest limits

Pricing

Pay per result: one profile event per delivered row, public or private, with or without post figures. Status rows and every line that gave no row (not a profile, no such account, signed-in-only, a duplicate) are free. Current prices are on the actor's Pricing tab on Apify.

Screen creators by real engagement: paste handles and get exact followers, bio links and an engagement rate — up to 10,000 profiles a run, exportable to JSON, CSV or Excel.

Open the Instagram Profile Scraper →

Related

This Actor gives profile-level metrics; for a profile's full post feed use the Instagram Profile Posts Scraper, for one post's details use the Instagram Post & Reel Details Scraper, for reels with a performance score the Instagram Reels Scraper, and for comment sections the Instagram Comments Scraper.

Frequently asked questions

Do I need an Instagram account, login or cookies?

No. It reads only what a signed-out visitor sees, so figures can differ from what a signed-in user sees. No login, no cookies, nothing from your own account.

How is the engagement rate computed?

(median likes + median comments) ÷ followers, from the six newest posts. Shared posts are counted and coauthors names them, so you can recompute on own content only. A profile whose six newest all hide likes has no engagementRate.

Can I get email or phone?

No — the public profile carries none. The only contact a row can hold is an email the owner wrote into the bio (bioEmails), and that is rare: about 0.7% of profiles in a 150-profile run.

Why do some profiles have no post figures?

Instagram's public embed page sometimes shows no data (recentPostsStatus: not-offered); the row still has its profile fields. A private or signed-in-only profile comes as its public header only.

How many profiles can one run read?

Up to 10,000, read eight at a time; duplicates are read once. You pay one profile event per delivered row — status rows and lines that give no profile are free.

Using the data lawfully

Rows hold what an account shows publicly on its profile. A profile can belong to a private person or a minor even when it looks like a business, so you are responsible for a lawful reason to process personal data (GDPR and similar). bioEmails is exactly an address the owner wrote into the public bio — nothing hidden is looked up. Not affiliated with Instagram or Meta.

Instagram Bulk Profile Scraper — followers, bio and a real engagement rate per profile. Pay per row, no API key.

Get Instagram profile data on Apify →