📸 Instagram Profile Scraper — Email, Phone & Bio Leads
Pricing
from $2.25 / 1,000 profiles
📸 Instagram Profile Scraper — Email, Phone & Bio Leads
Scrape any Instagram profile by username or URL: email, phone, business location, bio, links, socials, engagement, followers, posts, verification & recent posts. No login, no API key. Bulk lead gen at $2.25/1,000 profiles, cheaper than the official scraper.
Pricing
from $2.25 / 1,000 profiles
Rating
0.0
(0)
Developer
GoCreative AI
Maintained by CommunityActor stats
0
Bookmarked
20
Total users
14
Monthly active users
18 days ago
Last modified
Categories
Share
📸 Instagram Profile Scraper — Email, Phone & Bio Leads (No Login)
Give it Instagram usernames or profile URLs and get back clean, structured profile data — including the email and phone from the bio, business location, follower stats and computed engagement. No login, no cookies, no API key. Bulk lead generation at a flat $2.25 per 1,000 profiles — you only pay for profiles that scrape successfully.
instagram profile scraper · scrape instagram profiles · instagram email scraper · instagram email extractor · instagram bio scraper · instagram phone number scraper · instagram lead generator · influencer email finder · instagram lead generation · bulk instagram scraper · instagram contact scraper · instagram data extractor

What is Instagram Profile Scraper?
Instagram Profile Scraper extracts publicly available data from any Instagram profile — no session, no login, no account required. Point it at a list of usernames and it returns a complete, enriched lead row for each one: email, phone, bio text, classified social links, business location, follower/following counts, post count, verified status, business category, and a computed engagement rate.
Contacts are parsed from both the bio text and Instagram's dedicated business contact fields, including obfuscated formats like name [at] domain [dot] com. Every result is charged pay-per-event — you're never billed for blocked IPs, private accounts, or not-found handles.
What Instagram profile data can I extract?
| Field | Description |
|---|---|
username, full_name, user_id | Core identity |
email + email_source | Best email found, with source (business_email · public_email · bio). Parses bio text including obfuscated name [at] domain [dot] com forms and mailto: links |
business_email, public_email | Raw Instagram contact-email fields kept separately |
phone + phone_normalized + phone_source | Business/public phone, E.164-normalized, plus source |
location | Business address → city, region, country, zip, street, latitude, longitude |
external_url + bio_links + links | Link-in-bio unwrapped from Instagram's l.instagram.com redirector |
socials | Classified social handles: Twitter/X, YouTube, TikTok, Facebook, LinkedIn, Linktree, WhatsApp, Telegram, Snapchat, Pinterest, Threads, Twitch, Spotify |
engagement | Computed: avg likes, avg comments, engagement rate (%) — great for influencer vetting |
followers, following, posts_count | Audience & activity counts |
is_verified, is_business, is_private | Trust and account-type flags for lead scoring |
business_category, category_name | Niche / segmentation label |
recent_posts[] | Up to 12 latest posts with likes, comments, is_video, view_count, and caption |
Export everything to CSV, Excel, JSON or via the Apify API straight from the run.
How do I scrape Instagram profiles? (step-by-step tutorial)
Step 1 — paste usernames in:

Step 2 — get clean lead data out (export as CSV, JSON, or Excel):

