# Instagram Email Scraper (`solid-scraper/instagram-email-scraper`) Actor

📧 Instagram Email Scraper extracts email addresses from targeted profiles—fast and accurate. Ideal for marketers, agencies, and sales teams to find qualified leads and grow outreach effortlessly. 🚀🔎

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

## Pricing

from $1.99 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

### Instagram Email Scraper 📬

**Instagram Email Scraper** is an automated actor that scrapes email addresses from Instagram bios and posts that are related to your chosen keywords. If you’re looking for an **instagram email scraper**, **instagram emails extractor**, or an **instagram contact email scraper** for lead generation, this tool helps you find publicly available email contacts faster—so you can scale outreach and save hours of manual research whether you’re a marketer, recruiter, data analyst, or researcher.

Whether you’re building an **instagram lead email scraper** workflow or assembling a **bulk instagram email scraper** dataset, this actor is designed to help you collect relevant contacts using your keyword and email-domain targeting.

***

### Why choose Instagram Email Scraper?

| Feature | Benefit |
| --- | --- |
| ✅ **Keyword-based email discovery** | Finds emails from Instagram bios and posts related to your keywords |
| ✅ **Custom email-domain filtering** | Collects only emails matching your `customDomains` patterns (e.g. `@gmail.com`) |
| ✅ **Built-in proxy support** | Improves reliability for accessing public web data at scale |
| ✅ **Engine options (cost-effective vs legacy)** | Choose between faster lower-cost scraping and a legacy engine for reliability |
| ✅ **Structured output dataset** | Exports consistent JSON rows you can import into CRMs, sheets, or pipelines |
| ✅ **Progress persistence** | Saves progress as it runs so you don’t lose everything after interruptions |

***

### Key features

- 🔍 **Accurate email extraction from public profile content:** Extracts emails found in the text it processes and deduplicates them as it runs
- 🧩 **Flexible targeting with keywords:** Uses your `keywords` list to drive which Instagram-related results to scan for emails
- 🏷️ **Email-domain filters for better leads:** Supports `customDomains` so you can focus on specific inbox providers and reduce noise
- 🛡️ **Reliability with proxy support:** Works with your provided `proxyConfiguration` to improve scraping stability
- 🔄 **Resilient execution with retries and fallbacks:** Includes retries and fallback logic for cases where results are limited or requests fail
- 💾 **Real-time dataset saving:** Pushes each discovered email immediately to the output dataset
- 📊 **Stop when you reach your goal:** Respects `maxEmails` and stops collecting once the limit is reached
- 🌐 **Consistent row structure for analysis:** Each pushed record includes source context fields like title, description, and URL

***

### Input

Provide input via an `input.json` file. Example structure:

```json
{
  "keywords": ["founder", "marketing"],
  "location": "",
  "platform": "Instagram",
  "customDomains": ["@gmail.com"],
  "maxEmails": 20,
  "engine": "legacy",
  "proxyConfiguration": {}
}
```

#### Input Fields

| Field | Required | Description |
| --- | --- | --- |
| `keywords` | ✅ Yes | A list of keywords to search for. The scraper uses these to find Instagram bios and posts related to your topics. |
| `location` | ❌ No | Location to filter search results. Leave it empty to use no location filter. |
| `platform` | ❌ No | Select platform. Use `Instagram` (this actor is set up for Instagram). |
| `customDomains` | ❌ No | List of custom email domains to keep. For example, `@gmail.com` helps you target inbox providers. |
| `maxEmails` | ❌ No | Maximum number of emails to collect. The scraper stops once this limit is reached (default is 20). Higher limits can take longer and don’t guarantee the exact number will be reached. |
| `engine` | ❌ No | Choose scraping engine: `cost-effective` (Cost Effective (New)) or `legacy` (Legacy). Pick what best matches your speed vs reliability needs. |
| `proxyConfiguration` | ❌ No | Configure proxies for this Actor. Use it when you want more control over how requests are routed. |

***

### Output

During execution, the actor saves each discovered email contact as a JSON row in the output dataset.

```json
[
  {
    "network": "Instagram.com",
    "keyword": "founder",
    "title": "No data",
    "description": "No data",
    "url": "https://example.com",
    "email": "person@gmail.com",
    "proxyGroups": ["some-proxy-group"]
  }
]
```

#### Output Fields

