Instagram Profile Scraper avatar

Instagram Profile Scraper

Pricing

from $2.00 / 1,000 post scrapeds

Go to Apify Store
Instagram Profile Scraper

Instagram Profile Scraper

Scrape public Instagram profiles anonymously — full name, bio, followers/following, posts count, verified/business flags, category, external link, profile picture, plus a best-effort list of recent posts (caption, likes, comments, media URLs). No login required. HTTP-only.

Pricing

from $2.00 / 1,000 post scrapeds

Rating

0.0

(0)

Developer

bootforge

bootforge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

The Instagram Profile Scraper is an Apify actor that extracts public Instagram profile data — no login, no account, no cookies. Pass any username, @handle, profile URL, or post URL and get one structured record per profile: full name, biography, follower/following counts, post count, verified/business flags, category, external link, and profile picture — plus a best-effort list of recent posts (caption, likes, comments, media URLs).

Use it for influencer research, lead generation, competitor tracking, or social-media analytics — exported to JSON, CSV, or Excel, or pulled from the Apify API.

Table of contents

What the Instagram profile scraper does

  • 🔓 No login required — anonymous HTTP extraction; no Instagram account, password, or session cookie.
  • 🧾 Username, handle, URL, or post URL — accepts nasa, @nasa, https://instagram.com/nasa/, or a https://instagram.com/p/ABC123/ post URL (returns the profile that owns the post).
  • 👥 Full profile metadata — full name, bio, follower/following counts, post count, verified/business flags, category, external link, and profile picture.
  • 🖼️ Recent posts — best-effort list of recent posts (caption, likes, comments, media URLs), controlled by max_posts (0 = metadata only).
  • 📄 Two output shapespost (one flat row per post, profile fields denormalized — CSV-friendly) or profile (posts nested as JSON).
  • 💳 Pay only for what you get — private accounts return metadata and are charged; not-found, blocked, or errored profiles are never charged.

How to scrape Instagram profiles

  1. Click Try for free and open the actor.
  2. Add one or more targets — usernames, @handles, profile URLs, or post URLs.
  3. Set max_posts (default 12; use 0 for metadata only).
  4. Choose output_modepost for spreadsheets, profile for JSON pipelines.
  5. Select a residential proxy (Apify Proxy residential is prefilled).
  6. Click Start, then export as JSON, CSV, or Excel.

Scrape profiles with recent posts:

