Instagram Profile Scraper
Pricing
from $2.00 / 1,000 post scrapeds
Instagram Profile Scraper
Extract public Instagram profiles from usernames, @handles, profile URLs or post URLs: full_name, biography, followers, following, posts_count, verified and business flags, category, external_url, and recent posts with likes and comments. Export JSON, CSV or Excel.
Pricing
from $2.00 / 1,000 post scrapeds
Rating
0.0
(0)
Developer
bootforge
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share
The Instagram Profile Scraper extracts public Instagram profiles from a username, an @handle, a profile URL or a post URL. Each run returns the full name, biography, follower and following counts, post count, verified and business flags, category, external link and profile picture — plus a list of recent posts with captions, likes and comments.
What you get
One row per post with the profile repeated on it (output_mode: post), or one row per profile with the posts nested (output_mode: profile).
{"username": "nike","full_name": "Nike","biography": "Just Do It.","followers": 291626051,"following": 264,"posts_count": 1668,"is_verified": true,"is_private": false,"is_business": true,"category": null,"external_url": "http://empli.fi/nike","profile_pic_url": "https://instagram.fbaq6-1.fna.fbcdn.net/v/...","user_id": "13460080","posts_collected": 12,"partial": false,"post_shortcode": "Dbdo4gTupuE","post_url": "https://www.instagram.com/p/Dbdo4gTupuE/","post_caption": "The game looks different from here.","post_likes": 175374,"post_comments": 1148,"post_taken_at": "2026-07-31T16:00:05+00:00","post_display_url": "https://instagram.fxyz1-1.fna.fbcdn.net/v/...","scraped_at": "2026-06-19T08:30:00+00:00","error": null}
Export the dataset as JSON, CSV or Excel, or read it from the Apify API.
What it costs
| Event | Price |
|---|---|
Actor Start (apify-actor-start) | $0.005 |
Profile scraped (profile-scraped) | $0.008 |
Post scraped (post-scraped) | $0.002 |
You pay per profile and per post delivered, not for time. A single profile with metadata only costs about $0.01; a hundred influencers with twelve recent posts each costs about $3.21, and a thousand profiles with metadata only about $8.01. The residential proxy is included in those prices.
Profiles that do not exist, or that could not be read, are never charged. A private account is charged once, because its public metadata is still returned.
Input
| Field | Type | Required | Default | What it does |
|---|---|---|---|---|
targets | array | yes | — | The Instagram profiles to scrape, one per entry. Each entry can be a username (nike), an @handle (@nike), a profile URL (https://instagram.com/nike/) or a post URL (https://instagram.com/p/ABC123/), which returns the profile that owns that post. Mix the forms freely in one run. Required. |
max_posts | integer | no | 12 | How many recent posts to return for each profile, from 0 to 500. Default 12. Set 0 to return profile metadata only, which is the cheapest run because no post is charged. A profile whose post list came back short is marked partial: true in the dataset row, and posts_collected says how many arrived. |
output_mode | string | no | "post" | The shape of the dataset rows. Default post. Choose post for one row per post with the profile fields repeated on every row, which reads cleanly as CSV or Excel; a profile with no posts still gets a single metadata row. Choose profile for one row per profile with its posts nested in a JSON array, which suits JSON pipelines. |
proxyUrls | array | no | — | Leave empty and the run uses the residential proxy that comes included in the price of the run. To route the run through your own provider instead, add one gateway URL per entry, for example http://user:pass@host:port. Any provider that issues URLs works (DataImpulse, BrightData, Oxylabs, Smartproxy, or your own). When set, only the URLs you give are used. |
How to run it
- Open the actor on Apify Console.
- Put your usernames, @handles, profile URLs or post URLs into Profiles or URLs.
- Set Max Posts —
12by default,0for profile metadata only. - Run. Export JSON, CSV or Excel from the dataset.
{"targets": ["nike", "@zara", "https://instagram.com/p/Dbdo4gTupuE/"],"max_posts": 12,"output_mode": "post"}
Minimal input:
{"targets": ["nike"]}
Available as the MCP tool herus13--instagram-profile-scraper on mcp.apify.com and through the Apify API; send the same JSON.
Why this scraper
- One field for every way you hold a profile. Usernames, @handles, profile links and even a link to a single post all resolve to the profile, so you can paste a list exactly as you collected it.
- Nothing to sign in with. No Instagram account and no cookie are needed, so nothing of yours is exposed to the run.
- A spreadsheet or a pipeline, your choice.
postmode flattens everything into one wide row per post;profilemode keeps one record per profile with its posts nested. - You only pay for what arrives. Missing and unreadable profiles cost nothing, and the
partialandposts_collectedfields tell you exactly how complete each row is. - Residential proxy included in the price of the run, with your own gateway URLs accepted when you prefer them.
Use cases
- Influencer discovery and vetting — follower and following counts, post count, verified and business flags, category and external link in one record, so a candidate list can be filtered before anyone opens Instagram. Recent posts come along, so engagement can be sanity-checked against audience size in the same pass.
- Lead generation from business profiles — business accounts expose a category and an external link, which is usually the company website and the start of a contact trail.
- Competitor and brand tracking — run the same handle set on a schedule and watch follower growth and changes to the bio or the link in it, which often move right before a campaign or a launch.
- Social analytics enrichment — attach profile context to data you already hold: which of your mentioners are verified, how large their audience is, what category they work in.
- Creator marketplace listings — keep a catalogue of creator profiles fresh with picture, bio, category and counts refreshed on a schedule.
FAQ
Do I need an Instagram account? No. The actor returns only what a public profile shows to anyone, so there is nothing to sign in with and no private content is ever returned.
Can I scrape private profiles? Only their public metadata — name, follower count, biography, category and picture. Their posts are not public, so the profile row arrives without posts and is charged as one profile.
How many recent posts can I get? Up to 500 per profile. On very large back-catalogues a run may return fewer than you asked for; those rows carry partial: true and posts_collected, so the shortfall is visible rather than silent.
Am I charged for profiles that don't exist? No. Missing, blocked and errored profiles are never charged. A private account is charged, because its metadata is delivered.
Is a proxy included? A residential proxy is included in the price of the run. To use your own, paste gateway URLs into Your own proxy URLs. Scraping at volume? Your own DataImpulse account is cheaper per GB.
Is scraping Instagram legal? This actor collects only publicly available profile data. You are responsible for complying with Instagram's terms and applicable laws, and for not collecting personal data without a lawful basis.
Related actors
- Instagram Post Scraper — posts from a profile, a hashtag or a location, with captions, likes, comments and media URLs.
- Instagram Comment Scraper — comments on any public post, with author, text, likes and replies.
- Google Maps Scraper — business leads with emails, phone numbers, reviews and social links.
- LinkedIn Profile Scraper — LinkedIn profiles with structured fields, full experience history and optional contact enrichment.
