# Tiktok Profile Email Scraper By Keyword (`solid-scraper/tiktok-profile-email-scraper-by-keyword`) Actor

🔎 Extract emails from TikTok profiles by keyword with precision and speed. Perfect for marketers, agencies, and sales teams seeking targeted leads—country-ready, workflow-friendly, and built for growth. 🚀

- **URL**: https://apify.com/solid-scraper/tiktok-profile-email-scraper-by-keyword.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 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 Keyword Email Search 📬

**TikTok Keyword Email Search** helps you find targeted TikTok leads by keyword and (optionally) return only profiles that include email addresses in their bio. Whether you’re a marketer, recruiter, or data enthusiast searching TikTok email search by keyword, this actor supports keyword-driven lead discovery and country filtering—so you can build outreach lists faster and save hours of manual research. 🚀

***

### Why choose TikTok Keyword Email Search?

| Feature | Benefit |
| --- | --- |
| ✅ **Keyword-based lead generation** | Generate TikTok leads using your keywords and collect results per keyword. |
| ✅ **Country filtering** | Target your search to a specific country or run a worldwide search when you leave it empty. |
| ✅ **Optional “emails only” mode** | Return only profiles with email addresses in their bio when enabled. |
| ✅ **Structured output dataset** | Save enriched profile data (username, profile URL, stats, bio, emails) into an Apify dataset. |
| ✅ **Built-in resilience** | Includes retries and fallbacks to improve completion rate across profiles. |
| ✅ **Scales across multiple keywords** | Run multiple keywords in one execution and aggregate results into a single dataset. |

***

### Key features

- 🔍 **Keyword-driven TikTok email outreach search:** Use your `keywords` list to discover matching TikTok profiles for lead generation.
- 🌍 **Targeted by country:** Filter results using the `country` input (or leave empty for worldwide searching).
- 📧 **Email-aware results mode:** When `scrapeLeadsWithEmail` is enabled, only profiles containing email addresses in their bio are returned.
- 🧩 **Complete profile enrichment:** Captures profile metadata alongside extracted emails (username, full name, bio, follower/following/video/likes counts, verification, avatar URL).
- 💾 **Real-time dataset saving:** Each batch of enriched leads is pushed to the dataset as soon as it’s available.
- 🛡️ **Reliability through retries:** Profile fetching includes retries and continues processing without failing the entire run.
- 🌐 **URL normalization support:** Handles TikTok URLs and extracts consistent `profile_url` and `username` for output consistency.

***

### Input

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

```json
{
  "keywords": ["marketing", "fitness", "real estate"],
  "country": "United States",
  "maxLeadsPerKeyword": 20,
  "scrapeLeadsWithEmail": false
}
```

#### Input Fields

| Field | Required | Description |
| --- | --- | --- |
| `keywords` | ✅ | List of keywords to search for TikTok profiles (for example: `"marketing"`, `"fitness"`, `"real estate"`). |
| `country` | ❌ | Target country to filter search results. Leave empty for worldwide search. |
| `maxLeadsPerKeyword` | ❌ | Maximum number of leads to generate per keyword (allowed range is 1–100). |
| `scrapeLeadsWithEmail` | ❌ | If enabled, only profiles containing email addresses in their bio are returned. If disabled, all matching profiles are returned. |

***

### Output

The actor saves each profile’s data in JSON format into the **TikTok Leads Dataset** dataset view **Scraped Leads**.

Example output item:

```json
[
  {
    "keyword": "marketing",
    "profile_url": "https://www.tiktok.com/@exampleuser",
    "username": "exampleuser",
    "emails": ["lead@example.com"],
    "bio": "Bio text with contact: lead@example.com",
    "full_name": "Example User",
    "followers_count": 12345,
    "following_count": 678,
    "video_count": 90,
    "likes_count": 23456,
    "is_verified": false,
    "avatar_url": "https://example.com/avatar.jpg",
    "timestamp": "2026-06-02 12:34:56"
  }
]
```

#### Output Fields

