Instagram Profile Scraper avatar

Instagram Profile Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Instagram Profile Scraper

Instagram Profile Scraper

Scrape Instagram profile information from public accounts. Input usernames, @handles, or profile URLs and get follower counts, biography, verification status, and website in a flat row per profile.

Pricing

from $3.00 / 1,000 results

Rating

1.2

(3)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

173

Total users

19

Monthly active users

0.025 hours

Issues response

3 days ago

Last modified

Share

ParseForge

Instagram Profile Scraper

Scrape Instagram profile data from any public account, up to a million per run. Get follower counts, biography, verification status, website, and full name. No login or API key. Export to CSV, JSON, Excel, or XML.

Instagram's official API requires a business account, app review, and strict rate limits. This reads public profile pages directly, extracting structured data from any list of usernames, @handles, or profile URLs. You get a clean dataset of profile information without posts, reels, or stories.

Who uses itWhat they scrape Instagram for
Influencer marketing managersQualifying creator partnerships by audience size and bio keywords
Brand analystsTracking competitor follower growth and profile changes over time
Lead generation specialistsBuilding prospect lists from Instagram bios that mention specific interests
Academic researchersStudying public figure verification patterns and profile completeness

What it does

This Actor collects Instagram profile information for a list of usernames and returns each profile as a flat row with follower counts, biography, verification status, and more.

  • πŸ‘₯ Bulk username input: Paste up to a million usernames, @handles, or profile URLs in one run.
  • πŸ“Š Core profile metrics: Follower count, following count, post count, full name, and biography.
  • βœ… Verification status: See whether each account carries the blue verified badge.
  • πŸ”— Bio links: Every link the profile lists in its bio, not just the first one.
  • πŸ“ Flat row output: Every profile lands as one row in your dataset, ready for spreadsheets.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

Every field in a row

FieldWhat it is
username, fullName, id, fbid, urlThe handle, display name, Instagram's numeric profile id, the Meta-wide id, and the profile URL
followerCount, followsCount, postsCountFollowers and following are exact. The post count is exact up to 9,999 and rounded above that, which is all Instagram publishes logged out; postsCountIsRounded tells you which row is which
biography, bioLinks, externalUrl, externalUrlShimmedThe bio text and every link listed in it
isVerified, isPrivate, isMemorializedBlue badge, private account, memorialized account
hasClips, highlightReelCount, showTextPostAppBadgeWhether the account posts reels, how many story highlights it keeps, whether it links a Threads profile
profilePicUrl, pronouns, inputUrl, scrapedAtAvatar URL, listed pronouns, the input line this row came from, and the capture timestamp

Those are the fields Instagram serves to a logged-out visitor. Business category, business email and business phone are not among them: Instagram stopped serving them without a login, and this Actor returns no column rather than an always-empty one.

What you can do with Instagram data

πŸ“ˆ Track competitor growth.

A brand analyst runs a list of 50 competitor usernames weekly to monitor follower count changes and decide when to adjust campaign spend.

πŸ” Find influencer partners.

An agency scrapes profiles from a niche hashtag, filters by follower range and bio keywords, and shortlists creators for an outreach campaign.

🧹 Clean a CRM list.

A sales team feeds Instagram handles from their database through the scraper to enrich records with current follower counts and website URLs.

πŸ“‹ Audit verification status.

A researcher collects 10,000 public figure profiles to analyze what share carry the verified badge across different categories.

Why choose this scraper

What you get
No API registrationReads public profile pages directly with no app setup or OAuth flow
Bulk scrapingHandles up to a million profiles in a single run
Flexible inputAccepts plain usernames, @handles, or full instagram.com URLs
Fixed schemaEvery profile returns the same fields so your pipeline never breaks
No empty columnsOnly the fields Instagram actually serves logged out, so nothing arrives permanently blank

How it compares

This Actor focuses exclusively on profile metadata, while the other Instagram scrapers also handle posts, reels, and comments.

FeatureParseForgeInstagram ScraperInstagram Reel Scraper
Profile metadata onlyYesNot listedNot listed
Bulk username inputYes, up to 1M per runNot listedNot listed
Verification statusYesNot listedNot listed
Post and reel contentNo, profile data onlyYesYes
Reel video downloadNoNot listedYes

Configure the run

Drive the Actor from a list of usernames, @handles, or profile URLs, and set a maximum number of profiles to collect per run. The Input tab lists every parameter.

