Instagram Profile Scraper + Emails & Contacts avatar

Instagram Profile Scraper + Emails & Contacts

Pricing

from $4.00 / 1,000 profile scrapeds

Go to Apify Store
Instagram Profile Scraper + Emails & Contacts

Instagram Profile Scraper + Emails & Contacts

Scrape public Instagram profiles by username or URL: name, bio, followers, following, verification, website, recent posts, plus public email and phone. No login required. Works with Apify MCP and the API.

Pricing

from $4.00 / 1,000 profile scrapeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

106

Total users

20

Monthly active users

3 days ago

Last modified

Share

What is Instagram Profile Scraper?

Instagram Profile Scraper turns Instagram usernames or profile URLs into one clean row per profile. Each row has the display name, bio, follower and following counts, verification, business flag, external link, bio links, profile picture, and any email or phone the account publishes. It also includes up to 12 recent posts with caption, comment count, media type and date. Brand teams, influencer marketers, researchers and AI agents use it to size up and enrich Instagram accounts in bulk, with no Instagram login.

Why marketers use it for profile research

  • The numbers that matter first. followersCount, followingCount and isVerified sit at the top of every row for quick ranking.
  • Contacts when they are public. email and phone come from the contact button or the bio when the account publishes them.
  • Recent activity at a glance. recentPosts shows up to 12 latest posts with caption, comments, date and media type.
  • Handles or URLs, deduplicated. Paste natgeo, @nasa or a full profile URL; repeats are skipped.
  • Pay only for real profiles. Unknown usernames are listed in the run summary and are free.

How to use it

Look up a list of creators with their recent posts:

{
"usernames": ["natgeo", "@nasa", "https://www.instagram.com/humansofny/"],
"scrapeRecentPosts": true,
"maxRecentPosts": 12
}

Profile details only, smallest rows:

{
"usernames": ["nike", "adidas", "puma"],
"scrapeRecentPosts": false
}
InputWhat it controls
usernamesInstagram usernames, @handles or profile URLs. Required.
scrapeRecentPostsAdd the profile's latest posts (default on)
maxRecentPostsPosts per profile, up to 12 (default 12)
proxyConfigurationApify Proxy settings; Residential by default

Need more than 12 posts per account? Continue with Instagram Posts Scraper linked below.

Output: Instagram profile data you receive

A real row for a public brand account (recentPosts shortened to one post, image URLs left out):

{
"username": "natgeo",
"fullName": "National Geographic",
"userId": "787132",
"biography": "Step into wonder and find your inner explorer with National Geographic 🌎",
"followersCount": 268480203,
"followingCount": 194,
"isVerified": true,
"isPrivate": false,
"isBusinessAccount": false,
"externalUrl": "http://visitstore.bio/natgeo",
"bioLinks": ["http://visitstore.bio/natgeo"],
"highlightReelCount": 0,
"igtvVideoCount": 1,
"recentPosts": [
{
"postId": "3983118388705688735",
"shortCode": "DdG4RIxIPyf",
"postUrl": "https://www.instagram.com/p/DdG4RIxIPyf/",
"caption": "Presented by @Rolex. Welcome to Africa 🌍 ...",
"commentCount": 509,
"isVideo": true,
"postedAt": "2026-09-10T13:00:14.000Z"
}
],
"profileUrl": "https://www.instagram.com/natgeo/",
"scrapedAt": "2026-10-01T02:46:03.173Z"
}
FieldWhat it contains
username, fullName, userId, biography, profileUrlWho the account is
followersCount, followingCountAudience size
isVerified, isPrivate, isBusinessAccountAccount status flags
email, phonePublic contact details, included when the account publishes them
externalUrl, bioLinksThe website and links in the bio
recentPostsUp to 12 latest posts with URL, caption, comment count, media type and date
postsCountTotal posts when Instagram's public data reports it, mostly for smaller accounts
profilePicUrl, profilePicUrlHdProfile picture links

Fields without a value are left out of the row. OUTPUT in the default key-value store reports the run outcome and lists any usernames that were not found.

Example workflow: shortlisting creators for a campaign

An outdoor brand has 50 creator handles from a hashtag search. They run them with maxRecentPosts set to 6, sort by followersCount, and read recentPosts to confirm each creator posted in the last month. They keep creators whose email is filled for direct outreach. Then they pass the rest to Instagram Contact Scraper to look for a contact in the bio and contact button.

Pricing

This Actor uses Pay per event. Apify platform usage is included in the event price, so you pay one event per profile scraped plus one start event per run. Unknown usernames are free. The live Pricing tab on this page shows the current price.

  • 50 profiles = 50 profile events + 1 start event.
  • Recent posts come at no extra charge.
  • The size of your usernames list sets the ceiling for each run.

Profile research with AI agents (MCP)

Connect this Actor to an AI agent through Apify MCP and ask in plain language:

Look up these 10 Instagram accounts and rank them by followers. For each, tell me if it is verified, its website, any public email, and the date of its latest post.

Agent checklist:

  1. Pass handles or URLs in usernames.
  2. Set scrapeRecentPosts: false when only profile numbers matter, to keep rows short.
  3. Read rows with get-dataset-items; read OUTPUT for usernames that were not found.
  4. Use profileUrl as the stable ID when joining with other data.

API example

curl -X POST "https://api.apify.com/v2/acts/khadinakbar~instagram-profile-scraper/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"usernames": ["natgeo", "nasa"], "scrapeRecentPosts": false}'
Your next stepUseWhy
When you still need to find accounts by keywordInstagram User Search ScraperProfiles for any niche or keyword
When you want more than 12 posts per accountInstagram Posts ScraperFull post lists by profile, hashtag or URL
When you then want contact detailsInstagram Contact ScraperEmails and phones from bio and contact button
When you want to check audience qualityInstagram Fake Follower AuditorAudience-quality score per profile
When you want to know how old an account isInstagram Account Age CheckerEstimated creation date per account

Best results

Starting situationHelpful actionExpected outcome
Ranking a long list of accountsTurn off scrapeRecentPostsShorter rows with all the profile numbers
Checking how active an account isKeep maxRecentPosts at 6 to 12Recent captions and dates
Mixed handles and URLsPaste them as they areOne row per account, duplicates skipped
Needing the full post historyUse Instagram Posts ScraperEvery post, beyond the latest 12

Builder's note

I found that most people want a quick read on an account before deciding anything else, so each row starts with followers, verification and the website, followed by the latest posts. I learned that Instagram's public profile data reports a reliable total post count mainly for smaller accounts, so the Actor includes postsCount only when that number is the true total.

FAQ

Do I need an Instagram account?

No. The Actor reads public profile data and needs no login or cookies.

Why is postsCount missing for some accounts?

Instagram's public profile data reports the total post count mainly for smaller accounts. For larger ones the Actor leaves the field out so every number you get is the real one.

Does it return emails?

When an account publishes an email or phone on its contact button or in its bio, it appears in email and phone.

What happens with an unknown username?

It is listed in OUTPUT.notFound and is free.

Can I get more than 12 posts?

Each profile row carries up to 12 recent posts. For complete post lists, use Instagram Posts Scraper.

Responsible use

This Actor collects public Instagram profile data, which can include personal data protected by laws such as the GDPR and CCPA. Use it only with a lawful basis, honor opt-outs, and respect Instagram's terms. Read Apify's guide on whether web scraping is legal for more context. Instagram is a trademark of Meta Platforms, Inc. This independent Actor is not affiliated with, associated with, or endorsed by Instagram or Meta. For questions or bugs, open a ticket in the Issues tab.