Instagram Emails Scraper avatar

Instagram Emails Scraper

Pricing

from $2.49 / 1,000 results

Go to Apify Store
Instagram Emails Scraper

Instagram Emails Scraper

Instagram Email Scraper - Fast, Advanced and Cheapest SD - Instagram Email Scraper is a lead generation tool that extracts leads with public contact emails, account names and profile URLs from Instagram results by keyword, location and email domain - Instagram email extractor.

Pricing

from $2.49 / 1,000 results

Rating

0.0

(0)

Developer

Leads Scraper

Leads Scraper

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Instagram Email Scraper

Instagram Email Scraper - Extract Public Emails from Instagram Bios by Keyword

The Instagram Email Scraper finds publicly published email addresses that Instagram accounts put in their own bios, and returns them as clean, ready-to-use rows. Give the Instagram Email Scraper a keyword such as photographer, founder or wedding planner, and it returns the accounts in that niche whose bio carries a contact address.

This Instagram Email Scraper never logs in, never touches private data and never guesses an address. Every email it returns was published by the account holder on a public profile and indexed by Google. If an account did not publish an address, the Instagram Email Scraper does not invent one.


Key Features

FeatureWhat it does
Keyword-driven searchStart the Instagram Email Scraper from a niche or job title, not from a list of handles
12 email providersGmail, Yahoo, Outlook, Hotmail, iCloud, AOL, Proton, Live, GMX, Mail.com, Yandex and Zoho are each searched separately
Query expansionEach keyword x domain pair runs as base, quoted, intitle: and one variant per modifier
Domain filteringOnly emails on the domains you list are kept
Obfuscation handlingUnderstands name [at] domain [dot] com, name (at) domain, name @ domain.com, zero-width characters and the full-width at sign
Junk filterRejects placeholders such as email@, yourname@, test@, xxx@ and single-character locals
Boundary-correct matching@gmail.com never matches inside @gmail.company or @gmail.com.br
Global deduplicationOne row per unique email across every query and every page
ConcurrencyAn asyncio worker pool runs several queries in parallel with a shared stop signal
Retry logicUp to 3 attempts per page, exponential backoff, a fresh proxy session per request
Block detectionCAPTCHA, "unusual traffic" and consent pages are detected and retried, never counted as empty
Resumable stateProgress lives in the key-value store, keyed by a hash of your input
Fallback parserIf Google's markup changes, a run degrades to "emails without account details", not "no emails"
Live dataset writesEach lead is pushed to the dataset the moment it is found
Location targetingAn optional location phrase is appended to every query

The Instagram Email Scraper parser locates each <h3> title and then the smallest surrounding block. It does not rely on Google's CSS class names, which is why the Instagram Email Scraper survives most search-layout changes.


How the Instagram Email Scraper Works

  1. You supply keywords, and optionally a location and a list of email domains.
  2. The Instagram Email Scraper builds a set of public search queries - one per keyword and provider, plus expanded phrasings.
  3. Each query is run through a search proxy and the result pages are parsed by the Instagram Email Scraper.
  4. Addresses are extracted from the result block that belongs to the account, so the email and the profile in a row always belong together. This block-level matching is why the Instagram Email Scraper does not attach one person's address to another person's handle.
  5. Obfuscated forms (name [at] gmail [dot] com) are normalised, and placeholder addresses (youremail@gmail.com, name@example.com) are discarded.
  6. Rows stream into the dataset as they are found - the first results appear within seconds rather than at the end of the run.

What Data Does It Extract?

The Instagram Email Scraper returns only fields that are genuinely present in public search results. Fields a public result does not carry are left empty rather than filled with a guess.

The Instagram Email Scraper captures the handle and canonical profile URL whenever the public result exposes an instagram.com/handle path. On explore, tag and reel pages Google often prints only a display name - in that case username is null and profileUrl is empty. That is a search-engine limitation, not a defect: the email, the bio snippet and the account label are still returned.


Input Schema for the Instagram Email Scraper

InputTypeDefaultWhat it does
keywordsarray["manager", "founder"]Niches, job titles or industries to search. Required.
locationstringemptyOptional city or country added to every query.
customDomainsarray12 providersOnly addresses on these domains are collected.
maxEmailsinteger20Stop once this many unique emails are collected.
countryCodestringemptyTwo-letter country for the search proxy, e.g. US.
expandQueriesbooleantrueSearch each keyword in several phrasings. Recommended.
queryModifiersarrayemail, contact, business, booking, collabExtra words paired with each keyword.
maxPagesPerQueryinteger30How deep to page each query.
maxConcurrencyinteger5How many queries run in parallel.

JSON input example

{
"keywords": ["wedding photographer", "event planner"],
"location": "Chicago",
"customDomains": ["@gmail.com", "@outlook.com", "@icloud.com"],
"maxEmails": 200,
"expandQueries": true
}

Output Schema and Structured Data Fields

