# Best Tiktok Email Scraper (`solid-scraper/best-tiktok-email-scraper`) Actor

📩✨ Best TikTok Email Scraper extracts emails from TikTok profiles fast and accurately. Find leads for marketing, outreach & partnerships with advanced filtering—save hours and boost conversion rates. 🚀

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

## Pricing

from $2.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 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.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.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/platform/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

### Best Tiktok Email Scraper 📬

**Best Tiktok Email Scraper** helps you discover and extract email addresses from TikTok by automating the process of collecting leads based on your **keywords**, **country**, and the **content source type** you want to scrape from. If you’re looking for the *best tiktok email scraper*, this actor is a fast way to build a usable prospect list without spending hours manually copying contacts one-by-one—whether you’re using it as a *tiktok email extractor tool* for lead generation, or as *tiktok lead generation email scraper* for audience research at scale. It’s designed for marketers, recruiters, and data-focused teams who want reliable email harvesting from publicly available sources, so you can move from “searching” to “campaigning” quickly.

---

### Why choose Best Tiktok Email Scraper?

| Feature | Benefit |
|---|---|
| ✅ **All-in-one TikTok email harvesting** | Extracts emails from TikTok across your selected scope using keywords and country targeting |
| ✅ **Reliability with engine options** | Choose between **Cost Effective (New)** and **Legacy** scraping engines to fit your needs |
| ✅ **Built-in run control with limits** | Use **Max Emails** to manage scraping time and cost while collecting up to your desired volume |
| ✅ **Structured dataset output** | Produces a tabular dataset with consistent fields like `email`, `email_domain`, `email_type`, and `scrape_from` |
| ✅ **Scale-friendly automation** | Designed for bulk collection using repeatable runs and keyword-driven searching |
| ✅ **Export-ready results** | Output is saved in a dataset you can export for downstream workflows (CRM, lists, analysis) |

---

### Key features

- 🎯 **Keyword-driven TikTok email discovery**: Use one or more keywords to target relevant TikTok accounts and content.
- 🌍 **Country targeting**: Focus results using a country selection to better match your outreach region.
- 📌 **Scrape from flexible sources**: Choose **All**, **Profile**, or **Videos** to control where email data is sourced from.
- 💼 **B2B vs B2C email focus**: Select **Email Type** as **B2B** or **B2C** to tailor results for your outreach model.
- 🧰 **Engine choice (Cost Effective vs Legacy)**: Switch between **Cost Effective (New)** and **Legacy** engines depending on reliability vs cost/speed priorities.
- ⏱️ **Controlled volume with Max Emails**: Set `maxEmails` to limit collection and manage performance/cost.
- 💾 **Structured “Scraped Emails” dataset**: Each record includes keyword, email, email domain, email type, scrape source, and country for clean analysis.
- 🔄 **Resilient scraping behavior**: Includes retry and fallback behavior for resilience during large searches or transient failures.

---

### Input

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

