# Instagram Creator Email Finder (`fetch_cat/instagram-creator-email-finder`) Actor

Find public Instagram creator emails, websites, social links, and audience details for outreach and influencer lead generation.

- **URL**: https://apify.com/fetch\_cat/instagram-creator-email-finder.md
- **Developed by:** [Hanna Nosova](https://apify.com/fetch_cat) (community)
- **Categories:** Lead generation, Social media, Marketing
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.60 / 1,000 creator leads

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/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 Creator Email Finder

Instagram Creator Email Finder turns public Instagram profiles into outreach-ready lead rows with creator names, public emails, business phone numbers, websites, social links, audience size, category, contact confidence, and evidence URLs.

Use it to qualify influencer lists without manually opening every bio and linked website. Each requested profile produces either a usable lead or an explicit availability status, so you can measure coverage instead of silently losing unmatched accounts.

### Quick start

1. Add Instagram usernames or full profile URLs to `profiles`.
2. Choose how many linked website pages to inspect with `maxLinkedPagesPerProfile`.
3. Run the Actor and export the dataset as CSV, JSON, Excel, XML, or through the API.

The default recipe is deliberately small so you can verify the fields before scaling to a larger creator list.

### Example output

```json
{
  "username": "examplecreator",
  "fullName": "Example Creator",
  "primaryEmail": "hello@example.com",
  "businessPhoneNumber": null,
  "externalUrl": "https://example.com",
  "followersCount": 125000,
  "category": "Digital creator",
  "contactConfidence": "high",
  "status": "found",
  "profileUrl": "https://www.instagram.com/examplecreator/",
  "contactSourceUrls": ["https://www.instagram.com/examplecreator/"],
  "collectedAt": "2026-08-11T20:00:00.000Z"
}
```

### What data you get

Every dataset row can include the username, full name, biography, profile URL, avatar, follower and following counts, post count, verification and privacy flags, category, public business email, public phone number, linked website, additional emails, social links, source URLs, confidence, status, and collection time. Optional values remain nullable when the public profile does not expose them.

### Input settings

| Setting | JSON key | Description |
| --- | --- | --- |
| Instagram usernames or profile URLs | `profiles` | Add 1–100 public Instagram usernames such as natgeo or full profile URLs. |
| Maximum linked pages per creator | `maxLinkedPagesPerProfile` | Inspect up to this many public pages on the creator's linked website for emails and social links. Set to 0 for profile-only extraction. |
| Save profiles without a public email | `includeNoContact` | Save one truthful status row even when no public email is visible, so outreach lists preserve coverage and profile metadata. |
| Run time limit in seconds | `runTimeSecs` | Stop admitting new profiles before this shared run deadline. Use 30–270 seconds. |
| Proxy configuration | `proxyConfiguration` | Optional Apify proxy settings. Keep the default unless direct Instagram access is unavailable from your run region. |

### Output fields

| Field | JSON key | Description |
| --- | --- | --- |
| Username | `username` | Instagram username. |
| Full name | `fullName` | Visible profile name. |
| Profile URL | `profileUrl` | Canonical public Instagram profile URL. |
| Profile image | `profilePicUrl` | Public profile image URL when available. |
| Biography | `biography` | Visible creator biography. |
| Category | `category` | Visible business or creator category. |
| Followers | `followersCount` | Visible follower count. |
| Following | `followingCount` | Visible following count. |
| Posts | `postsCount` | Visible post count. |
| Verified | `isVerified` | Whether the profile is visibly verified. |
| Private | `isPrivate` | Whether the profile is private. |
| Business account | `isBusinessAccount` | Visible business-account flag when available. |
| Profile email | `businessEmail` | Public business email declared by the profile. |
| Profile phone | `businessPhoneNumber` | Public business phone declared by the profile. |
| External website | `externalUrl` | First public website linked from the profile. |
| Emails | `emails` | Unique public emails found on the profile or bounded linked pages. |
| Primary email | `primaryEmail` | Profile-declared email when present, otherwise the first linked-site email. |
| Social links | `socialLinks` | Other public social profile URLs found on linked pages. |
| Contact sources | `contactSourceUrls` | Public URLs where contact evidence was found. |
| Contact confidence | `contactConfidence` | Whether the email came from the profile, a linked website, or was not found. |
| Status | `status` | found, no\_public\_contact, or profile\_unavailable. |
| Error | `error` | Input-specific diagnostic when the public profile was unavailable. |
| Collected at | `collectedAt` | UTC collection timestamp. |

### Input recipes

Profile-only qualification:

```json
{"profiles":["natgeo","nasa"],"maxLinkedPagesPerProfile":0,"includeNoContact":true}
```

Public contact enrichment:

```json
{"profiles":["https://www.instagram.com/natgeo/"],"maxLinkedPagesPerProfile":3,"includeNoContact":true}
```

### Who is it for?

- Influencer and creator partnerships teams building campaign shortlists.
- Agencies preparing personalized outreach and sponsorship prospecting.
- Brand researchers comparing public creator categories and audience sizes.
- Sales operations teams exporting verified source evidence into a CRM.
- Developers and AI agents that need structured Instagram creator leads.

### Pricing

This Actor uses pay-per-event pricing: one small `start` charge per run and one tiered `result` charge for each saved creator row. Status rows are charged because they preserve requested-profile coverage and prevent repeated manual checks. See the live [Instagram Creator Email Finder Pricing tab](https://apify.com/fetch_cat/instagram-creator-email-finder/pricing) for the exact rates for your plan.

### Tips and limits

- The maximum input is 100 profiles per run and linked-page inspection is capped at five pages per creator.
- Emails and phone numbers are returned only when publicly displayed; the Actor does not guess private contact details.
- Public pages can change, disappear, become private, or temporarily limit access. Missing optional fields are not fabricated.
- Keep `includeNoContact` enabled when you need a complete audit trail for every requested profile.
- Review personal data responsibly before adding it to outreach or automated messaging systems.

### API usage

```bash
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~instagram-creator-email-finder/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"profiles":["natgeo"],"maxLinkedPagesPerProfile":2}'
```

JavaScript:

```javascript
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/instagram-creator-email-finder').call({
  profiles: ['natgeo'], maxLinkedPagesPerProfile: 2,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
```

Python:

```python
import os
from apify_client import ApifyClient

client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('fetch_cat/instagram-creator-email-finder').call(run_input={
    'profiles': ['natgeo'], 'maxLinkedPagesPerProfile': 2,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
```

### Use with MCP and AI agents

Connect the official Apify MCP server at `https://mcp.apify.com?tools=fetch_cat/instagram-creator-email-finder`, or add it to an MCP client:

```json
{"mcpServers":{"apify":{"url":"https://mcp.apify.com?tools=fetch_cat/instagram-creator-email-finder"}}}
```

Useful prompts include: “Find public contact details for these Instagram creators and return only high-confidence emails,” or “Run the creator email finder, then group results by category and follower range.”

### FAQ

#### Does it require an Instagram login?

No Instagram login input is required. The Actor works with publicly available profile and linked-site information.

#### Why is `primaryEmail` empty?

The creator may not publish an email, the profile may be private or unavailable, or the linked website may not expose one within the selected page limit. Check `status` and `contactSourceUrls`.

#### Can it process profile URLs and usernames together?

Yes. A single run can contain either format, and duplicate normalized usernames are processed once.

#### Can I schedule repeated lead checks?

Yes. Use Apify schedules, webhooks, API clients, or MCP workflows and compare `collectedAt` and status fields between runs.

### Related actors

- [Instagram Related Profiles Scraper](https://apify.com/fetch_cat/instagram-related-profiles-scraper)
- [Instagram Search Scraper](https://apify.com/fetch_cat/instagram-search-scraper)
- [Instagram Profile Posts Scraper](https://apify.com/fetch_cat/instagram-profile-posts-scraper)
- [Instagram Hashtag Scraper](https://apify.com/fetch_cat/instagram-hashtag-scraper)
- [Instagram Post Details Scraper](https://apify.com/fetch_cat/instagram-post-details-scraper)

### Support

Open an issue from the Actor page and include the run ID or run URL, input JSON, expected output, actual output, and one reproducible public Instagram profile URL. Remove any sensitive information that is not needed to reproduce the problem.

# Actor input Schema

## `profiles` (type: `array`):

Add 1–100 public Instagram usernames such as natgeo or full profile URLs.

## `maxLinkedPagesPerProfile` (type: `integer`):

Inspect up to this many public pages on the creator's linked website for emails and social links. Set to 0 for profile-only extraction.

## `includeNoContact` (type: `boolean`):

Save one truthful status row even when no public email is visible, so outreach lists preserve coverage and profile metadata.

## `runTimeSecs` (type: `integer`):

Stop admitting new profiles before this shared run deadline. Use 30–270 seconds.

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

Optional Apify proxy settings. Keep the default unless direct Instagram access is unavailable from your run region.

## Actor input object example

```json
{
  "profiles": [
    "natgeo",
    "nasa"
  ],
  "maxLinkedPagesPerProfile": 3,
  "includeNoContact": true,
  "runTimeSecs": 240
}
```

# Actor output Schema

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

No description

## `runSummary` (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 = {
    "profiles": [
        "natgeo",
        "nasa"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("fetch_cat/instagram-creator-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 = { "profiles": [
        "natgeo",
        "nasa",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("fetch_cat/instagram-creator-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 '{
  "profiles": [
    "natgeo",
    "nasa"
  ]
}' |
apify call fetch_cat/instagram-creator-email-finder --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,fetch_cat/instagram-creator-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/dliXX8ARRauGci4CI/builds/vt44It1gUHNoiNSzQ/openapi.json
