Instagram Leads Scraper - Emails & Contacts
Pricing
from $6.00 / 1,000 lead profile scrapeds
Instagram Leads Scraper - Emails & Contacts
Turn public Instagram creator and business profiles into contactable lead rows: emails and phones from the bio and the creator's own linked website, resolved website domain, classified socials, follower stats and a 0-100 lead score. Measured 45% contactable on real business handles.
Pricing
from $6.00 / 1,000 lead profile scrapeds
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
3
Monthly active users
17 hours ago
Last modified
Categories
Share
Turn public Instagram creator and business profiles into contactable lead rows: emails and phone numbers, the creator's real website domain, classified social profiles, follower stats and a 0-100 lead score. No login.
Read this first: where the contacts actually come from
Instagram does not expose a business email, phone or category to logged-out callers. Its logged-out profile payload has 23 fields and not one of them is a contact field - I probed it directly. Any tool claiming "Instagram emails, no login" is either logged in or guessing.
So this actor uses the two places creators publish contact details on purpose:
- The bio text - creators routinely write "email: hello@studio.com" or a WhatsApp number.
- Their own linked website - the bio link is resolved (including link-in-bio hubs like Linktree and Beacons) and one page is read for
mailto:/tel:addresses and social profiles.
Nothing is inferred, pattern-guessed, or read from a private field.
Measured yield (not a promise - an actual measurement)
Tested on 20 real small-business handles discovered from business-intent hashtags (#weddingphotographer, #personaltrainer, #realtorlife) on 2026-07-30:
| Result | |
|---|---|
| Website domain found | 18 / 20 (90%) |
| Social profiles classified | 14 / 20 (70%) |
| Email found | 8 / 20 (40%) |
| Phone found | 2 / 20 (10%) |
| Contactable (email or phone) | 9 / 20 (45%) |
| Average lead score | 42 |
Set requireContact: true and you receive only rows that actually have an email or phone - so you never pay for a blank.
Note that mega-brands are the worst case for this job: their sites are app shells with no mailto:. Independent operators - photographers, trainers, coaches, studios, agencies - are where this actor pays for itself.
What you get per lead
profileUrl · username · userId · fullName · biography · followersCount · followingCount · postsCount · isVerified · looksBusinessAccount · emails[] · primaryEmail · phones[] · primaryPhone · hasContactInfo · contactSource · websiteUrl · websiteDomain · websiteReachable · websiteTitle · linkHubUrl · bioLinks[] · socials{} (linkedin, twitter/x, facebook, youtube, tiktok, pinterest, threads, whatsapp, telegram) · socialCount · threadsUsername · threadsProfileUrl · hasLinkedFacebook · profilePicUrl · leadScore · scrapedAt
Plus, with includeEngagement: avgReelPlays · medianReelPlays · avgReelLikes · avgReelComments · avgReelEngagementRate · reelEngagementPerFollower
Input
{"usernames": ["belle_art_photography", "lyons_media_production"],"crawlWebsites": true,"requireContact": true,"minFollowers": 1000,"includeEngagement": false,"maxResults": 100,"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }}
| Field | What it does |
|---|---|
usernames | Public creator/business handles - any number |
crawlWebsites | Resolve the bio link and read one page for contacts + socials (this is where most emails come from) |
requireContact | Only return rows that actually have an email or phone |
onlyBusinessAccounts | Keep to accounts with 2+ business signals (on by default) |
minFollowers | Audience floor, applied before any crawling |
skipPrivate | Skip private accounts (on by default) |
includeEngagement | Add a Reel-based engagement snapshot to qualify as well as contact |
maxResults | Cap. 0 = no limit |
Personal data - the line this actor holds
- Business and creator accounts only.
onlyBusinessAccountsis on by default, and private accounts are skipped by default. This actor is for reaching businesses that publish contact details to be contacted. - Only deliberately published details. Contacts come from the bio the creator wrote and the website they linked. There is no email guessing (no
first.last@domainpermutation), no scraping of follower lists, and no access to anything behind a login. - You remain the data controller. If you are in the EU/UK, B2B outreach still requires a lawful basis under GDPR/PECR, and you must honour opt-outs. Please do not use this for consumer/personal accounts.
- Fields the source does not publish come back null rather than filled with a guess.
Pricing (pay per event, no start fee)
| Event | Price | What it covers |
|---|---|---|
profile | $0.006 | One lead row: follower stats, bio, website domain, classified socials, lead score |
contactVerified | $0.012 | Charged only when an email or phone was actually found |
That means blanks are cheap and hits cost more - you are billed for the enrichment only when it worked. Rows are billed before they are written.
Use with AI assistants (MCP)
Works as an LLM tool via the Apify MCP server - ask an assistant to "find contact details for these 40 photographers" and it can call this actor directly.
Agent-ready: autonomous payments (x402 & Skyfire)
This actor is agent-ready — AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:
- x402 — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server — no account, no API key.
- Skyfire — agent-to-service payments for fully autonomous AI-agent workflows.
Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.
Integrations
Make, Zapier, Slack, Google Drive, Airbyte, GitHub, the Apify API, Schedules and Webhooks.
FAQ
Do I need a login or cookies? No.
Why does a profile have no email? Because that creator published none. See the measured yield above - 45% of representative business accounts are contactable. Use requireContact: true to receive only those.
Do you guess emails? No. No permutation, no pattern-matching against a domain. Only addresses actually published in the bio or on the linked site.
How do I find handles to feed in? Pair this with Instagram Hashtag Scraper - search a business-intent hashtag, take the ownerUsername column, feed it here. That is exactly how this actor's yield was measured.
Related scrapers by scrapesage
- Instagram Hashtag Scraper - find the handles to enrich
- Instagram Profile Scraper - bulk profile stats and engagement
- Instagram Reels Scraper - play counts and Reel analytics
- Website Contact Scraper - contact extraction across any website