```json
{
  "keywords": [
    "fitness",
    "gym",
    "workout"
  ],
  "country": "United States",
  "scrapeFrom": "All",
  "emailType": "B2C",
  "engine": "legacy",
  "maxEmails": 20
}
````

#### Input Fields

| Field | Required | Description |
|---|---:|---|
| `keywords` | Yes | One or more keywords to search for on TikTok. Use multiple terms when you want broader lead coverage (for example, “fitness”, “marketing”). |
| `country` | Yes | The country you want to target for results (used to focus the scraping context). |
| `scrapeFrom` | Yes | Choose where to scrape from: `All` (search across every type), `Profile`, or `Videos`. |
| `emailType` | Yes | Choose the email category you want: `B2C` or `B2B`. |
| `engine` | No | Select the scraping engine. `cost-effective` is **Cost Effective (New)**; `legacy` is **Legacy** (more reliable but slower and more expensive). Default is `legacy`. |
| `maxEmails` | Yes | Maximum number of emails to collect. Use this as your time/cost control (allowed range is 1–10000). |

***

### Output

The actor saves the scraped results in a dataset titled **Scraped Emails**, where each item includes consistent email and context metadata.

```json
[
  {
    "keyword": "fitness",
    "title": "Example TikTok title",
    "url": "https://www.tiktok.com/...",
    "description": "Example snippet/description text",
    "email": "example@example.com",
    "email_domain": "example.com",
    "email_type": "B2C",
    "scrape_from": "All",
    "country": "United States"
  }
]
```

#### Output Fields

| Field | Type | Description |
|---|---|---|
| `keyword` | string | The keyword that produced this record. |
| `title` | string | Title text associated with the scraped result. |
| `url` | string | Link to the related TikTok page/profile (shown as “View Profile” in the dataset table). |
| `description` | string | Description/snippet text associated with the result. |
| `email` | string | The extracted email address. |
| `email_domain` | string | The domain portion of the email address (e.g., `example.com`). |
| `email_type` | string | The email type used for filtering: `B2B` or `B2C`. |
| `scrape_from` | string | Where the actor scraped from: `All`, `Profile`, or `Videos`. |
| `country` | string | The country targeted for this run. |

You can export the dataset from Apify Console in common formats like JSON/CSV for use in lists, CRMs, and analysis.

***

### How to use Best Tiktok Email Scraper (via Apify Console)

1. **Open Apify Console**\
   Log in at https://console.apify.com.

2. **Find the actor**\
   Search for **Best Tiktok Email Scraper** in the Actors marketplace.

3. **Configure the Input**\
   In the **INPUT** section, fill in:
   `keywords`, `country`, `scrapeFrom`, `emailType`, and `maxEmails`.\
   Optionally set `engine` to `cost-effective` or `legacy`.

4. **Choose your scope (scrapeFrom)**\
   Pick `All` for broad coverage, `Profile` for account-focused results, or `Videos` for content-focused results.

5. **Select your email intent (emailType)**\
   Choose `B2B` or `B2C` to steer results toward business or consumer-focused contacts.

6. **Run the actor**\
   Click **Run**. During execution, you’ll see logs and progress in the console. For large searches or higher email limits, the run may take longer.

7. **Open Results (dataset)**\
   After completion, go to the **OUTPUT** tab and open the **Scraped Emails** dataset.

8. **Export your data**\
   Export the dataset to JSON/CSV and connect it to your downstream pipeline (CRM imports, audience building, or analysis).

No coding required—get accurate tiktok email harvesting software results in minutes.

***

### Advanced features & SEO optimization

- ⚙️ **Engine-tuned for different priorities**: Best Tiktok Email Scraper is engineered to excel at *automated tiktok email scraping* with an option to switch between **Cost Effective (New)** and **Legacy** modes for your workflow.
- 🔍 **Engineered for “tiktok profile email scraper” intent**: With `scrapeFrom`, it supports use cases similar to an *email scraper for tiktok profiles* by letting you focus on `Profile` results instead of mixing everything together.
- 🧠 **Clean, structured extraction for analysis**: Each record includes `email_domain`, `email_type`, `scrape_from`, `country`, and the originating `keyword`, which makes it easier to build a tiktok audience email list scraper-style dataset for segmentation.
- 📊 **Built for bulk lead generation**: Tune `maxEmails` to control the volume you collect, which helps when you need a *best email scraping tool for tiktok* workflow that’s repeatable.

***

### Best use cases

- 📈 **Marketing teams building lead lists**: Generate outreach-ready email data from TikTok with controlled volume using `maxEmails`.
- 🎯 **B2B teams finding business contacts**: Use `emailType: "B2B"` to target business-oriented emails for partnerships and vendor outreach.
- 💬 **Creators & influencer marketers**: Extract emails from relevant TikTok niches by running keyword-based searches for lead outreach.
- 🌍 **International expansion research**: Filter by `country` to find contacts relevant to your target market.
- 🧾 **Data analysts enriching datasets**: Combine `email_domain`, `keyword`, and `scrape_from` for segmentation and reporting.
- 🛠️ **CRM and outreach automation**: Export results and feed them into your pipeline as a structured dataset for downstream automation.
- 🧪 **Competitive audience intel**: Quickly compare email presence for different niches by iterating over keyword sets.

***

### Technical specifications

✅ **Supported Input Formats**

- Use the actor’s structured input fields: `keywords`, `country`, `scrapeFrom`, `emailType`, `engine` (optional), `maxEmails`.

✅ **Proxy Support**

- ✅ Built-in proxy support is available via selectable scraping engines (`cost-effective` and `legacy`).

✅ **Retry Mechanism**

- ✅ Includes retries and fallbacks to improve resilience during large searches and transient failures.

✅ **Dataset Structure**

- ✅ Output is stored in the **Scraped Emails** dataset with fields: `keyword`, `title`, `url`, `description`, `email`, `email_domain`, `email_type`, `scrape_from`, `country`.

✅ **Rate Limits & Performance**

- Performance depends on search size and email limits; large searches or high `maxEmails` may take longer.

❌ **Limitations**

- No emails found is possible when TikTok content doesn’t contain discoverable email data matching your filters.
- Higher `maxEmails` can increase runtime (use `maxEmails` to stay within your target budget/time).

***

### FAQ

#### ✅ Does Best Tiktok Email Scraper extract B2B and B2C emails?

Yes. You control this using the `emailType` input, where you can choose `B2C` or `B2B` for your tiktok contact email finder workflow.

#### ❓ What does “Scrape From” mean in this actor?

The `scrapeFrom` input lets you select where results are gathered from: `All`, `Profile`, or `Videos`. This is useful when you want an *email scraper for tiktok profiles*-style output versus a broader mix.

#### 💡 Can I limit how many emails I collect?

Yes. Use `maxEmails` to set the maximum number of emails to collect (minimum 1, maximum 10000). This helps manage scraping time and cost.

#### 🧰 What’s the difference between the engines?

You can choose the `engine` input as either `cost-effective` (Cost Effective (New)) or `legacy` (Legacy). The actor lets you pick the mode that best fits your priorities around cost/speed vs reliability.

#### 💻 Do I need to code to use it?

No. You can run it from Apify Console by filling the input form or providing an `input.json` file. It’s designed for marketers and analysts who want tiktok email extraction without building pipelines from scratch.

#### 🔁 Can I run it at scale with multiple keywords?

Yes. Provide multiple entries in `keywords` and use `maxEmails` to control volume. This is a typical approach for *automated tiktok email scraping* and building larger lead lists.

#### 🔎 Where are the results stored?

After the run, the actor saves results into the **Scraped Emails** dataset, including fields like `email`, `email_domain`, `email_type`, `scrape_from`, and `country`.

#### ⚖️ Is it legal to use this for lead generation?

Best Tiktok Email Scraper extracts emails from publicly available sources. It’s your responsibility to comply with applicable laws (for example GDPR/CCPA), spam regulations, and platform terms when using the output.

***

### Support & feature requests

Want to improve Best Tiktok Email Scraper for your tiktok lead generation email scraper workflow? Send your feedback and feature requests.

- 💡 **Feature Requests**: Examples include enhancements like additional output fields, improved filtering options, or easier export pipelines for your CRM workflow.
- 📧 **Contact**: Email us at <dataforleads@gmail.com>.

Your feedback helps shape future updates to this tiktok email data extraction actor.

***

### Closing CTA / Final thoughts

*If you’re searching for the most comprehensive **Best Tiktok Email Scraper** to automate your TikTok lead discovery, run a test with your real keywords and set `maxEmails` to your target volume.* You’ll get structured results in minutes—ready for segmentation, outreach, and analysis.

***

### Disclaimer

**Best Tiktok Email Scraper accesses only 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/CCPA), spam regulations, and TikTok/platform terms of service. For data removal requests, contact <dataforleads@gmail.com>.

Please use this tool responsibly, ethically, and for legitimate purposes only.

# Actor input Schema

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

Enter one or more keywords to search for on TikTok.

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

Specify the country to target for Google search results.

## `scrapeFrom` (type: `string`):

Choose one option — All, Profile, or Videos.

## `emailType` (type: `string`):

Choose one — B2C or B2B.

## `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.

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

