# Instagram Email Scraper & Influencer Email Finder (`scrape-lads/instagram-email-finder`) Actor

Instagram email finder for influencer outreach: search creators by niche, paste handles or find lookalikes, and get emails, phones, link-in-bio contacts, followers and engagement rate. No login. Pay only for leads.

- **URL**: https://apify.com/scrape-lads/instagram-email-finder.md
- **Developed by:** [Scrape Lads](https://apify.com/scrape-lads) (community)
- **Categories:** Social media, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.80 / 1,000 lead with emails

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### What does Instagram Email Finder do?

**Instagram Email Finder finds Instagram creators by niche and returns the ones you can actually contact.** Type a niche such as "dog mom", "skincare" or "fitness coach", paste a list of handles, or name a few creators you like to get lookalikes. You get one row per account with a **contact email**, **phone numbers**, **TikTok, YouTube and other social links**, **followers**, **engagement rate** and category. **You pay only for leads**: accounts without an email are checked for free.

It reads public profiles without logging in, so there is no Instagram account, cookie or session to manage. Export the results as CSV, Excel or JSON, or pull them through the API.

**At a glance**

- **Input:** niche keywords, Instagram handles or profile URLs, and/or accounts to find lookalikes for.
- **Emails from:** the bio (including "name \[at] gmail \[dot] com" tricks), the link in bio (Linktree, Beacons, Stan and 15+ other link pages), the creator's own website and its contact page, and recent post captions.
- **Filters:** followers, engagement rate, account type, category, verified, only new accounts, exclude list.
- **Price:** $6 per 1,000 leads in leads-only mode. See pricing below.
- **Access:** public data only. No login.

### How it finds creators

1. **By keyword:** web search for Instagram accounts that match your niche, then Instagram's own "related accounts" of the ones found, until your limit is reached.
2. **By handle:** the accounts you paste, in order.
3. **Lookalikes:** Instagram's related accounts of the creators you name, ranked by how many of them suggest each account. Name 2 to 5 creators who fit your brand and the shared suggestions come first.

### How it finds emails

In this order, the first one found becomes `contactEmail`:

1. **Bio text.** In our tests about half of lifestyle creators (beauty, pets, food) write an email in their bio.
2. **Link in bio.** The page behind the bio link is read for emails, phone numbers and social profiles. On a link page such as Linktree, up to 3 of the creator's **own** sites listed there are read too, including their contact page. Brand, store and affiliate links are never scanned, so a sponsor's address never ends up in a creator's row.
3. **Recent captions** ("for collabs email ...").

Every address is checked against DNS: if its domain cannot receive mail it is dropped (no message is ever sent). Store and platform mailboxes (for example a link that redirects to Amazon) are never returned, and you can add support desks or agencies you never want to the **Never return these emails or domains** list.

Emails behind Instagram's in-app **Email** button are not included: Instagram only shows them to logged-in users, and this actor never logs in.

### Output

| Field                                                                                                                           | Meaning                                                                                                      |
| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| `username`, `fullName`, `profileUrl`                                                                                            | The account                                                                                                  |
| `contactEmail`, `contactEmailSource`                                                                                            | Best email for outreach and where it came from: `bio`, `bioLink` or `caption`                                |
| `bioEmails`, `linkEmails`, `captionEmails`                                                                                      | Every email found, by source                                                                                 |
| `phones`                                                                                                                        | Phone numbers from the bio (when labelled, e.g. "📞" or "call") and from `tel:` links on the creator's pages |
| `whatsappUrl`, `tiktokUrl`, `youtubeUrl`, `twitterUrl`, `facebookUrl`, `linkedinUrl`, `telegramUrl`, `snapchatUrl`, `twitchUrl` | The same creator on other platforms                                                                          |
| `followers`, `following`, `postCount`, `verified`, `privateAccount`                                                             | Account stats                                                                                                |
| `accountType`, `category`                                                                                                       | Instagram's account type (creator, business, personal) and category                                          |
| `bio`, `externalUrl`, `bioLinks`                                                                                                | Bio text and links                                                                                           |
| `engagementRatePct`, `medianLikes`, `medianComments`, `medianViews`, `postsAnalyzed`, `lastPostAt`                              | Median engagement over the 12 newest posts                                                                   |
| `relatedAccounts`                                                                                                               | Up to 20 related accounts Instagram suggests: a ready-made list for the next run                             |
| `source`, `searchKeyword`, `similarTo`                                                                                          | How the account was found                                                                                    |
| `bioLinkStatus`                                                                                                                 | `ok` when the bio link was read, `failed` when it could not be, empty when not needed                        |

Missing values are `null` or an empty list, so exported columns stay aligned.

#### Example row

```json
{
    "username": "thefitdogmom",
    "followers": 8774,
    "accountType": "creator",
    "category": "Digital creator",
    "contactEmail": "brooks.ashleyp@gmail.com",
    "contactEmailSource": "bio",
    "phones": [],
    "engagementRatePct": 0.58,
    "source": "handle",
    "profileUrl": "https://www.instagram.com/thefitdogmom/"
}
```

### How much does it cost to find Instagram influencer emails?

Pay per result, no subscription:

- **Leads-only mode (default): $6.00 per 1,000 accounts with an email.** Accounts checked without an email are free.
- **All-accounts mode:** $2.00 per 1,000 accounts, plus $3.00 per 1,000 emails found on link pages.
- A $0.003 start fee per run.

Filtered, missing and excluded accounts are never billed. Higher Apify plans get up to 20% off.

### Input example

```json
{
    "searchKeywords": ["dog mom", "skincare creator"],
    "maxResults": 100,
    "onlyWithEmail": true,
    "minFollowers": 5000,
    "maxFollowers": 150000,
    "onlyNew": true
}
```

### Tips

- **Short niches find more accounts** than long phrases: "vegan recipes" beats "easy vegan recipes for busy moms".
- **Use lookalikes** once you have a few creators you like: they return the most on-brand lists.
- **Only new accounts** remembers what this actor already returned to you (in a storage named `instagram-email-finder` in your own Apify account), so weekly runs bring fresh creators only.
- **Micro-influencers:** set Maximum followers to 50,000 or 150,000.
- Run it on a **schedule** and connect Google Sheets, Slack or a webhook to receive new leads automatically.

### Use it with AI agents, the API, n8n or Make

Call it from any language with the Apify API, from n8n, Make or Zapier, or from Claude, ChatGPT or Cursor through the Apify MCP server (`https://mcp.apify.com`): ask for "Instagram dog mom creators with emails" and the agent runs it for you.

### FAQ

**Do I need an Instagram account or cookies?** No. Only public profile data is read, without logging in.

**Why do some accounts have no email?** Many creators keep their email behind Instagram's Email button, which needs a login. In leads-only mode you are not billed for them.

**Can it read private accounts?** Their bio and links are public and are read; their posts are not, so engagement stays empty.

**Is it legal?** The actor reads only data that anyone can see without logging in. You are responsible for how you use contact data: follow the GDPR, CAN-SPAM and similar laws, and Instagram's terms.

**Something looks wrong?** Open an Issue on the actor page with the run link.

### Other creator email finders

| Actor                                                                                                           | Platform                                                 |
| --------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- |
| [TikTok Profile Scraper & TikTok Influencer Email Finder](https://apify.com/scrape-lads/tiktok-profile-scraper) | TikTok creators with emails, Instagram and YouTube links |

### Privacy

This Actor sends anonymous run inputs (such as keywords) and a hashed account ID to the developer to see which inputs are useful. Tokens, cookies and proxy settings are never sent. Nothing from your results is collected.

# Actor input Schema

## `searchKeywords` (type: `array`):

Niches or keywords, one per line, as a creator would write them in a bio: "skincare", "dog mom", "fitness coach", "vegan recipes". Accounts are found through web search and then through Instagram's related accounts.

## `handles` (type: `array`):

Accounts to look up directly: name, @name or https://www.instagram.com/name/. One row per account (with leads-only on, accounts without an email are skipped for free).

## `similarTo` (type: `array`):

Lookalikes: Instagram's related accounts of these creators, ranked by how many of them suggest each account. Add 2-5 creators you already like working with.

## `maxResults` (type: `integer`):

Stop each keyword (and the lookalike search) after this many saved accounts. Start small on your first run.

## `onlyWithEmail` (type: `boolean`):

On: only accounts with a contact email are saved and billed, as one lead each. Accounts without an email are checked for free. Off: every account is saved and billed as a profile.

## `enrichBioLinks` (type: `boolean`):

Read the website or link-in-bio page (Linktree, Beacons, Stan and similar) for emails, phone numbers and other social profiles, including up to 3 of the creator's own sites listed there. Brand and affiliate sites are never scanned.

## `validateEmailDomains` (type: `boolean`):

Drop addresses whose domain cannot receive mail (a DNS lookup; nothing is sent to the mailbox).

## `excludeEmails` (type: `array`):

Full addresses (help@platform.com) or whole domains (platform.com, subdomains included) that must never be a creator's contact, such as support desks of creator platforms.

## `includeRelated` (type: `boolean`):

When web search runs out of accounts for a keyword, continue with Instagram's related accounts of the ones already found.

## `minFollowers` (type: `integer`):

Skip smaller accounts, for free. Empty or 0 = no minimum.

## `maxFollowers` (type: `integer`):

Skip bigger accounts, for free: the way to keep a list to micro and mid-tier creators. Empty or 0 = no maximum.

## `accountType` (type: `string`):

Instagram's own account type: creator, business or personal. Many influencers run business accounts, so for influencer lists keep Any and use Categories (e.g. "creator", "blogger") instead.

## `categories` (type: `array`):

Keep only accounts whose Instagram category contains one of these words, e.g. "Digital creator", "Fitness", "Beauty". Empty = any category.

## `minEngagementRate` (type: `number`):

Median (likes + comments) / followers over the 12 newest posts. Accounts below it are skipped for free. Empty or 0 = no minimum.

## `maxEngagementRate` (type: `number`):

Skip accounts above this rate, e.g. 25 to drop suspicious spikes. Empty or 0 = no maximum.

## `onlyVerified` (type: `boolean`):

Keep only accounts with the blue badge.

## `onlyNew` (type: `boolean`):

Skip accounts this actor already returned to you in the last 12 months (remembered in a storage named instagram-email-finder in your own account). Skipped accounts are free.

## `excludeHandles` (type: `array`):

Accounts that must never appear, such as creators you already work with. Skipped before any lookup, so never billed.

## `maxConcurrency` (type: `integer`):

Accounts read at the same time. Higher is faster but Instagram slows down busy connections.

## Actor input object example

```json
{
  "searchKeywords": [
    "skincare creator"
  ],
  "maxResults": 50,
  "onlyWithEmail": true,
  "enrichBioLinks": true,
  "validateEmailDomains": true,
  "includeRelated": true,
  "accountType": "any",
  "onlyVerified": false,
  "onlyNew": false,
  "maxConcurrency": 3
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchKeywords": [
        "skincare creator"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrape-lads/instagram-email-finder").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "searchKeywords": ["skincare creator"] }

# Run the Actor and wait for it to finish
run = client.actor("scrape-lads/instagram-email-finder").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchKeywords": [
    "skincare creator"
  ]
}' |
apify call scrape-lads/instagram-email-finder --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrape-lads/instagram-email-finder"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/f5oVxRvofFDNzkQJa/builds/jFfkEnrFAep8DGXmx/openapi.json