| Field | Type | Description |
| --- | --- | --- |
| `keyword` | string | The keyword currently being processed for this lead (ties back to your TikTok keyword search in email). |
| `username` | string | The TikTok username extracted from the profile URL. |
| `full_name` | string | The profile nickname / full name from the TikTok profile data. |
| `emails` | array | Email addresses extracted from the profile bio (may be empty depending on mode). |
| `profile_url` | string | Normalized TikTok profile URL for the lead. |
| `followers_count` | number | Followers count from the profile stats. |
| `following_count` | number | Following count from the profile stats. |
| `video_count` | number | Video count from the profile stats. |
| `likes_count` | number | Total likes count from the profile stats. |
| `bio` | string | Raw bio text pulled from the TikTok profile. |
| `is_verified` | boolean | Whether the profile is verified. |
| `avatar_url` | string | URL to the profile avatar image. |
| `timestamp` | string | Scraping timestamp in the format `YYYY-MM-DD %H:%M:%S`. |

You can export the dataset from Apify Console in common formats like **JSON** or **CSV** after the run finishes.

***

### How to use TikTok Keyword Email Search (via Apify Console)

1. **Open Apify Console**\
   Log in at https://console.apify.com and open the **Actors** section.

2. **Find the actor**\
   Search for **TikTok Keyword Email Search** and open the actor page.

3. **Enter your input**\
   In the **INPUT** section, fill in the `keywords` field (required).\
   Optionally set `country`, `maxLeadsPerKeyword`, and `scrapeLeadsWithEmail`.

4. **Choose your scraping intent**\
   If you want a TikTok email finder keyword workflow that returns only leads likely ready for outreach, enable `scrapeLeadsWithEmail`.\
   If you want broader discovery (then filter later), disable it.

5. **Run the actor**\
   Click **Run**. You’ll see live logs while it processes each keyword and enriches profiles.

6. **Review results in the dataset**\
   After completion, open the **OUTPUT** tab and open the dataset view **Scraped Leads** (for **TikTok Leads Dataset**).

7. **Export your leads**\
   Export the dataset as **JSON** or **CSV** for your CRM, spreadsheets, or analysis pipelines.

No coding required—get accurate TikTok keyword email search results in minutes. ⚡

***

### Advanced features & SEO optimization

- 🏷️ **Designed for “TikTok keyword email search” workflows:** It’s engineered for keyword-driven discovery and email-focused lead generation, including variations like TikTok email search by keyword and email search for TikTok keywords.
- 🔄 **Retries and fallbacks for resilience:** Includes retries to improve success across profile fetches—helpful when running large keyword batches.
- 🧠 **Input-to-leads consistency:** Country and keyword inputs map directly to each lead’s `keyword` output field, so you can segment outreach cleanly.
- 📝 **Email extraction from bios:** Emails are extracted from the profile bio text, supporting obfuscated formats (e.g., variants that include `[at]` / `(dot)` style patterns).

***

### Best use cases

- 📈 **Marketers building TikTok keyword email outreach search lists:** Generate segmented outreach leads per niche keyword and export to your email tool.
- 🎯 **Recruiters sourcing creator talent:** Find TikTok profiles matching roles/interests, then prioritize those with emails in bio.
- 🧪 **Researchers running influencer contact studies:** Compare profile metrics (followers, likes, videos) alongside extracted email availability by keyword.
- 🗺️ **Agencies doing country-targeted prospecting:** Use `country` to narrow TikTok keyword search in inbox-style lead discovery.
- 💼 **B2B teams verifying contactability:** Use `scrapeLeadsWithEmail` to focus on profiles that include email addresses in their bio.
- 🧰 **Data analysts enriching outreach corpora:** Combine scraped bio and engagement stats with extracted emails for downstream modeling.

***

### Technical specifications

- **Supported Input Formats**
  - ✅ `keywords`: array of strings (required)
  - ✅ `country`: one of the enum values; empty means worldwide search
  - ✅ `maxLeadsPerKeyword`: integer between 1 and 100
  - ✅ `scrapeLeadsWithEmail`: boolean

- **Retry Mechanism**
  - ✅ Includes retries (profile fetching uses up to 3 attempts)

- **Proxy Support**
  - ✅ Built-in proxy support for more reliable scraping

- **Dataset Structure**
  - ✅ **TikTok Leads Dataset** with dataset view **Scraped Leads**
  - ✅ Output includes (at minimum) `keyword`, `username`, `full_name`, `emails`, `profile_url`, and engagement fields