Every item the Instagram Email Scraper writes carries all 14 fields below, so your CSV, XLSX or JSON export always has identical columns.

FieldMeaning
networkPlatform name
keywordThe keyword that produced the lead
queryThe exact search query used
titleRaw result title
accountNameAccount label printed in the result (handle or display name)
fullNameDisplay name parsed from a profile-style title; empty for post captions
usernameURL-safe handle when the result exposes one; otherwise null
profileUrlCanonical account URL when a handle is known; otherwise empty
urlDirect platform link when exposed, else the profile URL
descriptionBio or caption snippet, cleaned of labels and engagement counters
emailLower-cased email address
emailDomainThe matched domain, e.g. @gmail.com
possiblyTruncatedtrue when the snippet ellipsis touched the email - verify before sending
foundAtISO 8601 UTC timestamp

JSON output example

[
{
"network": "Instagram",
"keyword": "wedding photographer",
"query": "site:instagram.com wedding photographer \"booking\" \"@gmail.com\" \"Chicago\"",
"title": "Elena Marsh (@elenamarshphoto) • Instagram photos and videos",
"accountName": "elenamarshphoto",
"fullName": "Elena Marsh",
"username": "elenamarshphoto",
"profileUrl": "https://www.instagram.com/elenamarshphoto/",
"url": "https://www.instagram.com/elenamarshphoto/",
"description": "Chicago wedding + elopement photographer. Bookings 2026 open.",
"email": "elena.marsh.photo@gmail.com",
"emailDomain": "@gmail.com",
"possiblyTruncated": false,
"foundAt": "2026-09-09T11:41:07Z"
},
{
"network": "Instagram",
"keyword": "pilates studio",
"query": "site:instagram.com pilates studio \"business inquiries\" \"@gmail.com\"",
"title": "#pilatesstudio • Instagram photos and videos",
"accountName": "Instagram",
"fullName": "",
"username": null,
"profileUrl": "",
"url": "https://www.instagram.com/explore/tags/pilatesstudio/",
"description": "business inquiries: hello.corepilates@gmail.com ...",
"email": "hello.corepilates@gmail.com",
"emailDomain": "@gmail.com",
"possiblyTruncated": true,
"foundAt": "2026-09-09T11:41:52Z"
}
]

The second row is the honest case: a tag page rather than a profile, so no handle exists to build a profileUrl from, and the snippet ellipsis touched the address.


How to Use the Instagram Email Scraper in Five Steps

  1. Open the Instagram Email Scraper on Apify and click Try for free.
  2. Enter two or three keywords that describe your target niche.
  3. Optionally set a location, and trim customDomains if you want a faster, narrower run.
  4. Set maxEmails to the number of leads you actually need - you are charged per result.
  5. Run it, then export the dataset to CSV or Excel, or pull it through the API.

Instagram Email Scraper Use Cases

Use caseWho it is forHow the Instagram Email Scraper helps
Influencer marketingBrands and agenciesBuild an Instagram influencer contact list per niche before outreach
Local service prospectingSMMA and web agenciesCombine salon, dentist or gym with a location for citywide lists
UGC creator sourcingDTC e-commerceFind creators already advertising collab and dm addresses
Wedding and events salesVenues, planners, rentalsReach photographers, florists and MUAs who publish booking emails
Real estate outreachBrokerages and proptechCollect agent emails per metro area
Coach and consultant outreachB2B SaaS foundersTarget business coach, nutritionist, career coach bios
Talent scoutingManagement agenciesDiscover unsigned creators publishing contact details
CRM enrichmentRevOps teamsFeed structured data straight into an existing pipeline

Why Use This Actor for Instagram Contact Discovery

Most tools ask you for a list of accounts and then check each one. The Instagram Email Scraper works the other way round: it searches for pages that already contain an address, so one request returns many contactable accounts instead of one profile that probably has none. That is why the Instagram Email Scraper is fast and inexpensive on large niches.

The Instagram Email Scraper also refuses to pad results. Addresses that are placeholders, UI text or clearly not contact routes are dropped before they reach your dataset, because a list you cannot email is worth nothing.

Pricing

The Instagram Email Scraper is pay per result - you pay for rows returned, nothing else.

Apify planPrice per 1,000 results
Free$2.99
Bronze$2.89
Silver$2.69
Gold and above$2.49

Platform usage (compute and proxy) is billed to the account running the Instagram Email Scraper, so the per-result price is the only charge from this Actor.

Free-plan accounts can collect up to 30 results per run, which is enough to judge quality before committing.

Limitations

Worth knowing before you run the Instagram Email Scraper:

  • It returns only addresses that are already public. Accounts that never published one cannot be found by any tool that respects privacy.
  • Yield depends on the niche. Service businesses publish contact addresses far more often than personal accounts do.
  • username and profileUrl are populated only when the public result exposes them. Some results show the text without a usable link.
  • A single query is capped by the search engine at roughly 300 results, which is why query expansion and multiple keywords matter.
  • Very large runs take longer - each additional email domain is a separate search.

