# TikTok Email Scraper (`email_scraper/tiktok-email-scraper`) Actor

TikTok Email Scraper extracts publicly indexed email addresses from TikTok search results using targeted keywords, locations, and custom email domains. Build focused TikTok lead lists for prospecting, outreach, market research, and contact discovery with structured Apify dataset output.

- **URL**: https://apify.com/email\_scraper/tiktok-email-scraper.md
- **Developed by:** [Email Scraper](https://apify.com/email_scraper) (community)
- **Categories:**
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.49 / 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.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

### TikTok Email Scraper Overview

TikTok Email Scraper helps you discover publicly displayed email addresses associated with TikTok search results. Instead of manually searching profiles, you provide keywords, optional locations, and email-domain suffixes, and the actor searches relevant TikTok pages through search results to identify contact details that are publicly visible in result descriptions.

TikTok Email Scraper is designed for lead discovery, creator research, market research, outreach preparation, and contact-data collection where public TikTok information is useful. The output is structured as dataset records with the search keyword, result title, description, URL, and extracted email address.

The actor works best when your search terms are specific enough to identify the type of TikTok account or audience you need. Combining several closely related keywords can improve coverage without requiring manual browsing.

### TikTok Email Scraper Features

TikTok Email Scraper supports keyword-based discovery, optional geographic targeting, customizable email-domain filters, exclusion words, and a configurable email target for each keyword and domain combination.

#### Keyword-based TikTok discovery

Enter one or more search terms such as `fitness coach`, `real estate agent`, `beauty creator`, or `restaurant owner`. TikTok Email Scraper uses those terms to find relevant TikTok results and then checks the visible result descriptions for email addresses matching your selected domain suffixes.

#### Location targeting

Use the optional location field to narrow searches to a country, state, city, or other manually entered geographic phrase. Leaving the field empty allows searches without a geographic filter.

#### Custom email domains

You can choose which email suffixes to search for, including common providers such as `@gmail.com`, `@yahoo.com`, or `@outlook.com`, as well as custom company domains. This makes the TikTok Email Scraper useful for both creator-focused and business-focused contact discovery.

#### Exclude words

The exclusion filter lets you skip result descriptions containing unwanted words or phrases. Matching is case-insensitive, while single-word exclusions are treated as whole words. This can help remove categories that do not fit your target audience.

#### Configurable result targets

The `maxEmails` setting controls the target for each keyword plus domain combination. For example, three keywords and two domains with a value of 20 creates six search combinations, each targeting up to 20 matching addresses when available.

### How to Use the TikTok Email Scraper

TikTok Email Scraper follows a simple input-to-dataset workflow:

1. Add the TikTok search keywords you want to investigate.
2. Optionally enter a location to narrow the search.
3. Select one or more email-domain suffixes.
4. Set the maximum number of emails per keyword and domain combination.
5. Add exclusion words or phrases when certain result categories should be skipped.
6. Run the actor and review the structured dataset.

TikTok Email Scraper processes the keyword and domain combinations systematically, checks result descriptions for matching emails, removes duplicates, and pushes new records to the dataset.

Progress and already-seen emails are persisted during execution, helping interrupted runs retain their position and avoid repeat records.

### TikTok Email Scraper Data Extraction

TikTok Email Scraper extracts contact information from public search-result descriptions associated with TikTok results. It is not a private-profile access tool and should not be interpreted as a method for obtaining hidden account information.

For every matching result, the actor can return the original search keyword, result title, result description, result URL, and the discovered email address. These fields provide the context needed to review where a contact was found and which search intent produced it.

The email matching process is filtered by the domain suffixes you provide. This lets you focus on specific provider types or business domains rather than collecting every possible email pattern.

Because the actor depends on publicly indexed search-result content, the number of contacts available varies by keyword, domain, location, and what information is publicly displayed. A larger target does not guarantee more results.

### TikTok Email Scraper Use Cases

#### Lead generation

TikTok Email Scraper can help build targeted prospect lists from publicly visible TikTok-related contact information. Use specific professional or commercial keywords to focus on creators, consultants, agencies, local businesses, or niche professionals.

#### Market research

Researchers can collect publicly surfaced contact records alongside titles, descriptions, and URLs. This creates a structured starting point for analyzing categories, themes, and potential market segments.

#### Creator and influencer research

Brand and partnership teams can use TikTok Email Scraper to identify contact details that appear alongside relevant creator search results. Keyword combinations can focus the discovery process on a niche, service, or geography.

#### Competitor and niche analysis

The resulting dataset can help map public-facing accounts and contact opportunities around a topic. Comparing multiple keyword groups can reveal which segments produce more discoverable business contacts.

#### CRM enrichment

Where appropriate, the extracted email and source URL can be used as a research input for internal lead workflows. The dataset preserves the surrounding result information so teams can review records before using them downstream.

#### Content and audience research

Researchers can use keyword-driven discovery to find public-facing TikTok accounts connected to particular industries, interests, or locations and then organize the resulting records for further analysis.

### Input

The TikTok Email Scraper input schema contains five configurable properties. Only `keywords` is required by the actor input configuration.

| Input           | Type             | Required | Default                  | Description                                                                        |
| --------------- | ---------------- | -------- | ------------------------ | ---------------------------------------------------------------------------------- |
| `keywords`      | Array of strings | Yes      | `["manager", "founder"]` | Search keywords or queries used to discover relevant TikTok results.               |
| `location`      | String           | No       | `""`                     | Optional country, state, city, or other geographic phrase used to narrow searches. |
| `customDomains` | Array of strings | No       | `["@gmail.com"]`         | Email-domain suffixes to match, such as `@gmail.com` or a custom company domain.   |
| `maxEmails`     | Integer          | No       | `10`                     | Maximum target per keyword + domain combination. Allowed range is 1–10,000.        |
| `excludeWords`  | Array of strings | No       | `[]`                     | Words or phrases that cause matching result descriptions to be skipped.            |

#### Keyword input

Use multiple related keywords when you need broader coverage. For example, instead of only `fitness`, you can test `fitness coach`, `fitness trainer`, `online fitness coach`, and similar phrases.

#### Domain input

Each domain suffix is processed as its own search combination. Adding more relevant domains can expand the range of contact patterns searched by TikTok Email Scraper.

#### Exclusion input

Use `excludeWords` for categories you do not want in the dataset. Phrase matching is based on substring detection, while single terms use whole-word matching, and both are case-insensitive.

#### Result limit input

`maxEmails` is a per-combination target rather than a single shared run total. The actor moves through all configured keyword and domain combinations, subject to available results and stopping conditions.

For free users, the runtime reduces a requested `maxEmails` above 100 to 100 for the run configuration. Paid users do not receive that specific plan-tier reduction.

### Output Data

TikTok Email Scraper writes structured records to the Apify dataset.

| Field         | Type   | Description                                                               |
| ------------- | ------ | ------------------------------------------------------------------------- |
| `network`     | String | Source network label, returned as `TikTok.com`.                           |
| `keyword`     | String | The keyword that produced the search combination for the record.          |
| `title`       | String | Title of the search result associated with the extracted email.           |
| `description` | String | Text description from the result used for email extraction and filtering. |
| `url`         | String | URL of the search result.                                                 |
| `email`       | String | Newly discovered email address matching the selected domain suffix.       |

The primary contact field is `email`, while `keyword`, `title`, `description`, and `url` provide context for evaluating the lead. The `network` field identifies the source platform.

The Apify dataset view presents the main lead fields as a table for easier review.

### Example Input

```json
{
  "keywords": [
    "fitness coach",
    "fitness trainer",
    "online fitness coach"
  ],
  "location": "New York",
  "customDomains": [
    "@gmail.com",
    "@outlook.com"
  ],
  "maxEmails": 20,
  "excludeWords": [
    "crypto",
    "onlyfans"
  ]
}
```

This creates six keyword-domain combinations, each targeting up to 20 matching emails when available.

### Example Output

```json
{
  "network": "TikTok.com",
  "keyword": "fitness coach",
  "title": "Example Fitness Coach",
  "description": "Fitness coaching tips. Contact: example@gmail.com",
  "url": "https://www.tiktok.com/@example",
  "email": "example@gmail.com"
}
```

Real values depend on the public search-result content available for your inputs.

### Data Quality and Reliability

TikTok Email Scraper uses several safeguards to make collection more controlled. Email addresses are tracked in a de-duplication set so the same address is not intentionally emitted again after it has already been registered in the run state.

TikTok Email Scraper also processes searches incrementally and saves progress as records are collected. If execution is interrupted, the stored cursor and seen-email state can be used to resume from the current position rather than starting blindly from the beginning.

Pagination continues while useful new email addresses are being found. The collector can stop when the configured target is reached, when multiple pages produce no new emails, when later pages become inefficient, when result pages are empty under the actor's stopping logic, or when repeated fetch failures require the current search pair to end.

Public availability varies. Narrow keywords, restrictive locations, uncommon domains, or limited public contact information can reduce results.

### SEO and Search Intent

TikTok Email Scraper is built around practical searches such as finding TikTok contacts, extracting publicly listed TikTok emails, discovering creator business contacts, and collecting lead data connected to TikTok search terms.

Users often begin with a broad topic and then need a more targeted set of contacts. Combining role-based keywords, service keywords, niches, locations, and email domains gives the actor clearer search intent while keeping the resulting dataset organized.

The most effective workflow is usually to test a small group of highly relevant terms first, inspect the results, and then expand the keyword or domain set based on what is actually discoverable.

### Why Use This Actor

TikTok Email Scraper reduces repetitive manual searching by turning a set of search terms into structured contact records. You do not need to inspect every result individually before the actor checks descriptions for matching email patterns.

Its combination of keyword lists, optional location targeting, domain filtering, exclusions, duplicate tracking, incremental dataset output, and resumable progress is useful for repeatable research workflows.

TikTok Email Scraper can process multiple combinations in one run by supplying the relevant keyword and domain lists together.

### API and Automation

TikTok Email Scraper runs as an Apify Actor and stores collected records in the actor run's dataset. This makes the resulting structured data available for normal Apify workflows, including reviewing run output and connecting the dataset to automation patterns supported by your Apify setup.

The dataset contains the collected fields in machine-readable form for downstream processing, analysis, filtering, or controlled lead workflows.

Treat the dataset as publicly surfaced contact information and validate records before outreach or enrichment.

### Frequently Asked Questions

#### What is TikTok Email Scraper?

TikTok Email Scraper is an Apify Actor that searches for relevant TikTok results using your keywords and extracts email addresses that are publicly visible in the associated result descriptions.

#### How does TikTok Email Scraper find emails?

The actor checks search-result descriptions for email addresses matching the domain suffixes configured in `customDomains`. It stores each new matching address together with the result context.

#### Can I use multiple keywords?

Yes. The `keywords` input is an array, so you can submit multiple search phrases in one run. This is useful for covering related roles, niches, services, or audience segments.

#### Can I search by country or city?

Yes. Use the `location` field to add a geographic phrase such as a country or city. Leave it blank when you want the search to run without a location filter.

#### Can I choose which email providers to search?

Yes. Add one or more suffixes to `customDomains`. Common examples include `@gmail.com`, `@yahoo.com`, and `@outlook.com`, along with relevant custom domains.

#### What does maxEmails control?

`maxEmails` sets the collection target for each keyword and domain combination. It is not a single shared cap across all combinations.

#### Can I exclude specific categories?

Yes. Add words or phrases to `excludeWords`. When a result description matches an exclusion term, TikTok Email Scraper skips that snippet and does not take an email from it.

#### Does TikTok Email Scraper return duplicate emails?

The actor maintains a set of already-seen email addresses and only registers new addresses into the collected output state.

#### Does the actor access private TikTok information?

No. The documented behavior is based on publicly surfaced search-result content. It is not designed to retrieve private account data.

#### Why did my run find fewer emails than requested?

A target is not a guarantee. Results depend on the availability of public contact information, keyword relevance, email-domain filters, location restrictions, exclusions, and the actor's stopping conditions.

#### Can I search company email domains?

Yes. You can add custom domain suffixes to `customDomains`, including relevant business domains. This can be helpful when looking for public business contacts rather than common free-mail providers.

#### What does the output contain?

The dataset includes `network`, `keyword`, `title`, `description`, `url`, and `email`. These fields combine the contact value with enough source context to review how the record was discovered.

### Support

TikTok Email Scraper is intended to make public contact discovery easier while keeping the workflow focused on practical, reviewable dataset output.

For questions, issue reports, or requests related to TikTok Email Scraper, use the support options available for TikTok Email Scraper on the Actor's Apify Store page. When reporting an issue, include the input configuration, the run context, and a description of the result you expected versus what the run produced.

For custom changes or bespoke scraper requirements, contact the developer through the contact option provided in the Actor configuration or listing.

# Actor input Schema

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

A list of keywords or queries to search for.

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

Optional country, state or city used to narrow the search. Leave it empty to search without a geographic filter.

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

List of custom email domains

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

How many addresses each search keyword + domain suffix combination may collect before the finder moves on to the next one. This is a per-combination target, not a run-wide total: with 3 keyword and 2 Domains and a limit of 20, the run works through all 6 combinations and aims for up to 20 addresses in each, so up to 120 overall. Lower values finish sooner and cost less; higher values dig deeper but never guarantee a fuller result, since the run can only find what is publicly listed.

## `excludeWords` (type: `array`):

Words or phrases you do not want to see.

## Actor input object example

```json
{
  "keywords": [
    "manager",
    "founder"
  ],
  "location": "New york",
  "customDomains": [
    "@gmail.com"
  ],
  "maxEmails": 10,
  "excludeWords": []
}
```

# Actor output Schema

## `dataset` (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 = {
    "keywords": [
        "manager",
        "founder"
    ],
    "location": "New york",
    "customDomains": [
        "@gmail.com"
    ],
    "excludeWords": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("email_scraper/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": [
        "manager",
        "founder",
    ],
    "location": "New york",
    "customDomains": ["@gmail.com"],
    "excludeWords": [],
}

# Run the Actor and wait for it to finish
run = client.actor("email_scraper/tiktok-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": [
    "manager",
    "founder"
  ],
  "location": "New york",
  "customDomains": [
    "@gmail.com"
  ],
  "excludeWords": []
}' |
apify call email_scraper/tiktok-email-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,email_scraper/tiktok-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/rIm7OKH3GyY6yHM2H/builds/YfOGWkjMoTFBImCUA/openapi.json
