# Influencer Discovery Email Scraper (`koushik_ai_devloper/influencer-discovery-email-scraper`) Actor

Discover Instagram, TikTok, and YouTube influencers by niche and country, extract public emails, profile stats, social links, recent content signals, and lead scores for brand outreach.

- **URL**: https://apify.com/koushik\_ai\_devloper/influencer-discovery-email-scraper.md
- **Developed by:** [koushik biswas](https://apify.com/koushik_ai_devloper) (community)
- **Categories:** Lead generation, Social media, SEO tools
- **Stats:** 1 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.0005 / actor start

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#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

### What does Influencer Discovery Email Scraper do?

Influencer Discovery Email Scraper helps brands, agencies, SaaS companies, ecommerce teams, and creator outreach specialists find public influencer leads from **YouTube, TikTok, and Instagram**. Search by niche, country, and keywords, then export structured creator profiles with handles, profile URLs, public emails, follower/subscriber counts, engagement estimates, audience tier, external links, and lead quality scores.

Use this Actor as an **influencer finder**, **creator discovery scraper**, **influencer email scraper**, or **social media lead generation tool** for influencer marketing campaigns, UGC outreach, affiliate recruitment, sponsorship research, and PR prospecting.

### Why this influencer scraper is useful

Influencer discovery is slow when you manually search platforms, open profiles, copy handles, check bios, and look for public emails. This Actor automates the first research pass and gives you a clean dataset that can be exported to CSV, Excel, JSON, Google Sheets workflows, CRMs, outreach systems, or your own API pipeline.

Key features:

- Discover creators by platform, niche, country, and keywords
- Scrape direct profile URLs when you already have seed lists
- Extract public emails from visible profile text and links
- Parse follower/subscriber counts where publicly visible
- Estimate engagement from visible likes/views when available
- Classify audience tier: nano, micro, macro, or mega
- Score creator leads from 0 to 100 for faster prioritization
- Export a full influencer dataset or a CRM-ready outreach view
- Use Apify Residential Proxy for production reliability
- Lightweight HTTP crawling for lower platform cost than browser-based scraping

### Best use cases

- Find fitness influencers in the United States
- Find beauty creators in India with public emails
- Build TikTok creator lists for ecommerce outreach
- Discover YouTube channels for SaaS sponsorships
- Collect Instagram creator profiles for UGC campaigns
- Build niche influencer databases for agencies
- Enrich an existing list of creator profile URLs

### How to find influencer emails

1. Choose platforms: YouTube, TikTok, Instagram, or all three.
2. Enter any niche manually, such as beauty, fitness, travel, gaming, finance, food, real estate, yoga coaches, mom bloggers, or SaaS founders.
3. Choose a country or market.
4. Add extra keywords such as `vegan`, `personal trainer`, `mom blogger`, or `luxury travel`.
5. Set the maximum profiles per platform.
6. Increase discovery depth when you need more profiles from search results.
7. Enable `Require public email` if you only want profiles where an email is visible.
8. Run the Actor and export the dataset.

The Actor only extracts emails that are publicly visible in profile text, descriptions, page metadata, or visible linked text. It does not bypass logins, private data, or platform permissions.

### Input example

```json
{
  "platforms": ["youtube"],
  "niche": "fitness",
  "country": "United States",
  "keywords": ["personal trainer", "workout"],
  "profileUrls": [],
  "maxProfilesPerPlatform": 25,
  "maxTotalProfiles": 100,
  "maxDiscoveryPagesPerPlatform": 2,
  "minFollowers": 10000,
  "requireEmail": false,
  "includeDiscoveryRows": true,
  "maxConcurrency": 8,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}
```

### Output example

```json
{
  "platform": "youtube",
  "niche": "fitness",
  "country": "United States",
  "keywords": ["personal trainer", "workout"],
  "name": "Example Fitness Coach",
  "handle": "@examplefitness",
  "profileUrl": "https://www.youtube.com/@examplefitness",
  "bio": "Fitness coach sharing workouts, nutrition tips, and online coaching.",
  "emails": ["coach@example.com"],
  "email": "coach@example.com",
  "followers": 125000,
  "following": null,
  "postsCount": 240,
  "avgViews": 32000,
  "avgLikes": 1800,
  "engagementRate": 1.44,
  "engagementQuality": "average",
  "hasEmail": true,
  "leadQualityScore": 89,
  "audienceTier": "macro",
  "externalLinks": ["https://example.com"],
  "sourceUrl": "https://www.youtube.com/results?search_query=fitness",
  "status": "success",
  "scrapedAt": "2026-08-23T00:00:00.000Z"
}
```

### Output fields

| Field | Description |
| --- | --- |
| `platform` | YouTube, TikTok, Instagram, or unknown |
| `niche` | Selected influencer niche |
| `country` | Selected target market |
| `name` | Public creator or channel name |
| `handle` | Social media handle when available |
| `profileUrl` | Creator profile URL |
| `bio` | Public profile description or metadata |
| `emails` | Public emails found on the visible page |
| `email` | First public email found, useful for CRM import |
| `followers` | Followers or subscribers when publicly visible |
| `avgViews` | Average visible views from sampled page text |
| `avgLikes` | Average visible likes from sampled page text |
| `engagementRate` | Estimated likes / followers percentage |
| `engagementQuality` | Low, average, good, or excellent |
| `audienceTier` | Nano, micro, macro, or mega |
| `leadQualityScore` | 0-100 score based on profile completeness, email, followers, and engagement |
| `externalLinks` | Public external links visible on the profile |
| `status` | Success or failed |

### Pricing and monetization ideas

For a public Apify Store listing, this Actor works best with pay-per-event pricing because buyers understand what they are paying for:

- Keep the synthetic `apify-actor-start` event enabled to cover startup cost.
- Keep or configure dataset item pricing for each saved creator profile.
- Configure the custom event `influencer-profile` if you want explicit per-profile charging from code.
- Price public email leads higher than profile-only leads only if you add a separate enrichment event later.

The run that triggered a negative margin had revenue of $0.10 and platform cost of $1.86, so it needed about $2.33 revenue to break even before profit. Use that as a warning: if a run may cost a few dollars, profile pricing must be high enough to cover it. With the current lightweight HTTP crawler and smaller defaults, cost should be much lower than the earlier browser-based version.

Suggested starting setup in Apify Console:

| Event | Suggested price | Why |
| --- | --- | --- |
| `apify-actor-start` | $0.05-$0.10 | Covers startup and failed/empty runs |
| `apify-default-dataset-item` | $0.02-$0.05 | Charges for each saved creator lead |
| `influencer-profile` | $0.02-$0.05 | Use if you prefer a custom per-profile event |

Do not enable both expensive custom and synthetic per-item pricing for the same result unless you clearly explain that pricing to users.

### Tips for better results

- Use specific niches instead of broad ones. `vegan fitness coach` is better than `fitness`.
- Add country or city keywords when you need local creators.
- Keep `maxDiscoveryPagesPerPlatform` at 1-3 for profitable public runs.
- Increase `maxDiscoveryPagesPerPlatform` only when the buyer expects a larger, more expensive run.
- Use seed profile URLs when you already have a shortlist.
- Keep `maxTotalProfiles` enabled so one run cannot silently become too expensive.
- Keep concurrency around 8 with the lightweight HTTP crawler.
- Use Residential Proxy for production runs.
- Enable `Require public email` when you only want outreach-ready leads.
- Expect some profiles to hide follower counts, emails, or stats depending on platform layout, location, cookies, and public visibility.

### Limitations and compliance

Social media sites change frequently and may limit public profile visibility. This Actor collects publicly visible information on a best-effort basis. It does not access private profiles, bypass authentication, scrape inboxes, or reveal hidden emails.

Make sure your outreach follows applicable privacy laws, platform terms, anti-spam rules, and marketing regulations in your jurisdiction. Always contact creators respectfully and include opt-out options where required.

### FAQ

#### Can this scrape influencer emails?

Yes, when the email is publicly visible in profile text, page metadata, or visible profile links. It cannot extract private or hidden emails.

#### Can I search Instagram, TikTok, and YouTube together?

Yes. Select all three platforms in the input and the Actor will discover and scrape profiles from each selected source.

#### Can I upload my own influencer profile URLs?

Yes. Add YouTube, TikTok, or Instagram profile URLs in `profileUrls` and the Actor will scrape those profiles directly.

#### Can I filter by followers?

Yes. Use `minFollowers` to skip profiles below your target audience size when follower/subscriber counts are visible.

#### Is the output ready for CRM import?

Yes. The dataset includes a `crm_export` view with creator name, handle, platform, email, profile URL, niche, country, followers, engagement, lead score, and bio.

# Actor input Schema

## `platforms` (type: `array`):

Choose where to discover influencers. Public profile pages are scraped on a best-effort basis.

## `niche` (type: `string`):

Enter any niche manually. Example: fitness, yoga coaches, mom bloggers, vegan food creators, SaaS founders, skincare influencers.

## `country` (type: `string`):

Market used in discovery queries and lead segmentation.

## `customCountry` (type: `string`):

Used only when Country is set to Custom.

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

Optional keywords to improve targeting. Example: vegan, personal trainer, mom blogger, luxury travel.

## `profileUrls` (type: `array`):

Optional direct Instagram, TikTok, or YouTube profile URLs. These are scraped in addition to discovered profiles.

## `maxProfilesPerPlatform` (type: `integer`):

Maximum number of creator profiles to save per selected platform.

## `maxTotalProfiles` (type: `integer`):

Hard cap for the entire run across all platforms. Keeps runs profitable and predictable.

## `maxDiscoveryPagesPerPlatform` (type: `integer`):

How many search result pages to scan per selected platform. Higher values cost more. Keep this at 1-3 for profitable public runs.

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

Filter out profiles below this public follower/subscriber count. Use 0 to keep all profiles.

## `requireEmail` (type: `boolean`):

When enabled, only profiles with a public email found in visible profile text are saved.

## `enrichProfiles` (type: `boolean`):

Disabled by default for profitability. Enable only when you want the actor to open each discovered social profile for extra public metadata.

## `includeDiscoveryRows` (type: `boolean`):

Save discovered profile URLs even when the platform hides detailed stats from public pages.

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

Higher values are faster but can increase blocking. Use 3 to 6 with residential proxies.

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

Residential proxies are recommended for production social media scraping.

## Actor input object example

```json
{
  "platforms": [
    "youtube"
  ],
  "niche": "fitness",
  "country": "United States",
  "keywords": [],
  "maxProfilesPerPlatform": 25,
  "maxTotalProfiles": 100,
  "maxDiscoveryPagesPerPlatform": 2,
  "minFollowers": 0,
  "requireEmail": false,
  "enrichProfiles": false,
  "includeDiscoveryRows": true,
  "maxConcurrency": 8,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `influencers` (type: `string`):

Full influencer lead records with profile stats, emails, and scores.

## `crmExport` (type: `string`):

Simplified creator outreach view for spreadsheets and CRM import.

# 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": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("koushik_ai_devloper/influencer-discovery-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": [] }

# Run the Actor and wait for it to finish
run = client.actor("koushik_ai_devloper/influencer-discovery-email-scraper").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 '{
  "keywords": []
}' |
apify call koushik_ai_devloper/influencer-discovery-email-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,koushik_ai_devloper/influencer-discovery-email-scraper"
        }
    }
}

```

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/kqhPaUGN8e6UL07vd/builds/fAAMaqnjGdrSw7baA/openapi.json
