# YouTube Channel Email & Sponsor Lead Scraper (`trakk/youtube-channel-email-sponsor-leads`) Actor

Find YouTube creator emails, phones, websites, socials, engagement signals, sponsor history, and lookalike channels from URLs or niche searches.

- **URL**: https://apify.com/trakk/youtube-channel-email-sponsor-leads.md
- **Developed by:** [DataForge](https://apify.com/trakk) (community)
- **Categories:** Lead generation, Social media, Videos
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 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 a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use 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

## 🎯 YouTube Creator Email & Sponsor Finder

Turn YouTube channels into **outreach-ready creator leads**. Start with channel URLs, search by niche, or provide example creators to discover lookalikes — then collect public business contacts, audience metrics, recent sponsor signals, and clear lead-priority scores in one structured dataset.

> **Unofficial tool:** This Actor is not affiliated with, endorsed by, or sponsored by YouTube or Google. It extracts only information creators make publicly available.

### 💡 Why this Actor

- 📇 **Outreach-ready contacts** — public emails, phones, websites, and 10+ social profiles in one structured dataset
- 🧭 **Three discovery modes** — enrich channels you already know, search by niche, or find lookalikes of creators you admire
- 🎯 **Built-in lead scoring** — Sponsor Readiness and Contact Priority scores from 0 to 100 to rank who to reach first
- 🤝 **Sponsor intelligence** — surface sponsor brands, sponsored-video counts, and affiliate signals before you pitch
- ✅ **Verified, evidenced contacts** — email-domain validation, confidence scores, and the exact page each contact came from
- 🛟 **Keeps partial data** — slow or private pages never discard a creator; useful enrichment is still retained

#### 📸 Sample output

![YouTube Channel Email & Sponsor Lead Scraper sample output — real data fields](https://api.apify.com/v2/key-value-stores/sAkX2yFx0oRX6gf6p/records/youtube-channel-email-sponsor-leads-sample)

*A real run's output — exportable to JSON, CSV, or Excel.*

### ✨ What you get

| Area | Data returned |
| --- | --- |
| ✉️ Contacts | Public emails, phones, websites, email role, validation, confidence, and exact evidence URL |
| 📱 Socials | Instagram, X/Twitter, TikTok, Facebook, LinkedIn, GitHub, Discord, Telegram, Twitch, and WhatsApp |
| 📊 Channel metrics | Subscribers, total views, video count, country, verification, joined date, and keywords |
| 🎬 Recent activity | Latest upload, average recent views, view rate, upload frequency, and analyzed video titles |
| 🤝 Sponsor intelligence | Sponsor brands, sponsored-video count, affiliate signals, latest sponsorship, and readiness score |
| 🎯 Lead scoring | `sponsorReadinessScore` and `contactPriorityScore`, each from 0 to 100 |
| 🔍 Discovery context | Source keyword, example channel, search rank, and original input |

The Actor can also normalize addresses written as `name [at] company [dot] com`, validate email domains, inspect public pinned comments, and preserve the page where every primary contact was found.

### 🚀 Quick start

#### 1. Choose a discovery mode

- **🔗 Enrich channels I already know** — paste channel URLs, `@handles`, channel IDs, or video URLs.
- **🔍 Discover creators by niche** — enter topics such as `personal finance` or `home fitness`.
- **🧬 Find similar creators** — provide example channels and let the Actor build focused lookalike searches.

#### 2. Set your filters

Filter by subscribers, recent views, upload activity, contact availability, or Sponsor Readiness Score. Leave a numeric filter at `0` when you do not want to apply it.

#### 3. Run and export

Open the **Output** tab while the Actor runs. Download the finished results as **JSON, CSV, Excel, XML**, or access them through the Apify API.

### 🧪 Ready-to-use examples

#### 🔗 Enrich known channels

```json
{
  "scrapeType": "channelContacts",
  "channels": [
    "@mkbhd",
    "https://www.youtube.com/@veritasium",
    "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
  ],
  "recentVideosToScan": 8,
  "scanPinnedComment": true,
  "scanWebsites": true,
  "contactFilter": "allChannels"
}
````

#### 🔍 Build an email-ready niche list

```json
{
  "scrapeType": "keywordDiscovery",
  "searchQueries": [
    "personal finance",
    "home fitness",
    "productivity apps"
  ],
  "maxChannelsPerQuery": 30,
  "maxResults": 50,
  "minSubscribers": 5000,
  "maxSubscribers": 250000,
  "activeWithinDays": 90,
  "contactFilter": "emailOnly"
}
```

#### 🧬 Find sponsor-friendly lookalikes

```json
{
  "scrapeType": "lookalikeDiscovery",
  "seedChannels": ["@mkbhd", "@LinusTechTips"],
  "lookalikeQueriesPerSeed": 3,
  "maxResults": 50,
  "minSponsorReadinessScore": 40,
  "recentVideosToScan": 5
}
```

#### ⚡ Fast 50-creator preset

Use this configuration when speed matters more than deep historical coverage:

```json
{
  "scrapeType": "keywordDiscovery",
  "searchQueries": [
    "tech reviews",
    "personal finance",
    "fitness coaching",
    "travel tips",
    "digital marketing"
  ],
  "maxChannelsPerQuery": 12,
  "maxResults": 50,
  "recentVideosToScan": 3,
  "maxExternalLinks": 6,
  "maxWebsitePages": 4,
  "videoEnrichmentTimeoutSecs": 22,
  "websiteScanTimeoutSecs": 10,
  "maxConcurrency": 50,
  "maxRetries": 2,
  "requestTimeoutSecs": 15
}
```

Cloud response time varies with YouTube and linked websites. In testing, the fast preset processed 50 creators in roughly **50–55 seconds** with 4 GB memory while retaining partial enrichment when an external page was slow.

### 📦 Example result

```json
{
  "channelId": "UC...",
  "channelName": "Example Creator",
  "channelHandle": "@example",
  "channelUrl": "https://www.youtube.com/@example",
  "subscriberCount": 184000,
  "avgRecentViews": 52000,
  "viewRatePercent": 28.26,
  "primaryEmail": "partnerships@example.com",
  "primaryEmailRole": "partnerships",
  "primaryEmailValidation": "valid_domain",
  "primaryEmailConfidence": 95,
  "primaryEmailSourceType": "video_description",
  "primaryEmailSourceUrl": "https://www.youtube.com/watch?v=...",
  "emails": ["partnerships@example.com"],
  "websiteUrl": "https://example.com",
  "instagramUrl": "https://instagram.com/example",
  "latestVideoDate": "2026-07-18",
  "uploadFrequencyPerMonth": 5.2,
  "sponsoredVideosFound": 4,
  "sponsorBrands": ["Example Brand"],
  "sponsorReadinessScore": 86,
  "contactPriorityScore": 90,
  "contactEnrichmentStatus": "completed",
  "videoEnrichmentStatus": "completed",
  "status": "success"
}
```

### 🗂️ Output views

The Output tab is organized into four practical tables:

- **🎯 Leads** — the best fields for qualification and CRM import.
- **✉️ Contacts** — emails, validation, evidence URLs, phones, websites, and social profiles.
- **🤝 Sponsor intelligence** — activity, recent views, sponsor history, brands, and scores.
- **📺 Channel details** — complete channel metadata and discovery context.

### 🚦 Understanding enrichment statuses

Some public pages may be unavailable or respond slowly. The Actor keeps useful partial data instead of discarding the whole creator.

| Status | Meaning |
| --- | --- |
| `completed` | The requested enrichment finished within its time budget |
| `partial` | Some video data was collected before the deadline |
| `timed_out` | Website scanning reached its budget; contacts found so far were retained |
| `no_links` | The creator did not publish an external destination to inspect |
| `no_videos` | No recent public videos were available for analysis |
| `failed` | That enrichment stage failed; the base channel record can still be saved |

### 🔌 Run through the API

```bash
curl -X POST \
  "https://api.apify.com/v2/acts/trakk~youtube-channel-email-sponsor-leads/runs?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "scrapeType": "keywordDiscovery",
    "searchQueries": ["B2B SaaS creators"],
    "maxResults": 25
  }'
```

Replace `YOUR_APIFY_TOKEN` with an Apify token stored securely in your environment. Do not commit tokens to source control.

### ❓ FAQ

#### Does the Actor reveal YouTube's protected business email?

No. If YouTube places an address behind sign-in or verification, `hasHiddenEmail` is set to `true`, but the protected address is not bypassed or revealed. The Actor can still find other public contacts published by the creator.

#### What does email validation mean?

Validation checks whether the domain is configured to receive email and whether it appears disposable. It cannot guarantee that a specific mailbox exists or will accept a message.

#### Why can a contact or sponsor field be empty?

The creator may not publish that information, the relevant page may be private, or an external site may exceed its scan budget. Check the enrichment status and evidence fields for context.

#### Can I export directly to a CRM?

Yes. Download the **Leads** or **Contacts** view as CSV/Excel, or consume the default dataset through the Apify API and integrations.

### 🛡️ Responsible use

Use public contact information for legitimate, relevant outreach. Follow applicable privacy and anti-spam laws, respect opt-out requests, and avoid unsolicited bulk messaging.

# Actor input Schema

## `scrapeType` (type: `string`):

Choose one discovery workflow. The relevant list below will be used as your starting point.

## `channels` (type: `array`):

Paste channel URLs, @handles, channel IDs, or video URLs. Used by the direct channel mode.

## `searchQueries` (type: `array`):

Add one focused creator niche per line. Used by keyword discovery.

## `seedChannels` (type: `array`):

Add creators whose topics should be used to discover similar channels.

## `lookalikeQueriesPerSeed` (type: `integer`):

How many focused searches to derive from each example channel. Three is a balanced starting point.

## `maxChannelsPerQuery` (type: `integer`):

Maximum channel candidates collected from each keyword or derived topic before deduplication.

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

Global result limit for this run after duplicates are removed.

## `region` (type: `string`):

Country used to localize search results and channel pages.

## `contactFilter` (type: `string`):

Keep every matching creator or save only leads with a public contact method.

## `minSubscribers` (type: `integer`):

Creators below this subscriber count are excluded. Use 0 for no minimum.

## `maxSubscribers` (type: `integer`):

Creators above this subscriber count are excluded. Use 0 for no maximum.

## `minAverageViews` (type: `integer`):

Creators below this average across analyzed recent videos are excluded.

## `activeWithinDays` (type: `integer`):

Use 0 to keep creators regardless of their latest upload date.

## `minSponsorReadinessScore` (type: `integer`):

Keep creators scoring at or above this value. Use 0 to disable the filter.

## `recentVideosToScan` (type: `integer`):

Used to discover contacts, calculate activity and views, and identify sponsor signals.

## `videoEnrichmentTimeoutSecs` (type: `integer`):

Maximum total seconds for recent video details and the pinned comment. Partial data is retained.

## `scanPinnedComment` (type: `boolean`):

Check the newest analyzed video's pinned comment for public contacts and links.

## `scanWebsites` (type: `boolean`):

Inspect linked sites and their most relevant contact pages.

## `followSocialProfiles` (type: `boolean`):

Inspect linked public profiles and link-in-bio pages for additional contacts.

## `validateEmails` (type: `boolean`):

Check mail-server availability and flag disposable domains.

## `maxExternalLinks` (type: `integer`):

Maximum external websites or public profiles inspected for each creator.

## `maxWebsitePages` (type: `integer`):

Maximum relevant pages inspected on each linked website.

## `websiteScanTimeoutSecs` (type: `integer`):

Maximum total seconds for linked websites and profiles. Contacts found before the deadline are retained.

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

Higher values finish large lists faster but make more simultaneous requests. Start with 5–20.

## `maxRetries` (type: `integer`):

Attempts allowed for temporary connection errors and retryable responses.

## `requestTimeoutSecs` (type: `integer`):

Maximum total time allowed for an individual request.

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

Optional. Direct connections are used by default; configure a proxy only when your workflow requires it.

## Actor input object example

```json
{
  "scrapeType": "channelContacts",
  "channels": [
    "@mkbhd",
    "https://www.youtube.com/@veritasium"
  ],
  "searchQueries": [
    "personal finance",
    "tech reviews"
  ],
  "seedChannels": [
    "@mkbhd"
  ],
  "lookalikeQueriesPerSeed": 3,
  "maxChannelsPerQuery": 30,
  "maxResults": 50,
  "region": "US",
  "contactFilter": "allChannels",
  "minSubscribers": 0,
  "maxSubscribers": 0,
  "minAverageViews": 0,
  "activeWithinDays": 0,
  "minSponsorReadinessScore": 0,
  "recentVideosToScan": 8,
  "videoEnrichmentTimeoutSecs": 22,
  "scanPinnedComment": true,
  "scanWebsites": true,
  "followSocialProfiles": true,
  "validateEmails": true,
  "maxExternalLinks": 6,
  "maxWebsitePages": 4,
  "websiteScanTimeoutSecs": 10,
  "maxConcurrency": 5,
  "maxRetries": 5,
  "requestTimeoutSecs": 30,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `leads` (type: `string`):

No description

## `contacts` (type: `string`):

No description

## `sponsors` (type: `string`):

No description

## `channels` (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 = {
    "channels": [
        "@mkbhd",
        "https://www.youtube.com/@veritasium"
    ],
    "searchQueries": [
        "personal finance",
        "tech reviews"
    ],
    "seedChannels": [
        "@mkbhd"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("trakk/youtube-channel-email-sponsor-leads").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 = {
    "channels": [
        "@mkbhd",
        "https://www.youtube.com/@veritasium",
    ],
    "searchQueries": [
        "personal finance",
        "tech reviews",
    ],
    "seedChannels": ["@mkbhd"],
}

# Run the Actor and wait for it to finish
run = client.actor("trakk/youtube-channel-email-sponsor-leads").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 '{
  "channels": [
    "@mkbhd",
    "https://www.youtube.com/@veritasium"
  ],
  "searchQueries": [
    "personal finance",
    "tech reviews"
  ],
  "seedChannels": [
    "@mkbhd"
  ]
}' |
apify call trakk/youtube-channel-email-sponsor-leads --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=trakk/youtube-channel-email-sponsor-leads",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "YouTube Channel Email & Sponsor Lead Scraper",
        "description": "Find YouTube creator emails, phones, websites, socials, engagement signals, sponsor history, and lookalike channels from URLs or niche searches.",
        "version": "1.0",
        "x-build-id": "CbcdsHhyRzhyjl1W1"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/trakk~youtube-channel-email-sponsor-leads/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-trakk-youtube-channel-email-sponsor-leads",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/trakk~youtube-channel-email-sponsor-leads/runs": {
            "post": {
                "operationId": "runs-sync-trakk-youtube-channel-email-sponsor-leads",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/trakk~youtube-channel-email-sponsor-leads/run-sync": {
            "post": {
                "operationId": "run-sync-trakk-youtube-channel-email-sponsor-leads",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "scrapeType"
                ],
                "properties": {
                    "scrapeType": {
                        "title": "🧭 How should we find creators?",
                        "enum": [
                            "channelContacts",
                            "keywordDiscovery",
                            "lookalikeDiscovery"
                        ],
                        "type": "string",
                        "description": "Choose one discovery workflow. The relevant list below will be used as your starting point.",
                        "default": "channelContacts"
                    },
                    "channels": {
                        "title": "🔗 YouTube channels or videos",
                        "type": "array",
                        "description": "Paste channel URLs, @handles, channel IDs, or video URLs. Used by the direct channel mode.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "searchQueries": {
                        "title": "🔍 Keywords or niches",
                        "type": "array",
                        "description": "Add one focused creator niche per line. Used by keyword discovery.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "seedChannels": {
                        "title": "🧬 Example channels",
                        "type": "array",
                        "description": "Add creators whose topics should be used to discover similar channels.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "lookalikeQueriesPerSeed": {
                        "title": "🧠 Topic searches per example",
                        "minimum": 1,
                        "maximum": 6,
                        "type": "integer",
                        "description": "How many focused searches to derive from each example channel. Three is a balanced starting point.",
                        "default": 3
                    },
                    "maxChannelsPerQuery": {
                        "title": "📌 Candidates per keyword",
                        "minimum": 1,
                        "maximum": 200,
                        "type": "integer",
                        "description": "Maximum channel candidates collected from each keyword or derived topic before deduplication.",
                        "default": 30
                    },
                    "maxResults": {
                        "title": "📦 Maximum creators to save",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Global result limit for this run after duplicates are removed.",
                        "default": 50
                    },
                    "region": {
                        "title": "🌍 YouTube search region",
                        "enum": [
                            "US",
                            "GB",
                            "CA",
                            "AU",
                            "DE",
                            "FR",
                            "ES",
                            "IT",
                            "NL",
                            "PL",
                            "BR",
                            "MX",
                            "AR",
                            "IN",
                            "ID",
                            "JP",
                            "KR",
                            "TW",
                            "PH",
                            "TH",
                            "VN",
                            "TR",
                            "UA",
                            "CZ",
                            "SE",
                            "NO",
                            "DK",
                            "FI",
                            "ZA",
                            "AE"
                        ],
                        "type": "string",
                        "description": "Country used to localize search results and channel pages.",
                        "default": "US"
                    },
                    "contactFilter": {
                        "title": "🎯 Which creators should be saved?",
                        "enum": [
                            "allChannels",
                            "contactableOnly",
                            "emailOnly"
                        ],
                        "type": "string",
                        "description": "Keep every matching creator or save only leads with a public contact method.",
                        "default": "allChannels"
                    },
                    "minSubscribers": {
                        "title": "📈 Minimum subscribers",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Creators below this subscriber count are excluded. Use 0 for no minimum.",
                        "default": 0
                    },
                    "maxSubscribers": {
                        "title": "📉 Maximum subscribers",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Creators above this subscriber count are excluded. Use 0 for no maximum.",
                        "default": 0
                    },
                    "minAverageViews": {
                        "title": "👀 Minimum average recent views",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Creators below this average across analyzed recent videos are excluded.",
                        "default": 0
                    },
                    "activeWithinDays": {
                        "title": "📅 Uploaded within the last N days",
                        "minimum": 0,
                        "maximum": 3650,
                        "type": "integer",
                        "description": "Use 0 to keep creators regardless of their latest upload date.",
                        "default": 0
                    },
                    "minSponsorReadinessScore": {
                        "title": "🤝 Minimum Sponsor Readiness Score",
                        "minimum": 0,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Keep creators scoring at or above this value. Use 0 to disable the filter.",
                        "default": 0
                    },
                    "recentVideosToScan": {
                        "title": "🎬 Recent videos to analyze",
                        "minimum": 0,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Used to discover contacts, calculate activity and views, and identify sponsor signals.",
                        "default": 8
                    },
                    "videoEnrichmentTimeoutSecs": {
                        "title": "⏱️ Video analysis budget per creator",
                        "minimum": 5,
                        "maximum": 30,
                        "type": "integer",
                        "description": "Maximum total seconds for recent video details and the pinned comment. Partial data is retained.",
                        "default": 22
                    },
                    "scanPinnedComment": {
                        "title": "📌 Scan the newest video's pinned comment",
                        "type": "boolean",
                        "description": "Check the newest analyzed video's pinned comment for public contacts and links.",
                        "default": true
                    },
                    "scanWebsites": {
                        "title": "🌐 Scan linked websites",
                        "type": "boolean",
                        "description": "Inspect linked sites and their most relevant contact pages.",
                        "default": true
                    },
                    "followSocialProfiles": {
                        "title": "📱 Scan public social and link-in-bio pages",
                        "type": "boolean",
                        "description": "Inspect linked public profiles and link-in-bio pages for additional contacts.",
                        "default": true
                    },
                    "validateEmails": {
                        "title": "✅ Validate email domains",
                        "type": "boolean",
                        "description": "Check mail-server availability and flag disposable domains.",
                        "default": true
                    },
                    "maxExternalLinks": {
                        "title": "🔗 Linked destinations per creator",
                        "minimum": 0,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Maximum external websites or public profiles inspected for each creator.",
                        "default": 6
                    },
                    "maxWebsitePages": {
                        "title": "📄 Pages per linked website",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Maximum relevant pages inspected on each linked website.",
                        "default": 4
                    },
                    "websiteScanTimeoutSecs": {
                        "title": "⏱️ Website scan budget per creator",
                        "minimum": 5,
                        "maximum": 30,
                        "type": "integer",
                        "description": "Maximum total seconds for linked websites and profiles. Contacts found before the deadline are retained.",
                        "default": 10
                    },
                    "maxConcurrency": {
                        "title": "⚡ Creators processed in parallel",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "Higher values finish large lists faster but make more simultaneous requests. Start with 5–20.",
                        "default": 5
                    },
                    "maxRetries": {
                        "title": "🔁 Maximum request attempts",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Attempts allowed for temporary connection errors and retryable responses.",
                        "default": 5
                    },
                    "requestTimeoutSecs": {
                        "title": "⌛ Request timeout in seconds",
                        "minimum": 10,
                        "maximum": 90,
                        "type": "integer",
                        "description": "Maximum total time allowed for an individual request.",
                        "default": 30
                    },
                    "proxyConfiguration": {
                        "title": "🌐 Proxy configuration",
                        "type": "object",
                        "description": "Optional. Direct connections are used by default; configure a proxy only when your workflow requires it.",
                        "default": {
                            "useApifyProxy": false
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