{
"targets": ["nasa", "@natgeo", "https://instagram.com/bbcearth/"],
"max_posts": 12,
"output_mode": "post",
"proxy": {"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}
}

Metadata only (cheapest — no posts):

{
"targets": ["nasa"],
"max_posts": 0,
"proxy": {"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}
}

Instagram profile scraper input

FieldDescription
targetsUsernames, @handles, profile URLs, or post URLs (nasa, @nasa, https://instagram.com/nasa/, https://instagram.com/p/ABC123/). A post URL returns the profile that owns it. Required.
max_postsBest-effort cap on recent posts per profile (default 12, max 500). 0 = metadata only. Anonymous pagination may stop early and return a partial result — that is normal, not an error.
output_modepost (default) — one row per post, profile fields denormalized (clean CSV). profile — one row per profile with posts nested as JSON.
proxyRequired. Instagram blocks datacenter IPs — use a residential proxy (Apify Proxy residential, prefilled) or your own via a provider object.

Instagram profile data output

Each row is one post with the profile denormalized onto it (output_mode: post). Sample:

{
"username": "nasa",
"full_name": "NASA",
"biography": "Explore the universe and discover our home planet with NASA.",
"followers": 97800000,
"following": 78,
"posts_count": 4120,
"is_verified": true,
"is_private": false,
"is_business": true,
"category": "Science, Technology & Engineering",
"external_url": "https://www.nasa.gov/",
"profile_pic_url": "https://instagram.fxyz1-1.fna.fbcdn.net/v/...",
"user_id": "528817151",
"posts_collected": 12,
"partial": false,
"post_shortcode": "C8xAbC1DefG",
"post_url": "https://www.instagram.com/p/C8xAbC1DefG/",
"post_caption": "A new view of the Pillars of Creation from the James Webb Space Telescope.",
"post_likes": 1240533,
"post_comments": 8821,
"post_taken_at": "2026-06-10T14:02:11+00:00",
"post_display_url": "https://instagram.fxyz1-1.fna.fbcdn.net/v/...",
"scraped_at": "2026-06-19T08:30:00+00:00",
"error": null
}
Field groupFields
Profile (every row)username, full_name, biography, followers, following, posts_count, is_verified, is_private, is_business, category, external_url, profile_pic_url, user_id, posts_collected, partial, scraped_at, error
Per post (post mode)post_shortcode, post_url, post_caption, post_likes, post_comments, post_taken_at, post_display_url

Profiles with no posts (private / not-found / max_posts=0) emit a single metadata row. In profile mode, posts are nested in a posts array instead of being flattened.

How much it costs

This actor uses pay-per-event pricing — you pay for what you scrape, not for time.

EventUSD
Actor start (per GB memory)$0.005
Profile scraped$0.008
Post scraped$0.002

Default memory is 1 GB, so the start event is $0.005 per run.

Typical runProfilesPosts eachCost
Single profile, metadata only10~$0.01
100 influencers, 12 posts each10012~$3.21
1,000 profiles, metadata only1,0000~$8.01
1,000 profiles + 5 posts each1,0005~$18.01

You only pay for profiles actually delivered. Not-found, blocked, or errored profiles are not charged. Private accounts return metadata and are charged.

A residential proxy is required — Instagram blocks datacenter IPs (including Apify's servers). The easiest option is Apify's managed residential proxy, which this actor prefills:

{"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}

You can also plug in your own residential provider (Bright Data, Oxylabs, SmartProxy, or any raw_urls proxy). If you run your own scrapers — on or off Apify — and need reliable residential IPs for Instagram or other social sites, we use and recommend DataImpulse: pay-as-you-go, per-country targeting, no monthly minimum.

👉 Get DataImpulse residential proxies (referral link)

Why this Instagram profile scraper

  • No login, no cookies — pure anonymous HTTP extraction; nothing to get your account flagged or banned.
  • Flexible targets — mix usernames, handles, profile URLs, and post URLs in one run.
  • CSV-ready or JSON-readypost mode flattens for spreadsheets; profile mode nests for pipelines.
  • Honest billing — only delivered profiles and posts are charged; failures cost nothing.
  • Open source — the underlying instagram-scraper Python package ships a Typer CLI and a FastAPI server; the Apify wrapper is a thin layer.

FAQ

Do I need an Instagram account or login? No. The actor extracts only publicly visible profile data anonymously over HTTP — no account, password, or session cookie. It cannot access private content, so private posts are never returned.

Which proxies work best for Instagram? Residential proxies. Instagram blocks datacenter IPs, so Apify's residential group (prefilled) is the easiest choice. For your own scrapers we recommend DataImpulse residential IPs (referral link).

Can I scrape private profiles? Only their public metadata — name, follower count, bio, category, and picture. Posts of private accounts are not accessible anonymously, so the profile row is returned without posts, still charged as one profile.

How many recent posts can I get? Set max_posts up to 500. Pagination is best-effort under anonymous access; for large back-catalogs the partial flag marks profiles where collection stopped early. That is expected behavior, not an error.

Am I charged for profiles that don't exist or are blocked? No. Not-found, blocked, and errored profiles are never charged. Private accounts are charged because metadata is still delivered.

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.

Rate this actor ⭐

If the Instagram Profile Scraper saved you time, please leave a review on its Apify Store page — ratings help other people find it and tell us what to build next. Hit a bug or missing field? Open an issue through the actor's Issues tab and we'll fix it fast — recency and reliability are what keep this actor ranking.

Building a broader social or lead pipeline? These actors use the same proxy config format and Pydantic-validated output.

  • Instagram Post Scraper — scrape posts by username or direct post/reel URL: caption, likes, comments, media URLs, owner. No login.
  • Instagram Comment Scraper — pull comments from any public post or reel: author, text, likes, timestamp. No login.
  • Google Maps Scraper — extract business leads with emails, phone numbers, reviews, and social links.
  • LinkedIn Profile Scraper — scrape LinkedIn profiles via your li_at cookie: structured fields, full experience history, optional contact enrichment.