- **Rate Limits & Performance**
  - ⚠️ Performance depends on profile availability and network conditions, but results are streamed into the dataset during processing

- **Limitations**
  - ❌ If `scrapeLeadsWithEmail` is enabled, profiles without emails in their bio will be excluded
  - ⚠️ Free-tier runs are limited to a maximum of **100 emails** total (the actor checks your plan and enforces the free-user maximum)

***

### FAQ

#### How does TikTok Keyword Email Search find email addresses?

✅ It extracts email addresses from the TikTok profile bio text and returns them in the `emails` field. If you enable `scrapeLeadsWithEmail`, only profiles that contain at least one email in their bio are returned.

#### What happens if I disable `scrapeLeadsWithEmail`?

❌ When `scrapeLeadsWithEmail` is set to `false`, the actor returns all matching profiles (not only those with emails). You can filter by `emails` after the run.

#### Can I search TikTok leads in different countries?

✅ Yes. Use the `country` input to target a specific country. If you leave `country` empty, the actor performs a worldwide search.

#### What does `maxLeadsPerKeyword` control?

✅ `maxLeadsPerKeyword` sets the maximum number of leads generated per keyword, bounded between 1 and 100.

#### Do I need to write any code or use an API?

✅ No. You can run it directly in Apify Console using the input form (or provide an `input.json` file). The dataset is saved automatically for export.

#### Where can I get the results?

✅ After completion, open the **OUTPUT** tab in Apify Console and view the **TikTok Leads Dataset** dataset, specifically the **Scraped Leads** view.

#### Is there a limit on how many results I can get?

✅ For free-tier usage, the actor enforces a maximum of **100 emails**. Paid users are not subject to the same free result limit in the actor logic.

***

### Support & feature requests

Want to improve your TikTok keyword email search workflow? We’d love your feedback on **TikTok Keyword Email Search**. 💬

- 💡 **Feature Requests:** For example, you could request additional export formats, custom email regex handling, or CRM-friendly output mapping.
- 📧 **Contact:** Email us at <dataforleads@gmail.com> and tell us what you’re trying to achieve with TikTok email search by keyword.
- We use your feedback to shape the roadmap for future improvements.

***

### Closing CTA / Final thoughts

*TikTok Keyword Email Search is built to be the most comprehensive, keyword-first way to find TikTok leads with email-ready bios.*\
If you’re searching for a TikTok keyword email queries workflow, run your next batch and export your dataset in minutes. 📊

***

### Disclaimer

This actor accesses **publicly accessible sources** to generate lead lists from TikTok profiles. It does not access private profiles, authenticated data, or password-protected pages.

You are responsible for complying with applicable laws and regulations (for example, GDPR/CCPA), as well as platform policies and spam regulations. Use the exported data responsibly and ethically for legitimate business purposes.

If you need data removal, contact <dataforleads@gmail.com>. Please always verify and handle personal data according to your local requirements.

# Actor input Schema

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

List of keywords to search for TikTok profiles (e.g., 'marketing', 'fitness', 'real estate').

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

Country to filter search results. Leave empty for worldwide search.

## `maxLeadsPerKeyword` (type: `integer`):

Maximum number of leads to generate per keyword (1-100).

## `scrapeLeadsWithEmail` (type: `boolean`):

If enabled, only profiles containing email addresses in their bio will be returned. If disabled, all matching profiles will be returned.

## Actor input object example

```json
{
  "keywords": [
    "marketing"
  ],
  "country": "United States",
  "maxLeadsPerKeyword": 20,
  "scrapeLeadsWithEmail": false
}
```

# 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": [
        "marketing"
    ],
    "country": "United States"
};

// Run the Actor and wait for it to finish
const run = await client.actor("solid-scraper/tiktok-profile-email-scraper-by-keyword").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": ["marketing"],
    "country": "United States",
}

# Run the Actor and wait for it to finish
run = client.actor("solid-scraper/tiktok-profile-email-scraper-by-keyword").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": [
    "marketing"
  ],
  "country": "United States"
}' |
apify call solid-scraper/tiktok-profile-email-scraper-by-keyword --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/HMtQU7gPdo4tGMWre/builds/pCUnQmBFhlHAw4nNB/openapi.json