| Field | Type | Description |
| --- | --- | --- |
| `network` | string | The network/source label used for each record (set to `Instagram.com`). |
| `keyword` | string | The keyword that was used for the run when this email was found. |
| `title` | string | Result title text captured alongside the contact info. |
| `description` | string | Result description/snippet text where the email address was extracted from. |
| `url` | string | The URL associated with the searched result. |
| `email` | string | The extracted email address. |
| `proxyGroups` | array | Proxy group identifiers used for the run (based on your proxy engine/configuration). |

> Note: If the same email is found again, it is skipped via deduplication (tracked during the run).

***

### How to use Instagram Email Scraper (via Apify Console)

1. **Open Apify Console**\
   Log in at [console.apify.com](https://console.apify.com) and go to the **Actors** tab.

2. **Find this actor**\
   Search for **Instagram Email Scraper** and open its listing.

3. **Add your input**\
   In the **INPUT** section, use the built-in form or paste your `input.json`.\
   Set `keywords` first—these drive what the actor scans for email contacts.\
   Optionally set `customDomains` (like `@gmail.com`) to focus on specific inbox types.

4. **Choose an engine**\
   Select `engine` as either `legacy` (Legacy) or `cost-effective` (Cost Effective (New)) depending on your preference for reliability vs speed/cost.

5. **(Optional) Configure proxies**\
   If you have specific proxy requirements, fill `proxyConfiguration`. If you don’t, the actor can still run with its default behavior for proxy handling.

6. **Run the actor**\
   Click **Run** to start scraping. During the run, you’ll see logs about found emails being pushed to the dataset, progress updates, and stop conditions when `maxEmails` is reached.

7. **Open results in the dataset**\
   After completion, go to the **OUTPUT** tab to view the dataset containing the JSON rows (including `email`, `url`, `keyword`, and the surrounding `title`/`description`).

8. **Export for downstream use**\
   Export the dataset to JSON/CSV from Apify’s dataset UI, then load it into your CRM, spreadsheet, or analysis pipeline.

No coding required—get accurate results in minutes with this **Instagram Email Scraper**. 🚀

***

### Advanced features & SEO optimization

- 🔍 **Engineered-for-purpose keyword email harvesting**: Built specifically as an **instagram email harvesting software** to find inbox contacts connected to your topics (great for “instagram influencer email scraper” style research).
- 🏷️ **Targeted inbox filtering**: Use `customDomains` to narrow results, making this an effective **instagram profile email finder** for curated outreach lists.
- 🔄 **Resilience under real-world conditions**: Includes retries, fallbacks, and progress persistence so longer runs (or harder targets) are less likely to fail silently.
- 📌 **Designed for bulk workflows**: Works well for “bulk instagram email scraper” use cases where you want repeatable, structured datasets.

***

### Best use cases

- 📈 **Lead generation teams**: Quickly build an **instagram contact email scraper** dataset for outreach with less manual browsing
- 🧠 **Market researchers**: Analyze who publicly lists emails related to specific niches using keyword-driven scanning
- 🎯 **Influencer marketers**: Identify possible contact emails for campaigns using targeted keywords (a strong **instagram influencer email scraper** workflow)
- 🗂️ **Growth analysts**: Join email contact data with other attributes in a single dataset for segmentation and reporting
- 💼 **Recruiters & staffing**: Find public contact emails for roles or community outreach tied to founder/marketing-type keywords
- 🔧 **Automation builders**: Feed extracted emails into downstream pipelines because the actor outputs consistent structured JSON rows
- ✉️ **Email outreach operators**: Create focused **instagram email list scraper** exports by domain (for example only `@gmail.com`)

***

### Technical specifications

- **Supported Input Formats**
  - ✅ JSON input via the Apify Console / `input.json` (fields exactly as documented in the Input section)

- **Proxy Support**
  - ✅ Yes, via `proxyConfiguration`
  - ✅ Engine choice available via `engine` (`cost-effective` or `legacy`)

- **Retry Mechanism**
  - ✅ Built-in retries and fallback logic are included for pages/results that don’t return data as expected

- **Dataset Structure**
  - ✅ Each discovered email is pushed to the dataset immediately as a JSON row
  - ✅ Includes: `network`, `keyword`, `title`, `description`, `url`, `email`, `proxyGroups`

- **Rate Limits & Performance**
  - ✅ Designed for automated bulk scraping, but large searches or very high `maxEmails` may take longer

- **Limitations**
  - ❌ Emails only come from publicly available sources processed by the actor (it won’t access private or authenticated data)

***

### FAQ

#### Can I scrape emails from Instagram bios and posts?

✅ Yes. This **Instagram Email Scraper** is designed to find emails from Instagram bios and posts related to your provided `keywords`.

#### How do I focus results on my target inbox type?

You can use `customDomains` (for example, `@gmail.com`) so the scraper only keeps emails matching those domains—this is helpful for an **instagram emails extractor** workflow with cleaner leads.

#### What does `maxEmails` do?

`maxEmails` sets the maximum number of emails the actor will collect. It will stop once the limit is reached. Setting a higher limit can take longer and doesn’t guarantee you’ll reach it.

#### Which engine should I choose: `legacy` or `cost-effective`?

Use `legacy` for the Legacy engine option, and `cost-effective` for the Cost Effective (New) engine option. If you’re optimizing for speed/cost, try `cost-effective`; if you prioritize reliability, start with `legacy`.

#### Do I need to provide a proxy configuration?

❌ Not strictly. But if you want better control for your scraping runs, you can provide `proxyConfiguration`. Proxy support is available to help with reliability for bulk extraction.

#### Can I run multiple keywords at once?

Yes. Provide multiple values in the `keywords` array, and the actor will use each keyword to drive email discovery (and push results with the matching `keyword` field).

#### Where can I export the results?

After the run, open the **OUTPUT** tab in Apify Console to access the dataset. You can then export it (for example, as JSON or CSV) from Apify’s dataset interface.

#### Is this actor able to remove personal data on request?

If you need help with data removal, contact <dataforleads@gmail.com>.

***

### Support & feature requests

If you’re using this **Instagram Email Scraper** and have feedback, we’d love to hear it! 💡

- 💡 **Feature Requests**: Want improvements like additional output fields, easier domain targeting, or better dataset formatting for your **instagram lead email scraper** workflows? Tell us what you need.
- 📧 **Contact**: Reach out via <dataforleads@gmail.com>.

User feedback helps shape the roadmap for the next enhancements to this **Instagram Email Scraper**. 🚀

***

*Make your outreach faster with the most comprehensive and SEO-optimized **Instagram Email Scraper**—powered by targeted keywords and domain filtering for scalable contact discovery.*

### Disclaimer

**This tool only accesses publicly accessible sources.** It does not access private profiles, authenticated data, or password-protected pages.

You are responsible for ensuring your use complies with applicable laws (including GDPR and CCPA), spam regulations, and platform terms of service. If you need data removal, contact <dataforleads@gmail.com>.

Use **Instagram Email Scraper** responsibly, ethically, and for legitimate purposes only.

# Actor input Schema

## `keywords` (type: `array`):

A list of keywords to search for.

## `location` (type: `string`):

Location to filter search results.

## `platform` (type: `string`):

Select platform.

## `customDomains` (type: `array`):

List of custom email domains

## `maxEmails` (type: `integer`):

Maximum number of emails to collect. The scraper will stop once this limit is reached. Setting a higher limit allows for more potential results but doesn't guarantee reaching that number. This helps save costs by controlling scraping time.

## `engine` (type: `string`):

Choose scraping engine. 🚀 Cost Effective (New): Uses residential proxies with async requests for faster, cheaper scraping. 🔧 Legacy: Uses GOOGLE\_SERP proxy with traditional selectors - more reliable but slower and more expensive.

## `proxyConfiguration` (type: `object`):

Configure proxies for this Actor.

## Actor input object example

```json
{
  "keywords": [
    "founder",
    "marketing"
  ],
  "location": "",
  "platform": "Instagram",
  "customDomains": [
    "@gmail.com"
  ],
  "maxEmails": 20,
  "engine": "legacy"
}
```

# 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 = {
    "keywords": [
        "founder",
        "marketing"
    ],
    "location": "",
    "customDomains": [
        "@gmail.com"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("solid-scraper/instagram-email-scraper").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 = {
    "keywords": [
        "founder",
        "marketing",
    ],
    "location": "",
    "customDomains": ["@gmail.com"],
}

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

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

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

```

## CLI example

```bash
echo '{
  "keywords": [
    "founder",
    "marketing"
  ],
  "location": "",
  "customDomains": [
    "@gmail.com"
  ]
}' |
apify call solid-scraper/instagram-email-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=solid-scraper/instagram-email-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/GhHT1ihqRy40vdrOW/builds/oyh5r28mt5AlmKtap/openapi.json
