# TikTok Influencer Email Finder (`parsebird/tiktok-influencer-email-finder`) Actor

Find TikTok influencer emails from profiles or a keyword. Get public bio emails with a domain health check, linked-page contacts, social links, followers, likes and verified status.

- **URL**: https://apify.com/parsebird/tiktok-influencer-email-finder.md
- **Developed by:** [ParseBird](https://apify.com/parsebird) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.79 / 1,000 profile scrapeds

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

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

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### TikTok Influencer Email Finder

TikTok Influencer Email Finder extracts public **emails of TikTok influencers and creators** from a list of profiles or from a niche keyword, with a domain health check on every address, plus website, social links, follower, like and video counts for each [TikTok](https://www.tiktok.com/) profile.

<table width="100%" style="width:100%"><tr>
<td style="border-left:4px solid #25F4EE;padding:12px 16px;font-weight:600">
Scan TikTok usernames or discover creators for a keyword, then filter by followers, verified status, public contact and exact email domain to build an influencer outreach list in minutes.
</td>
</tr></table>
<br>
<table width="100%" style="width:100%">
<tr>
<td colspan="3" style="padding:10px 14px;background:#010101;border:none;border-radius:4px 4px 0 0">
<span style="color:#FFFFFF;font-size:14px;font-weight:700;letter-spacing:0.5px">ParseBird TikTok Suite</span>
<span style="color:#25F4EE;font-size:13px">&nbsp;&nbsp;&bull;&nbsp;&nbsp;Trends, ads, LIVE, shop, stories, downloads &amp; creator emails</span>
</td>
</tr>
<tr>
<td style="padding:10px 14px;border:1px solid #E7E5E4;border-right:none;border-top:none;vertical-align:top;width:33%;background:#FFFFFF">
<a href="https://apify.com/parsebird/tiktok-trends-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">TikTok Trends Scraper</a><br>
<span style="color:#78716C;font-size:11px">Trending hashtags, sounds, creators</span>
</td>
<td style="padding:10px 14px;border:1px solid #E7E5E4;border-right:none;border-top:none;vertical-align:top;width:33%;background:#FFFFFF">
<a href="https://apify.com/parsebird/tiktok-ads-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">TikTok Ads Scraper</a><br>
<span style="color:#78716C;font-size:11px">Creative Center Top Ads</span>
</td>
<td style="padding:10px 14px;border:1px solid #E7E5E4;border-top:none;vertical-align:top;width:33%;background:#FFFFFF">
<a href="https://apify.com/parsebird/tiktok-top-ads-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">TikTok Top Ads Scraper</a><br>
<span style="color:#78716C;font-size:11px">Top ads by likes tier &amp; language</span>
</td>
</tr>
<tr>
<td style="padding:10px 14px;border:1px solid #E7E5E4;border-right:none;border-top:none;vertical-align:top;width:33%;background:#FFFFFF">
<a href="https://apify.com/parsebird/tiktok-live-search-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">TikTok Live Search Scraper</a><br>
<span style="color:#78716C;font-size:11px">LIVE rooms broadcasting now</span>
</td>
<td style="padding:10px 14px;border:1px solid #E7E5E4;border-right:none;border-top:none;vertical-align:top;width:33%;background:#FFFFFF">
<a href="https://apify.com/parsebird/tiktok-shop-reviews-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">TikTok Shop Reviews Scraper</a><br>
<span style="color:#78716C;font-size:11px">Product reviews and ratings</span>
</td>
<td style="padding:10px 14px;border:1px solid #E7E5E4;border-top:none;vertical-align:top;width:33%;background:#FFFFFF">
<a href="https://apify.com/parsebird/tiktok-story-viewer" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">TikTok Story Viewer</a><br>
<span style="color:#78716C;font-size:11px">Active stories, no login</span>
</td>
</tr>
<tr>
<td style="padding:10px 14px;border:1px solid #E7E5E4;border-right:none;border-top:none;border-radius:0 0 0 4px;vertical-align:top;width:33%;background:#FFFFFF">
<a href="https://apify.com/parsebird/tiktok-slideshow-downloader" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">TikTok Slideshow Downloader</a><br>
<span style="color:#78716C;font-size:11px">Photo-mode posts as image files</span>
</td>
<td style="padding:10px 14px;border:1px solid #E7E5E4;border-right:none;border-top:none;vertical-align:top;width:33%;background:#FFFFFF">
<a href="https://apify.com/parsebird/tiktok-video-downloader" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">TikTok Video Downloader</a><br>
<span style="color:#78716C;font-size:11px">MP4 videos to your cloud storage</span>
</td>
<td style="padding:10px 14px;border:1px solid #E7E5E4;border-top:none;border-radius:0 0 4px 0;vertical-align:top;width:33%;background:#161823">
<a href="https://apify.com/parsebird/tiktok-influencer-email-finder" style="color:#FFFFFF;text-decoration:none;font-weight:700;font-size:13px">TikTok Influencer Email Finder</a><br>
<span style="color:#25F4EE;font-size:11px;font-weight:600">You are here</span>
</td>
</tr>
</table>

##### Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

```text
Use Apify Actor parsebird/tiktok-influencer-email-finder to find public emails of TikTok creators. Example with ApifyClient (Python): client.actor("parsebird/tiktok-influencer-email-finder").call(run_input={"target":"profiles","profileTargets":["jamescharles","@painted","https://www.tiktok.com/@tiktok"],"includeLinkedPages":true}). Inputs: target string required ("profiles" or "keyword", default "profiles"); profileTargets array of strings (TikTok usernames, @handles or profile URLs, used with target=profiles, max 5000); keyword string (one niche keyword such as "fitness coach", used with target=keyword); includeLinkedPages boolean (default false; also open the profile's website or link-in-bio page plus up to 2 follow-up pages for more emails and social links); minimumFollowers integer optional; maximumFollowers integer optional; verifiedOnly boolean (default false); requirePublicContact boolean (default false; keep only profiles with an email, website or social link); emailDomains array of strings optional (exact domains such as gmail.com; profiles with no matching email are skipped); maxItems integer optional (empty = all). Output: one row per profile with username, profileUrl, emails[{address, sourceUrl, sourceType ("tiktok_bio" or "linked_page"), domainHealth ("healthy", "unhealthy" or "unknown")}], socialLinks[{platform, url}], displayName, bio, avatarUrl, userId, followerCount, followingCount, likeCount, videoCount, isVerified, isPrivate, isSeller, websiteUrl, and for keyword runs matchedKeyword and matchContext. An empty emails array means no public email was found. API docs: https://docs.apify.com/api/client/python/ and https://docs.apify.com/api/client/js/. Token: https://console.apify.com/account/integrations.
```

### What is TikTok Influencer Email Finder?

**TikTok Influencer Email Finder** is a **TikTok email scraper** for influencer marketing and creator outreach. Give it TikTok usernames, @handles or profile links, or a **niche keyword** such as `skincare` or `dog trainer`, and it returns one row per TikTok profile with every **public email address** it can find, where each email was found, and a basic **domain health check**.

Each row also includes the creator's **bio, website, social links (Instagram, YouTube, X, Facebook and more), exact follower count, likes, video count, and verified, private and seller flags**. You don't need a TikTok account or the TikTok API.

The easiest way to try it is to open the actor, keep the prefilled profiles, and click **Start**.

### What can TikTok Influencer Email Finder do?

- 📧 **Find public emails in TikTok bios**, including addresses written as `name [at] brand [dot] com`.
- 🔗 **Check linked pages for more contacts**: the creator's website or link-in-bio page (Linktree, Beacons, Stan Store and similar), plus up to two follow-up pages such as a contact page.
- ✅ **Check each email's domain**: MX records (or the domain's address record) show whether the domain can receive mail at all.
- 🔍 **Two input modes**: scan a list of profiles, or **discover creators from a keyword** using TikTok search suggestions and TikTok LIVE search for the keyword and its related search terms.
- 🎯 **Filter for outreach**: minimum and maximum followers, verified only, public contact only, and exact email domains (for example only `gmail.com` or your partner brand's domain).
- 🌐 **Collect social links** to Instagram, YouTube, X (Twitter), Facebook, LinkedIn, Snapchat, Twitch, Threads, Discord and more.
- ⏱️ **Schedule runs** with [Apify schedules](https://docs.apify.com/platform/schedules) to refresh your influencer list every week.
- 🔌 **Connect** results to the [Apify API](https://docs.apify.com/api/v2), webhooks, and [integrations](https://apify.com/integrations) such as Make, Zapier, Google Sheets, HubSpot and Slack.
- 📁 **Export** your TikTok email list as JSON, CSV, Excel, HTML or XML.

### What data can you extract from TikTok profiles?

| Field | Description |
|-------|-------------|
| `username` | TikTok username |
| `profileUrl` | Public TikTok profile URL |
| `emails[].address` | Public email address |
| `emails[].sourceUrl` | Page where the email was shown |
| `emails[].sourceType` | `tiktok_bio` or `linked_page` |
| `emails[].domainHealth` | `healthy`, `unhealthy` or `unknown` (domain check only, not a mailbox check) |
| `socialLinks[]` | `platform` and `url` of other public social profiles |
| `websiteUrl` | Website linked from the TikTok profile |
| `displayName`, `bio`, `avatarUrl`, `userId` | Profile details |
| `followerCount`, `followingCount`, `likeCount`, `videoCount` | Exact public counts |
| `isVerified`, `isPrivate`, `isSeller` | TikTok verified badge, private account, TikTok Shop seller |
| `matchedKeyword`, `matchContext` | Keyword runs only: the keyword, and the TikTok search suggestion or LIVE room that surfaced the creator |

### How to find TikTok influencer emails

1. Open [TikTok Influencer Email Finder](https://apify.com/parsebird/tiktok-influencer-email-finder) and click **Try for free**.
2. In **Find emails from**, choose **Profiles** and paste TikTok usernames or profile URLs, one per line. Or choose **Keyword** and enter a niche, such as `fitness coach`.
3. Turn on **Check linked pages for more contacts** to also search the creator's website and link-in-bio page.
4. Optionally set **Minimum followers**, **Maximum followers**, **Verified profiles only**, **Profiles with public contact only** or **Email domains**.
5. Set **Max profiles** to control the cost of a keyword run, then click **Start**.
6. Download the results from the **Output** tab as CSV, Excel or JSON, or read them through the API.

### Input parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `target` | string | **Yes** | `profiles` | `profiles` scans `profileTargets`; `keyword` finds creators for `keyword`. The other field is ignored. |
| `profileTargets` | array of strings | With `profiles` | — | TikTok usernames, @handles or profile URLs (up to 5,000) |
| `keyword` | string | With `keyword` | — | One niche keyword used to find creator profiles |
| `includeLinkedPages` | boolean | No | `false` | Also check the profile's website or link-in-bio page and up to two follow-up pages. Private or login-gated pages are skipped. |
| `minimumFollowers` | integer | No | — | Only profiles with at least this many followers |
| `maximumFollowers` | integer | No | — | Only profiles with no more than this many followers |
| `verifiedOnly` | boolean | No | `false` | Only profiles with TikTok's verified badge |
| `requirePublicContact` | boolean | No | `false` | Only profiles with at least one email, website or social link |
| `emailDomains` | array of strings | No | — | Keep only emails on these exact domains; profiles without a matching email are skipped |
| `maxItems` | integer | No | — | Stop after saving this many profiles. Empty = all found. |
| `proxyConfiguration` | object | No | Apify Proxy, US | Network settings |

Example input:

```json
{
    "target": "profiles",
    "profileTargets": ["jamescharles", "@tiktok", "https://www.tiktok.com/@painted"],
    "includeLinkedPages": true,
    "verifiedOnly": false,
    "requirePublicContact": false
}
```

### Output example

Real rows from a run with **Check linked pages** turned on. You can download the dataset in JSON, CSV, Excel, HTML or XML.

```json
[
    {
        "username": "jamescharles",
        "profileUrl": "https://www.tiktok.com/@jamescharles",
        "emails": [
            {
                "address": "management@painted.co",
                "sourceUrl": "https://www.tiktok.com/@jamescharles",
                "sourceType": "tiktok_bio",
                "domainHealth": "healthy"
            }
        ],
        "socialLinks": [],
        "displayName": "James Charles",
        "bio": "✉️ management@painted.co\n🎨 @Painted @PaintedUK\n🎶 @James Charles Music \n\nPRE-SAVE MY NEW SINGLE 5150! 🚨⤵️",
        "avatarUrl": "https://p19-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/56ac3316193300d4e8295c752415cced~tplv-tiktokx-cropcenter:1080:1080.jpeg?...",
        "userId": "190068318278651904",
        "followerCount": 39156311,
        "followingCount": 372,
        "likeCount": 1602019662,
        "videoCount": 1258,
        "isVerified": true,
        "isPrivate": false,
        "isSeller": false,
        "websiteUrl": "http://jamescharles.lnk.to/5150"
    },
    {
        "username": "painted",
        "profileUrl": "https://www.tiktok.com/@painted",
        "emails": [
            {
                "address": "creators@painted.co",
                "sourceUrl": "https://painted.co/pages/contact",
                "sourceType": "linked_page",
                "domainHealth": "healthy"
            },
            {
                "address": "media@painted.co",
                "sourceUrl": "https://painted.co/pages/contact",
                "sourceType": "linked_page",
                "domainHealth": "healthy"
            }
        ],
        "socialLinks": [
            { "platform": "instagram", "url": "https://www.instagram.com/painted.co" },
            { "platform": "youtube", "url": "https://www.youtube.com/jamescharles" }
        ],
        "displayName": "Painted",
        "bio": "PAINTED BY JAMES CHARLES 🎨\n\nBlend, but don't blend in! 🌈\nA mascara sisters swear by 🤞🏽 \nShop NOW on Painted.co 👀",
        "userId": "7153097567916688430",
        "followerCount": 1471325,
        "followingCount": 82,
        "likeCount": 111428789,
        "videoCount": 824,
        "isVerified": true,
        "isPrivate": false,
        "isSeller": true,
        "websiteUrl": "https://painted.co/"
    }
]
```

Keyword runs add `matchedKeyword` and `matchContext`, for example `"matchContext": "TikTok search suggestion for \"dogtraineru\""` or `"LIVE search result for \"dog trainer\": <room title>"`.

### Python API example

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")

run = client.actor("parsebird/tiktok-influencer-email-finder").call(run_input={
    "target": "keyword",
    "keyword": "fitness coach",
    "includeLinkedPages": True,
    "minimumFollowers": 1000,
    "requirePublicContact": True,
    "maxItems": 100,
})

for profile in client.dataset(run["defaultDatasetId"]).iterate_items():
    for email in profile["emails"]:
        print(profile["username"], profile.get("followerCount"), email["address"], email["domainHealth"])
```

### JavaScript API example

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });

const run = await client.actor('parsebird/tiktok-influencer-email-finder').call({
    target: 'profiles',
    profileTargets: ['jamescharles', '@painted', 'https://www.tiktok.com/@tiktok'],
    includeLinkedPages: true,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
const withEmail = items.filter((p) => p.emails.length > 0);
console.log(`${withEmail.length} of ${items.length} profiles have a public email`);
```

### Use cases

- **Influencer marketing**: build a list of TikTok creators in your niche with a business email and follower range that fits your budget.
- **Creator outreach and UGC sourcing**: find micro-influencers (for example 1,000 to 50,000 followers) who list a contact email.
- **Agency prospecting**: collect the management or booking emails that talent agencies publish on creator profiles.
- **CRM enrichment**: add emails, websites and social links to TikTok usernames you already have.
- **Brand monitoring**: check which creators list your company's domain with the email domain filter.

### How it works

1. **Profiles mode** reads each public TikTok profile page. **Keyword mode** first finds candidate creators from TikTok's search suggestions (including username-style variants of the keyword) and from TikTok LIVE search for the keyword and its related search terms, then reads each candidate's profile.
2. Filters that can be checked early (followers from LIVE results, verified status from suggestions) skip non-matching creators before their profile is read.
3. Emails and social links are taken from the bio. With **Check linked pages** on, the profile's website or link-in-bio page is opened, plus up to two more pages: a contact or about page on the same site, or the creator's own sites listed on a link-in-bio page. Social networks, private pages and login pages are not opened.
4. Each email domain is checked with a DNS lookup, and each matching profile is saved as one row.

### How much does it cost to find TikTok influencer emails?

**What is the price per TikTok profile?**

The actor uses pay-per-event pricing: you pay for each profile saved to the dataset. Compute and proxy costs are included in the event price.

| Event | Free plan | Bronze | Silver | Gold |
|-------|-----------|--------|--------|------|
| `profile-scraped` | $0.00129 (**$1.29 / 1,000**) | $0.00119 (**$1.19 / 1,000**) | $0.00099 (**$0.99 / 1,000**) | $0.00079 (**$0.79 / 1,000**) |

One `profile-scraped` event is one TikTok profile row saved to the dataset, with or without an email. Profiles skipped by your filters, and profiles that can't be read, are not charged. For example, 1,000 profiles cost $1.29 on the Free plan. Apify's free plan includes monthly platform credits you can use to try the actor.

**How do I keep costs predictable?**

Set **Max profiles** for keyword runs, and use **Profiles with public contact only** or **Email domains** so that only useful rows are saved and charged.

### Is it legal to scrape TikTok emails?

TikTok Influencer Email Finder only collects data that creators show publicly on their TikTok profile and on public pages they link to. It doesn't log in, and it doesn't read private accounts' videos or any login-gated page. Emails and other personal data are still protected by laws such as the GDPR and CCPA, and sending marketing email is regulated by laws such as CAN-SPAM. Use the data for legitimate purposes, and follow the rules that apply to your outreach. Read Apify's guide on [whether web scraping is legal](https://blog.apify.com/is-web-scraping-legal/), and consult a lawyer if you're unsure.

### Other TikTok scrapers and related Actors

| Actor | What it does |
|-------|--------------|
| [TikTok Live Search Scraper](https://apify.com/parsebird/tiktok-live-search-scraper) | LIVE rooms for a keyword with viewers, stream links and creators |
| [TikTok Trends Scraper](https://apify.com/parsebird/tiktok-trends-scraper) | Trending hashtags, videos, sounds and creators |
| [TikTok Story Viewer](https://apify.com/parsebird/tiktok-story-viewer) | View and download active public TikTok stories |
| [TikTok Video Downloader](https://apify.com/parsebird/tiktok-video-downloader) | Download TikTok videos as MP4 |
| [TikTok Slideshow Downloader](https://apify.com/parsebird/tiktok-slideshow-downloader) | Download photo-mode posts as image files |
| [TikTok Shop Reviews Scraper](https://apify.com/parsebird/tiktok-shop-reviews-scraper) | TikTok Shop product reviews and ratings |
| [TikTok Ads Scraper](https://apify.com/parsebird/tiktok-ads-scraper) | TikTok Creative Center top ads |
| [TikTok Top Ads Scraper](https://apify.com/parsebird/tiktok-top-ads-scraper) | Top ads by likes tier and language |
| [Instagram Profile Scraper - Email, Phone, Socials](https://apify.com/parsebird/instagram-profile-scraper) | Contacts and stats from Instagram profiles |
| [Website Email, Phone Numbers & Social Media Profiles Finder](https://apify.com/parsebird/website-contact-finder) | Contacts from any list of websites |

### FAQ

**Does this TikTok email finder need a TikTok account or login?**
No. It reads public TikTok profile pages only, so it needs no account, cookies or TikTok API key.

**Why do some profiles have an empty `emails` array?**
Many creators don't publish an email in their bio. Turn on **Check linked pages** to also search the creator's website or link-in-bio page, and use **Profiles with public contact only** to drop profiles with nothing to contact.

**What does `domainHealth` mean?**
`healthy` means the email's domain publishes mail servers (MX records), or an address record that serves as its mail host. `unhealthy` means the domain doesn't exist or says it accepts no mail. `unknown` means the DNS lookup failed. It doesn't check that the mailbox itself exists.

**How many creators does a keyword find?**
It depends on the niche. In our tests, `skincare` produced about 245 candidate profiles; narrower niches produce fewer. Keyword mode uses TikTok search suggestions and LIVE search, so it favours creators whose username contains the keyword and creators who go LIVE. It isn't a full copy of TikTok's in-app user search. Keywords in non-Latin scripts use LIVE search only.

**Can I search large verified creators only?**
Yes. Turn on **Verified profiles only** and set **Minimum followers**. Expect fewer matches in keyword mode, because most creators surfaced by suggestions and LIVE search are small and medium accounts. If you already know the accounts, use **Profiles** mode.

**Which social links are collected?**
Instagram, YouTube, X (Twitter), Facebook, LinkedIn, TikTok, Snapchat, Twitch, Pinterest, Threads, Discord, Spotify, SoundCloud, Telegram, WhatsApp, Patreon, Kick, Bluesky, Reddit and GitHub profile links from the bio and the linked pages. Links to single posts, share buttons and policy pages are left out.

**Can I schedule recurring runs or use it through the API?**
Yes. Use [Apify schedules](https://docs.apify.com/platform/schedules) for weekly refreshes, the [API tab](https://apify.com/parsebird/tiktok-influencer-email-finder/api) for code access, and [integrations](https://apify.com/integrations) to send rows to Google Sheets, HubSpot, Make or Zapier.

**Something is missing or wrong. Where do I report it?**
Open an issue on the [Issues tab](https://apify.com/parsebird/tiktok-influencer-email-finder/issues) with the input you used, and we'll look into it.

# Changelog

This Actor's version history is a separate document: https://apify.com/parsebird/tiktok-influencer-email-finder/changelog.md

# Actor input Schema

## `target` (type: `string`):

Choose <b>Profiles</b> to scan the TikTok profiles you list, or <b>Keyword</b> to find creator profiles for a keyword. The field for the other choice is ignored.

## `profileTargets` (type: `array`):

Add TikTok usernames (jamescharles), @handles (@tiktok), or profile URLs (https://www.tiktok.com/@tiktok), one per line. Used when 'Find emails from' is Profiles.

## `keyword` (type: `string`):

Enter one niche keyword, such as fitness coach, skincare, or dog trainer. Creators are found from TikTok search suggestions and LIVE search for the keyword and its related search terms. Used when 'Find emails from' is Keyword.

## `includeLinkedPages` (type: `boolean`):

Open the website or link-in-bio page linked from each profile, plus up to two follow-up pages such as a contact page, and collect public emails and social links from them. Private or login-gated pages are skipped. Makes each profile slower.

## `minimumFollowers` (type: `integer`):

Only return profiles with at least this many followers. Leave empty to allow any follower count.

## `maximumFollowers` (type: `integer`):

Only return profiles with no more than this many followers. Leave empty to allow any follower count.

## `verifiedOnly` (type: `boolean`):

Return only profiles that TikTok marks as verified.

## `requirePublicContact` (type: `boolean`):

Return only profiles that show at least one public contact channel: an email, a website, or a social link.

## `emailDomains` (type: `array`):

Keep only emails on these exact domains, such as gmail.com or brand.com. Profiles without a matching email are skipped. Leave empty to allow every domain.

## `maxItems` (type: `integer`):

Stop after saving this many profiles. Leave empty to save every profile found.

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

The default (Apify Proxy, US) works for most runs. Change it only if you know you need different proxies.

## Actor input object example

```json
{
  "target": "profiles",
  "profileTargets": [
    "jamescharles",
    "@tiktok",
    "https://www.tiktok.com/@painted"
  ],
  "includeLinkedPages": false,
  "verifiedOnly": false,
  "requirePublicContact": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyCountry": "US"
  }
}
```

# 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 = {
    "target": "profiles",
    "profileTargets": [
        "jamescharles",
        "@tiktok",
        "https://www.tiktok.com/@painted"
    ],
    "includeLinkedPages": false,
    "verifiedOnly": false,
    "requirePublicContact": false,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyCountry": "US"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("parsebird/tiktok-influencer-email-finder").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 = {
    "target": "profiles",
    "profileTargets": [
        "jamescharles",
        "@tiktok",
        "https://www.tiktok.com/@painted",
    ],
    "includeLinkedPages": False,
    "verifiedOnly": False,
    "requirePublicContact": False,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyCountry": "US",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("parsebird/tiktok-influencer-email-finder").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 '{
  "target": "profiles",
  "profileTargets": [
    "jamescharles",
    "@tiktok",
    "https://www.tiktok.com/@painted"
  ],
  "includeLinkedPages": false,
  "verifiedOnly": false,
  "requirePublicContact": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyCountry": "US"
  }
}' |
apify call parsebird/tiktok-influencer-email-finder --silent --output-dataset

```

## MCP server setup

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

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/aZIKf2Bv6HKsmMSxH/builds/kOEBE5iPRw0yIig3j/openapi.json