The Instagram Email Scraper shares its engine and output schema with every Actor below, all part of the Social, Creator & Community family. Cross-network campaigns are the norm - most Instagram-first businesses also maintain TikTok, Facebook and YouTube.

ActorWhat it collects
Instagram Profile Email ScraperEmails plus bio, follower counts and links, starting from usernames or profile URLs
Facebook Email ScraperPublic contact emails from Facebook pages and profiles
TikTok Email ScraperCreator collab and booking emails from TikTok results
YouTube Email ScraperBusiness-inquiry emails from YouTube channel pages
X Email ScraperFounder and freelancer emails from X and Twitter profiles
LinkedIn Email ScraperProfessional contact emails from public LinkedIn profiles
Pinterest Email ScraperEmails from Pinterest creator and brand profiles
Snapchat Email ScraperPublic emails from Snapchat public profile pages
Reddit Email ScraperEmails posted publicly in Reddit threads and subreddits
Threads Email ScraperContact emails from Threads profiles and posts
Tumblr Email ScraperEmails from Tumblr blogs and about pages
Telegram Email ScraperEmails from public Telegram channels and groups
Discord Email ScraperEmails from public Discord server listings
Twitch Email ScraperBusiness emails from Twitch streamer pages
Vimeo Email ScraperContact emails from Vimeo creator and studio pages
Dailymotion Email ScraperEmails from Dailymotion channel pages
Likee Email ScraperEmails from Likee short-video creator profiles
Rumble Email ScraperEmails from Rumble channel pages
Kick Email ScraperStreamer contact emails from Kick profiles
Quora Email ScraperEmails from Quora answers and profile bios
Medium Email ScraperWriter contact emails from Medium profiles and posts
Substack Email ScraperNewsletter author emails from Substack publications
Patreon Email ScraperCreator contact emails from Patreon pages
Behance Email ScraperDesigner emails from Behance portfolios
Dribbble Email ScraperDesigner and studio emails from Dribbble profiles
DeviantArt Email ScraperArtist commission emails from DeviantArt profiles
SoundCloud Email ScraperArtist and label emails from SoundCloud profiles
Mixcloud Email ScraperDJ and podcaster emails from Mixcloud profiles
Goodreads Email ScraperAuthor contact emails from Goodreads profiles
Clubhouse Email ScraperEmails from Clubhouse profile bios
Mastodon Email ScraperEmails from Mastodon instance profiles
Bluesky Email ScraperEmails from Bluesky profile descriptions
Zhihu Email ScraperEmails from Zhihu answers and profiles
VK Email ScraperEmails from VK public pages and profiles
Weibo Email ScraperEmails from Weibo public profiles and posts
LINE Email ScraperEmails from public LINE account pages
KakaoTalk Email ScraperEmails from public KakaoTalk channel pages
WeChat Email ScraperEmails from public WeChat account pages
Bigo Live Email ScraperHost contact emails from Bigo Live profiles
Lemon8 Email ScraperCreator emails from Lemon8 profiles and posts
Airbnb Email ScraperHost contact emails from Airbnb listings
Shopify Store Email ScraperMerchant emails from Shopify storefronts

Example: Building a Citywide Wedding Vendor List

Set keywords to ["wedding photographer", "wedding planner", "florist"], location to "Austin" and maxEmails to 300. The Instagram Email Scraper searches each keyword across all 12 providers, expands the phrasings, and returns Austin wedding vendors with published booking addresses - typically a few hundred rows in a single run, exportable straight to CSV for your outreach tool.

Instagram Email Scraper FAQ

Does the Instagram Email Scraper need my Instagram login? No. It never logs in and never asks for credentials.

Is this legal? The Instagram Email Scraper collects only addresses that account holders published publicly and that are already indexed by a search engine. You remain responsible for how you contact people, including GDPR, CAN-SPAM and local rules.

Why did I get fewer results than maxEmails? maxEmails is a ceiling, not a promise. If a niche has fewer published addresses, the Instagram Email Scraper returns what exists rather than padding the list. Widen the keywords, add domains, or drop the location to find more.

Can I search a specific country? Yes - set location to the city or country, and countryCode to route the Instagram Email Scraper through that market.

How do I get more results per run? Keep expandQueries on, use several related keywords, and leave all 12 email domains in place. Those three settings decide how much of a niche the Instagram Email Scraper sees.

Can I run the Instagram Email Scraper on a schedule? Yes. Add it to an Apify Schedule and the Instagram Email Scraper will run daily or weekly, appending fresh leads to a dataset without any manual work.

Does the Instagram Email Scraper return duplicates? No. Addresses are deduplicated within a run, and a resumed run continues from the addresses it already has.

What does possiblyTruncated mean? The search engine sometimes shortens the text it displays. When that happens the flag is set so you know the snippet was cut, not the address.

Support

Questions, a niche that needs tuning, or a custom variant of the Instagram Email Scraper?

neurodata.apify@gmail.com