Instagram stops serving profile data to an IP after a handful of lookups and returns a login wall instead, so the run needs proxies to get through a list of any size. The residential proxy is on by default and you can leave it alone: it is the setting that lets a run finish. Measured on 7 September 2026, the same ten handles returned 10 of 10 profiles through the residential pool and 2 of 10 with the proxy switched off.

A first run with the defaults:

{
"usernames": [
"instagram",
"cristiano",
"leomessi",
"therock",
"beyonce",
"playstation",
"xbox",
"ea",
"fifa",
"uefa"
],
"maxItems": 10,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

A larger pull:

{
"usernames": [
"instagram",
"cristiano",
"leomessi",
"therock",
"beyonce",
"playstation",
"xbox",
"ea",
"fifa",
"uefa"
],
"maxItems": 200,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Pricing

Pay-per-event, with two events:

EventFree planPaid plans
Each profile returned$0.0035from $0.003
Actor start, once per run$0.40from $0.375

Rows that could not be resolved are written to your dataset with an error field so you can see what happened to them, and they are never charged. If a run returns no profiles at all, it ends as a failed run with zero result charges; the once-per-run Actor start event is still billed, as it is on any run that starts.

Results collectedApproximate cost
100 results$0.75
1,000 results$3.90
10,000 results$35.40

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Instagram Profile Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Instagram through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/instagram-profile-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results for some usernames?

Those rows arrive with an error field telling you which of two things happened. Unavailable means the handle does not resolve to a public profile β€” check the spelling and confirm it loads in a logged-out browser. Blocked means Instagram refused the request even after retries from fresh IPs; re-run those handles, and make sure the residential proxy is enabled. Either way you are not charged for those rows.

Why is the follower count different from what I see in the app?

Follower counts change constantly. The Actor captures the count at the moment of scraping. A small discrepancy is normal for active accounts.

The run is taking a long time. Is that expected?

A run fetches one page per handle and works ten at a time, so a list of ten profiles finishes in well under a minute. Lists of thousands take proportionally longer. If a run is close to its timeout it stops collecting 25 seconds early and writes what it has, so you get a finished dataset instead of a killed run.

Why do I get an error when I paste profile URLs?

Ensure each URL is on its own line and starts with 'instagram.com/' or 'www.instagram.com/'. The Actor also accepts plain usernames and @handles, which are more reliable.

Can I scrape email addresses from bios?

The Actor captures the full bio text. If a profile includes an email address in its bio, it will appear in the biography field of your output.

FAQ

QuestionAnswer
Does this scraper collect Instagram posts or reels?No. This Actor scrapes profile information only: bio, follower counts, verification status, website, and similar metadata. For posts and reels, use the Instagram Scraper or Instagram Reel Scraper actors.
Do I need an Instagram account or login?No login is required. The Actor reads public profile pages directly. Private accounts cannot be scraped.
How many profiles can I scrape in one run?You can set the maximum up to one million profiles per run. The Actor works through your list a few profiles at a time β€” the pace is deliberately moderate, because hammering Instagram is what gets a run blocked.
Do I need to configure proxies?No. The residential proxy is enabled by default and that is the recommended setting. Instagram rate-limits each exit IP after a handful of lookups, so a run without proxies will not get through a list of any length.
What input formats does the username field accept?Plain usernames like 'nike', @handles like '@nike', and full profile URLs like 'instagram.com/nike' all work. The Actor normalizes them automatically.
Can I scrape private Instagram profiles?No. Only public profiles are accessible. Private accounts will return limited or no data.
Does this Actor scrape Instagram Stories?No. Stories are ephemeral content and are not included. This Actor focuses on static profile information.
What export formats are supported?You can export your dataset as CSV, JSON, Excel, or XML from the Apify platform.
Is this Actor compliant with Instagram's terms?The Actor reads publicly available web pages. You are responsible for using the data in compliance with applicable laws and Instagram's terms of service.
Can I schedule this scraper to run automatically?Yes. Apify supports scheduled runs so you can collect profile data daily, weekly, or on any cron schedule.
What is the difference between this and the Instagram Scraper actor?This Actor scrapes only profile metadata. The Instagram Scraper also collects posts, reels, hashtags, places, and comments. Choose this one when you only need profile information.

Browse the full ParseForge collection for more scrapers.

πŸ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Meta Platforms, Inc. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.