Instagram Contact Scraper — Email & Phone Extractor
Pricing
from $3.00 / 1,000 contact founds
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
Maintained by CommunityActor stats
0
Bookmarked
53
Total users
26
Monthly active users
14 days ago
Last modified
Categories
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
emailandphone. - Reachable or not, at a glance.
hasContactistruewhen 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,isBusinessAccountandbusinessCategoryhelp you decide who to contact first. - Handles or URLs. Paste
@name,nameor 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}
| Input | What it controls |
|---|---|
usernames | Instagram usernames, @handles or profile URLs. Required. |
onlyWithContact | Save only profiles where an email or phone was found (default off) |
maxItems | Most 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"}
| Field | What it contains |
|---|---|
email, phone | The best email and phone found, from the contact button first, then the bio |
bioEmails, bioPhones | Every email and phone number written in the bio |
bioLinks, externalUrl | The profile's links and website |
hasContact | true when an email or phone was found |
followersCount, isVerified, isBusinessAccount, businessCategory | Context for prioritizing outreach |
biography, fullName, profileUrl | Who 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
onlyWithContacton, the same run is 40 contact events + 1 start event. maxItemscaps 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:
- Pass handles or URLs in
usernames; setonlyWithContact: truewhen the user wants reachable profiles only. - Read rows with
get-dataset-items; usehasContactto sort reachable profiles first. - Read
OUTPUTfor counts of contacts found and profiles without contacts. - Use
profileUrlas 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}'
Related Instagram tools from the same developer
| Your next step | Use | Why |
|---|---|---|
| When you still need to find accounts by keyword | Instagram User Search Scraper | Profiles for any niche or keyword |
| When you want the people commenting on a post | Instagram Post Engagers Scraper | Commenter usernames from public posts and Reels |
| When you want to check audience quality first | Instagram Fake Follower Auditor | Fake-follower risk score per profile |
| When you then want contacts from the linked websites | Contact Details Scraper | Emails, phones and socials from each website |
| When you then want to check which emails are deliverable | Email Address Validator | Syntax, mail server, disposable and role checks |
Best results
| Starting situation | Helpful action | Expected outcome |
|---|---|---|
| A long list of creators | Turn on onlyWithContact | Only reachable profiles, lower cost |
| Creators who link a website instead of an email | Pass externalUrl values to Contact Details Scraper | Emails from the creator's own site |
| Budget limits | Set maxItems | A fixed maximum cost per run |
| Brand partnerships | Filter on isBusinessAccount and businessCategory | Accounts 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.