Enter the maximum number of emails to collect.

## Actor input object example

```json
{
  "keywords": [
    "fitness",
    "gym",
    "workout"
  ],
  "country": "United States",
  "scrapeFrom": "All",
  "emailType": "B2C",
  "engine": "legacy",
  "maxEmails": 20
}
```

# 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": [
        "fitness",
        "gym",
        "workout"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("solid-scraper/best-tiktok-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": [
        "fitness",
        "gym",
        "workout",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("solid-scraper/best-tiktok-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": [
    "fitness",
    "gym",
    "workout"
  ]
}' |
apify call solid-scraper/best-tiktok-email-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Best Tiktok Email Scraper",
        "description": "📩✨ Best TikTok Email Scraper extracts emails from TikTok profiles fast and accurately. Find leads for marketing, outreach & partnerships with advanced filtering—save hours and boost conversion rates. 🚀",
        "version": "1.0",
        "x-build-id": "Rm0jbrHgtWi92Bccd"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/solid-scraper~best-tiktok-email-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-solid-scraper-best-tiktok-email-scraper",
                "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/solid-scraper~best-tiktok-email-scraper/runs": {
            "post": {
                "operationId": "runs-sync-solid-scraper-best-tiktok-email-scraper",
                "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/solid-scraper~best-tiktok-email-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-solid-scraper-best-tiktok-email-scraper",
                "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": [
                    "keywords",
                    "country",
                    "scrapeFrom",
                    "emailType",
                    "maxEmails"
                ],
                "properties": {
                    "keywords": {
                        "title": "Keywords",
                        "type": "array",
                        "description": "Enter one or more keywords to search for on TikTok.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "country": {
                        "title": "Country",
                        "enum": [
                            "United States",
                            "United Kingdom",
                            "Canada",
                            "Australia",
                            "Germany",
                            "France",
                            "India",
                            "Japan",
                            "Brazil",
                            "Italy",
                            "Spain",
                            "Netherlands",
                            "Sweden",
                            "Norway",
                            "Denmark",
                            "Finland",
                            "Poland",
                            "Czech Republic",
                            "Hungary",
                            "Romania",
                            "Bulgaria",
                            "Croatia",
                            "Slovenia",
                            "Slovakia",
                            "Estonia",
                            "Latvia",
                            "Lithuania",
                            "Portugal",
                            "Greece",
                            "Cyprus",
                            "Malta",
                            "Luxembourg",
                            "Ireland",
                            "Belgium",
                            "Austria",
                            "Switzerland",
                            "Liechtenstein",
                            "Iceland",
                            "South Korea",
                            "China",
                            "Mexico",
                            "Argentina",
                            "Chile",
                            "Colombia",
                            "Peru",
                            "Venezuela",
                            "Ecuador",
                            "Uruguay",
                            "Paraguay",
                            "Bolivia",
                            "Guyana",
                            "Suriname",
                            "French Guiana",
                            "Falkland Islands (Malvinas)",
                            "South Georgia and the South Sandwich Islands",
                            "Bonaire, Sint Eustatius and Saba",
                            "Curaçao",
                            "Aruba",
                            "Sint Maarten (Dutch part)",
                            "Turks and Caicos Islands",
                            "British Virgin Islands",
                            "Anguilla",
                            "Montserrat",
                            "Antigua and Barbuda",
                            "Barbados",
                            "Dominica",
                            "Grenada",
                            "Saint Kitts and Nevis",
                            "Saint Lucia",
                            "Saint Vincent and the Grenadines",
                            "Trinidad and Tobago",
                            "Jamaica",
                            "Bahamas",
                            "Belize",
                            "Costa Rica",
                            "Guatemala",
                            "Honduras",
                            "Nicaragua",
                            "Panama",
                            "El Salvador",
                            "Cuba",
                            "Dominican Republic",
                            "Haiti",
                            "Puerto Rico",
                            "U.S. Virgin Islands",
                            "American Samoa",
                            "Guam",
                            "Northern Mariana Islands",
                            "Saudi Arabia",
                            "United Arab Emirates",
                            "Bahrain",
                            "Iraq",
                            "Iran, Islamic Republic of",
                            "Israel",
                            "Jordan",
                            "Kuwait",
                            "Lebanon",
                            "Oman",
                            "Qatar",
                            "Syrian Arab Republic",
                            "Yemen",
                            "Afghanistan",
                            "Bangladesh",
                            "Bhutan",
                            "Maldives",
                            "Nepal",
                            "Pakistan",
                            "Sri Lanka",
                            "Myanmar",
                            "Cambodia",
                            "Lao People's Democratic Republic",
                            "Thailand",
                            "Viet Nam",
                            "Malaysia",
                            "Singapore",
                            "Brunei Darussalam",
                            "Philippines",
                            "Indonesia",
                            "Timor-Leste",
                            "Papua New Guinea",
                            "Fiji",
                            "New Zealand",
                            "Solomon Islands",
                            "Vanuatu",
                            "New Caledonia",
                            "French Polynesia",
                            "Wallis and Futuna",
                            "Samoa",
                            "Tonga",
                            "Tuvalu",
                            "Kiribati",
                            "Nauru",
                            "Federated States of Micronesia",
                            "Marshall Islands",
                            "Palau",
                            "Cook Islands",
                            "Niue",
                            "Tokelau"
                        ],
                        "type": "string",
                        "description": "Specify the country to target for Google search results.",
                        "default": "United States"
                    },
                    "scrapeFrom": {
                        "title": "Scrape From",
                        "enum": [
                            "All",
                            "Profile",
                            "Videos"
                        ],
                        "type": "string",
                        "description": "Choose one option — All, Profile, or Videos.",
                        "default": "All"
                    },
                    "emailType": {
                        "title": "Email Type",
                        "enum": [
                            "B2C",
                            "B2B"
                        ],
                        "type": "string",
                        "description": "Choose one — B2C or B2B.",
                        "default": "B2C"
                    },
                    "engine": {
                        "title": "Engine",
                        "enum": [
                            "cost-effective",
                            "legacy"
                        ],
                        "type": "string",
                        "description": "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.",
                        "default": "legacy"
                    },
                    "maxEmails": {
                        "title": "Max Emails",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Enter the maximum number of emails to collect.",
                        "default": 20
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
