Instagram Contact Scraper — Email & Phone Extractor avatar

Instagram Contact Scraper — Email & Phone Extractor

Pricing

from $3.00 / 1,000 contact founds

Go to Apify Store
Instagram Contact Scraper — Email & Phone Extractor

Instagram Contact Scraper — Email & Phone Extractor

Extract emails and phone numbers from public Instagram profiles, using business and creator account fields, bio text and bio links. No login needed; works with Apify MCP and the API.

Pricing

from $3.00 / 1,000 contact founds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

53

Total users

26

Monthly active users

14 days ago

Last modified

Share

What is Instagram Contact Scraper?

Instagram Contact Scraper takes Instagram usernames or profile URLs and returns one row per profile with the contact details the account publishes: the business email and phone from the contact button, emails and phone numbers written in the bio, bio links and the external website, plus follower count, verification, business-account flag and category. A hasContact flag tells you at a glance which profiles can be reached. Influencer marketers, agencies, sales teams and AI agents use it to turn a list of handles into an outreach list, with no Instagram login.

Why marketers use it for creator outreach

  • Every public contact source in one row. Contact-button details and bio text are both checked, and the best email and phone are put in email and phone.
  • Reachable or not, at a glance. hasContact is true when an email or phone was found.
  • Lower price for profiles without contacts. Profiles with no published contact are billed at a smaller rate, or skipped for free with onlyWithContact.
  • Context for prioritizing. followersCount, isVerified, isBusinessAccount and businessCategory help you decide who to contact first.
  • Handles or URLs. Paste @name, name or the full profile URL; duplicates are skipped.

How to use it

Get contacts for a list of creators:

{
"usernames": ["humansofny", "natgeo", "https://www.instagram.com/nasa/"]
}

Keep only profiles that publish a contact:

{
"usernames": ["humansofny", "natgeo", "nasa"],
"onlyWithContact": true,
"maxItems": 50
}
InputWhat it controls
usernamesInstagram usernames, @handles or profile URLs. Required.
onlyWithContactSave only profiles where an email or phone was found (default off)
maxItemsMost profiles to save in one run, which also caps the cost

Still looking for accounts? Start with Instagram User Search Scraper (linked below) to find profiles by keyword, then pass the usernames in here.

Output: contact data you receive

This row has the same fields as a real result, but every value is fictional to protect the account owner's privacy. Fields with no value are left out of the row:

{
"username": "example_studio",
"fullName": "Example Studio",
"userId": "1234567890",
"email": "hello@example-studio.com",
"bioEmails": ["hello@example-studio.com"],
"bioPhones": [],
"bioLinks": ["https://example-studio.com/shop"],
"externalUrl": "https://example-studio.com/shop",
"biography": "Handmade ceramics. Collabs: hello@example-studio.com",
"isBusinessAccount": false,
"followersCount": 48210,
"isVerified": false,
"isPrivate": false,
"profileUrl": "https://www.instagram.com/example_studio/",
"hasContact": true,
"scrapedAt": "2026-10-01T00:19:51.312Z"
}
FieldWhat it contains
email, phoneThe best email and phone found, from the contact button first, then the bio
bioEmails, bioPhonesEvery email and phone number written in the bio
bioLinks, externalUrlThe profile's links and website
hasContacttrue when an email or phone was found
followersCount, isVerified, isBusinessAccount, businessCategoryContext for prioritizing outreach
biography, fullName, profileUrlWho the account is

OUTPUT in the default key-value store counts profiles, contacts found and profiles without contacts for the whole run.

Example workflow: an influencer outreach list

A skincare brand has 200 creator handles from a hashtag search. They run them with onlyWithContact turned on, so only reachable creators are saved and the rest cost nothing. They sort by followersCount, keep accounts where isBusinessAccount is true for paid partnerships, and pass the email column to Email Address Validator before sending the first pitch.

Pricing

This Actor uses Pay per event. Apify platform usage is included in the event price. Each saved profile is one event: a contact event when an email or phone was found, or a smaller no-contact event when it was not. Each run also has one start event. The live Pricing tab on this page shows the current prices.

  • 100 profiles, 40 with contacts = 40 contact events + 60 no-contact events + 1 start event.
  • With onlyWithContact on, the same run is 40 contact events + 1 start event.
  • maxItems caps each run, so it doubles as a cost ceiling.

Creator outreach with AI agents (MCP)

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

Find contact details for these 20 Instagram creators. Keep only the ones with an email or phone, and give me the email, follower count and website for each.

Agent checklist:

  1. Pass handles or URLs in usernames; set onlyWithContact: true when the user wants reachable profiles only.
  2. Read rows with get-dataset-items; use hasContact to sort reachable profiles first.
  3. Read OUTPUT for counts of contacts found and profiles without contacts.
  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-contact-scraper/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"usernames": ["humansofny", "nasa"], "onlyWithContact": true}'
Your next stepUseWhy
When you still need to find accounts by keywordInstagram User Search ScraperProfiles for any niche or keyword
When you want the people commenting on a postInstagram Post Engagers ScraperCommenter usernames from public posts and Reels
When you want to check audience quality firstInstagram Fake Follower AuditorFake-follower risk score per profile
When you then want contacts from the linked websitesContact Details ScraperEmails, phones and socials from each website
When you then want to check which emails are deliverableEmail Address ValidatorSyntax, mail server, disposable and role checks

Best results

Starting situationHelpful actionExpected outcome
A long list of creatorsTurn on onlyWithContactOnly reachable profiles, lower cost
Creators who link a website instead of an emailPass externalUrl values to Contact Details ScraperEmails from the creator's own site
Budget limitsSet maxItemsA fixed maximum cost per run
Brand partnershipsFilter on isBusinessAccount and businessCategoryAccounts set up for business contact

Builder's note

I found that creators publish contact details in two places, the contact button and the bio text, so the Actor checks both and puts the best email and phone in their own columns. I learned that many profiles publish no contact at all, which is why those rows cost less and can be skipped entirely with onlyWithContact.

FAQ

Can I pass profile URLs instead of usernames?

Yes. Usernames, @handles and full Instagram profile URLs all work and can be mixed.

Where do the emails come from?

From what the account publishes: the business contact button and the bio text. For emails on a linked website, pass externalUrl to Contact Details Scraper.

What does hasContact mean?

It is true when the profile publishes an email or a phone number, and false when it publishes neither.

Which profiles work best?

Public creator and business profiles. Business and creator accounts often fill the contact button, which gives the most reliable email and phone.

Why are some fields missing from a row?

Fields with no value are left out of the row to keep it compact. For example, phone appears only when a phone number was found.

Responsible use

This Actor collects contact details that Instagram accounts publish, which is personal data protected by laws such as the GDPR and CCPA. Use it with a lawful basis such as legitimate business interest, follow CAN-SPAM and anti-spam rules, honor opt-out requests, 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.