- Paste any mix of usernames (
nasa), @handles (@natgeo), or full profile URLs into theusernamesfield. One per line. Duplicates are auto-removed. - Set
resultsLimit(0–12) to control how many recent posts return per profile. - Leave Proxy type on Auto (recommended). Run it.
- Download your results as CSV, Excel or JSON — or pull via the Apify API.
Example input:
{"usernames": ["nasa", "https://www.instagram.com/natgeo/", "@mkbhd"],"resultsLimit": 12,"proxyType": "auto"}
What does the Instagram profile data output look like?
Each profile returns one enriched lead row. Here's a real trimmed example (full output adds bio links, location lat/long, socials, and recent posts):
{"username": "joes.coffee.bar","full_name": "Joe's Coffee Bar","email": "joe@joescoffee.com","phone": "+15125550143","location": { "city": "Austin", "region": "TX", "country": "United States" },"followers": 18432,"following": 941,"posts_count": 312,"engagement": { "avg_likes": 642, "engagement_rate": 3.2 },"is_verified": false,"is_business": true,"business_category": "Coffee Shop","external_url": "https://joescoffee.com","socials": { "tiktok": "https://www.tiktok.com/@joescoffee" }}
Private accounts return "is_private": true with their full public bio + contact data (just empty recent_posts). Not-found handles return a clear "not_found": true flag — neither is silently skipped, neither is charged.
How much does it cost to scrape Instagram profiles?
$2.25 per 1,000 profiles (pay-per-result). You are only charged for profiles successfully returned — blocked inputs, private accounts, and not-found handles are flagged and not charged.
Apify's free plan includes $5 of monthly compute, enough for roughly 2,200 profiles per month at zero cost.
| Profiles | Estimated cost |
|---|---|
| 1,000 | ~$2.25 |
| 10,000 | ~$22.50 |
| 100,000 | ~$225 |
The price includes proxy cost (rotating IP pool) — no surprise add-ons.
Why use this Instagram profile scraper? How is it different?
- Most complete contact layer. Email + phone + business location + classified social profiles + computed engagement — in one call. Most scrapers return follower counts and stop there.
- Smart email extraction. Pulls from the Instagram business field, the public-email field, AND the bio text (including obfuscated
name [at] domain [dot] comforms andmailto:links) — higher contact-fill rate than single-source scrapers. - Engagement computed, not guessed. Engagement rate (%) and tier (nano/micro/macro/mega) calculated from real post data — vet influencer quality at a glance without a separate API.
- Reliable and no login. Rotating proxies (cheap datacenter first, residential fallback) with a fresh IP per request — no cookies and no session to break.
- Cheaper, pay-per-result. A flat $2.25/1k — you're never charged for blocked or not-found handles.
Is scraping Instagram profiles legal?
This actor collects only publicly available information visible to any visitor without logging in, and it does not bypass any authentication or access controls. The legal landscape has been shaped by US court decisions (including HiQ v. LinkedIn) confirming that scraping publicly accessible data is generally permissible.
You are responsible for lawful use: comply with GDPR/CCPA when storing personal data, and comply with anti-spam rules (CAN-SPAM, GDPR consent) for any outreach. Do not use scraped data for harassment or unlawful purposes. When in doubt, seek legal advice.
Other Instagram scrapers in this family
- 📸 Instagram Post Scraper — scrape a profile's recent posts with likes, comments, captions, and contact extraction.
- 🎬 Instagram Reels Scraper — pull reels with view counts, audio track, duration, and engagement.
- 💬 Instagram Comments Scraper — extract comments from any post or reel.
- 🎵 TikTok Profile Scraper — the same enriched contact + engagement extraction for TikTok.
Frequently asked questions
Do I need an Instagram login, cookies, or API key? No. The actor uses Instagram's public profile endpoints accessed via rotating proxies — you never log in and there is no session to break.
Where does the email come from?
Only from public data on the profile: the business/professional contact email that the account owner chose to display, and any email written in the public bio (including obfuscated forms). We cannot retrieve private emails that aren't publicly visible — no scraper can. Contact fields are populated for accounts that publish them (typically business and creator profiles) and are null otherwise.
Will it work on private accounts?
Yes — a private account still returns its full public profile and any business contact data; only recent_posts comes back empty. Use the is_private flag to filter.
How fast does it run? Pure HTTP (no browser) running requests concurrently — typically 800–1,200 profiles per minute on the default datacenter proxy setting.
Can I control the proxy type / cost? Yes. Default is Auto (cheap datacenter first, residential fallback for reliability). Force Residential for maximum reliability or Datacenter for the lowest cost.
Can I call it in real time? Yes — the actor supports Standby mode (real-time API): call the actor endpoint with your username as input and get the profile as JSON in seconds.
I'm getting fewer emails than expected.
Email coverage is genuinely highest for small-business and creator profiles (the ones who publish a contact email). Large personal accounts often don't. You can increase coverage by switching proxyType to "residential" which reduces blocks.
Support
Open an issue on the actor page or message colinballin on Apify. Response within 24 hours.