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

Tiktok email scraper returns, for every email found on TikTok: email address, provider type, business-or-free flag, mailbox name, role-account flag, deliverability check, disposable flag, company name, domain, country, language, page title, source URL and date found

- **URL**: https://apify.com/premiumscraper/tiktok-email-scraper.md
- **Developed by:** [Premium Scraper](https://apify.com/premiumscraper) (community)
- **Categories:** Lead generation, Social media, Developer tools
- **Stats:** 2 total users, 1 monthly users, 88.9% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 email address delivereds

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/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

### 🎯 What the Tiktok Email Scraper does

The **tiktok email scraper** finds published emails on TikTok and gives you a clean, exportable list. Point the tiktok email scraper at a keyword and a location, press start, and every matching account comes back as a row you can use straight away.

This tiktok email scraper is built for one job only. It searches TikTok and nothing else, so every setting, every filter and every column exists to make TikTok results better rather than to cover twenty other sites badly.

| | |
|---|---|
| 🔎 **Finds** | Public emails on TikTok |
| 🎛️ **Filters** | 10 settings, every one tested against live results |
| 💾 **Exports** | CSV · Excel · JSON · XML · API |
| 💳 **You pay for** | Each email delivered, plus the two optional 💲 checks when you switch them on |
| 🔐 **Login needed** | None |

Looking for a **tiktok email finder**? That is this actor. It is the same job under a different name, and every row it returns names the page it came from.

### ⚡ Why choose this Tiktok Email Scraper

A good **tiktok email scraper** is judged on one thing: how many usable emails it puts in front of you. This tiktok email scraper is tuned for that, and it is honest about what it cannot do.

- 🎯 **Built only for TikTok** — the tiktok email scraper knows this site's page shapes, so it looks in the right places instead of guessing.
- 🧪 **Every filter is proven** — each setting in this tiktok email scraper was measured against live results and kept only because it actually changes what you get. Controls that could not do anything were removed rather than shipped.
- 💳 **You pay per result** — the tiktok email scraper charges for emails it delivers. No charge for searches, filters or settings. The two checks marked 💲 on the form cost a little extra, and only on the rows they actually ran on.
- 🌍 **Aim it at a country, or don't** — the tiktok email finder takes an optional target country. It is not a filter and cannot be: an email address carries no country. Add a town, city or postcode for a real chance of that market.
- 🔁 **Duplicate-free** — the tiktok email scraper removes repeats inside a run and across scheduled runs.
- 📤 **Export anywhere** — CSV, Excel, JSON, XML or the API.
- 🧾 **Every row is checkable** — a tiktok email finder is only as good as its sources, so each result carries the exact page it came from.

If you have been looking for a **tiktok email finder** or a **tiktok account email scraper**, this is the same job done properly and priced per result.

### 👥 Who uses this Tiktok Email Scraper

The **tiktok email scraper** is used by teams who need real contacts rather than a raw page dump. If any of these is you, the tiktok account email scraper will fit.

- **Sales teams** — need a tiktok contact scraper that returns emails they can act on today, with the source page attached to every row
- **Agencies** — run the scrape tiktok emails across several client niches and export emails per campaign
- **Recruiters** — use the tiktok email finder to reach emailss directly instead of waiting on a platform inbox
- **Founders** — run a tiktok account email scraper early, before there is budget for a data vendor, and pay only for the emails that come back
- **Researchers** — use the tiktok contact scraper to measure how many emailss in a market publish a public contact at all

Whether you call it **scrape tiktok emails**, a **tiktok email finder** or simply a tiktok account email scraper, the output is the same: a verified, exportable list.

### 📥 Tiktok Email Scraper input settings — every field explained

Every setting the **tiktok email scraper** offers is listed below, grouped exactly as it appears on the input form. Leave anything blank and the tiktok email scraper uses a sensible default — you can run it with just a keyword.

#### Main settings

| Setting | Control | Default | What it does |
|---|---|---|---|
| **Keywords (what business are you looking for?)** | text list | — | What you are looking for — a trade, niche or job title. One per line. |
| **🌍 Target country (optional)** | dropdown | `United States (+1)` | The country to search. Results are matched to it and every row records it. |
| **Location (one only)** | text box | empty | Towns, cities or areas to focus on. One per line. |
| **Which kinds of email to keep** | dropdown | `both` | Which kinds to keep. Leave 'All types' selected to keep every one, or narrow it to just the kinds you want. |
| **Only these email providers (optional)** | text list | everything | Only these email providers (optional) — one entry per line. Results that do not match are dropped. |
| **How many emails per keyword?** | number box | `20` | How many emails to collect before the run stops. |

#### 🔎 Filters — where to search, and when it was published

| Setting | Control | Default | What it does |
|---|---|---|---|
| **Only pages published in** | dropdown | `any` | Only keep pages published within the period you choose. |

#### ⭐ Quality — stop wrong contacts getting in

| Setting | Control | Default | What it does |
|---|---|---|---|
| **💲 Check the domain can receive email (MX lookup)** | toggle | Off | Checks each address before it is delivered, so dead domains are dropped. |
| **Open the result pages to find more addresses** | toggle | Off | Turn this on to open each result page and look for contacts the search result did not show. Slower, and it finds more. |

#### 📦 Delivery and duplicate removal

| Setting | Control | Default | What it does |
|---|---|---|---|
| **💲 Only give me contacts I have not had before** | toggle | Off | Turn this on to skip anything this actor has already given you before. |

### 📤 Tiktok Email Scraper output — every field you get

Each row the **tiktok email scraper** returns is one email with everything known about it. The tiktok email scraper never returns a bare list — every result carries its source so you can verify it.

| Field | Type | What it contains |
|---|---|---|
| `confidence` | number | How confident the actor is in this row, from 0 to 1. |
| `confidenceBand` | text | The same confidence as high, medium or low. |
| `sourceUrl` | text | **The exact page it was found on**, so any row can be checked in one click. |
| `sourceDomain` | text | The domain the result was found on. |
| `title` | text | The page title as it appeared in the result. |
| `snippet` | text | A short piece of the page text around the contact. |
| `description` | text | The description text shown with the result. |
| `keyword` | text | The keyword this row came from - useful when you run several. |
| `location` | text | Location, when the page states one. |
| `country` | text | Empty on this actor. Email addresses are not tied to a country, so there is no country box and the search covers every country at once - use `location` to see where a result came from. |
| `detectedPlace` | text | Extra detail about this result, when the page provides it. |
| `detectedCountry` | text | Extra detail about this result, when the page provides it. |
| `locationMatch` | text | Extra detail about this result, when the page provides it. |
| `locationMatchReason` | text | Extra detail about this result, when the page provides it. |
| `scrapedAt` | date | When this row was collected, so runs can be compared over time. |
| `personName` | text | The person's name, when the page states one. |
| `firstName` | text | First name, when the page states one. |
| `lastName` | text | Surname, when the page states one. |
| `jobTitle` | text | Job title, when the page states one. |
| `seniority` | text | How senior the role is, when a job title was found. |
| `isDecisionMaker` | on / off | True when the job title suggests buying authority. |
| `companyName` | text | The company name, when the page states one. |
| `city` | text | City, when the page states one. |
| `businessCategory` | text | What the business does, when the page states it. |
| `platform` | text | Which site the row came from. |
| `platformUsername` | text | The account name on that site, when the page shows one. |
| `isAggregator` | on / off | Extra detail about this result, when the page provides it. |
| `mxPresent` | on / off | Whether the domain is set up to receive mail. Filled only when you switch verification on. |
| `mxProvider` | on / off | The mail provider behind the domain, when it can be identified. |
| `deliverabilityHint` | text | A plain-English read on how likely the address is to work. |
| `catchAll` | on / off | True when the domain appears to accept mail at any address. |
| `companySizeHint` | text | A rough size band, when the page hints at one. |

Download the tiktok email scraper results as CSV, Excel, JSON or XML, or read them through the Apify API.

Every column above is a column the tiktok contact scraper really writes, under the name it really writes it under. Where a value cannot honestly be established for a particular row the cell is left empty and the table says why — an empty cell is never a value that was quietly guessed. That is what separates scrape tiktok emails results you can trust from output that just fills rows.

Every row also carries the original column names — `platform`, `keyword`, `title`, `description`, `url` — with the meanings they have always had, so an existing spreadsheet, Make scenario or Google Sheet keeps working unchanged.

### 💡 What people use this Tiktok Email Scraper for

Every use below is something the **tiktok email scraper** is already doing for somebody. A good tiktok email finder earns its place by removing a manual job, not by adding a dashboard.

- **Cold outreach** — the tiktok email scraper builds a clean list of emails you can email directly, with the account's own page attached to every row.
- **Lead generation** — use the tiktok email scraper to find TikTok accounts that match a niche, a location and a keyword, then export straight to your CRM.
- **Partnership and affiliate research** — the tiktok email scraper surfaces accounts who already publish a contact route, which is the single best signal that they take enquiries.
- **Market research** — run the tiktok email scraper across several keywords and compare how many accounts in each niche publish a public contact.
- **List refresh** — a scheduled run of the tiktok email scraper returns only what is new since last time, so an existing list stays current without duplicates.

Each of these works the same way: set a keyword, let the tiktok account email scraper run, export the emails.

### 🚀 How to run the Tiktok Email Scraper

Running the **tiktok email scraper** takes three steps:

1. **Type your keyword** — the trade, niche or job title you are looking for.
2. **Type a location, or leave it empty** — empty searches the whole world.
   ⚠️ **One place OR one postcode — never both.** The box is searched exactly as you type it, as a single phrase. `Dhaka 1207` is not searched as `Dhaka` and as `1207`; it is searched as the words `Dhaka 1207`, and almost no page prints a town beside its postcode. To cover both, run it twice.
3. **Set how many results you want** — then press **Start**.

No login, no cookies, no setup. A tiktok contact scraper should not need an account to read pages that are already public.

That is all the tiktok email scraper needs. Every other setting is optional and exists for when you want to narrow the list further.

Most people run the scrape tiktok emails once with defaults, look at the rows, then add a filter or two. Starting narrow is the usual mistake — a tiktok email finder works best when it is allowed to find everything first.

### 🧭 Getting more out of the Tiktok Email Scraper

Five things that reliably increase what the **tiktok email scraper** returns:

1. **Use one keyword per run at first.** The tiktok account email scraper goes deeper on a single term than it can across five.
2. **Spell the location the way local pages spell it.** It is searched exactly as you type it, so "Chattogram" and "Chittagong" return different pages — use whichever your target market writes.
3. **Leave the filters empty to begin with.** Every filter in this tiktok contact scraper removes rows; none of them add any.
4. **Raise the target rather than the depth.** Ask the scrape tiktok emails for more results and it widens the search itself.
5. **Schedule it weekly.** The tiktok email finder returns only what is new, so a list stays fresh at a fraction of the first run's cost.

### ⏱️ Tiktok Email Scraper speed — what slows a run down, and what to avoid

A **tiktok email scraper** run with sensible settings finishes in minutes. Two things change that, and both are worth knowing before your first run.

**Do not stack narrowing filters.** This is the single most common mistake. Every filter you fill in competes for the same small budget of conditions per search, and past a handful the searches stop matching real pages — so a run set up to be precise comes back nearly empty instead. Pick the one or two filters that matter and leave the rest blank. The tiktok account email scraper is designed to be narrowed *after* you have seen what a wide run returns.

**Settings that make tiktok contact scraper runs take longer:**

| Setting | Effect on run time |
| --- | --- |
| Open each result's own pages | The largest single cost. Minutes become tens of minutes. Use it only when you need contacts that are not visible in the listing. |
| More areas to cover | Each extra area is another round of searching. The usual reason a run takes longer than expected. |
| Deeper result pages | Later pages hold steadily worse results, so depth costs time faster than it adds contacts. |
| Splitting searches by date | Every search becomes several. Use it to reach old results, not as a routine setting. |
| More expansion terms | More terms means more searching. The defaults stop where extra terms stop finding anything new. |

**Settings that make it faster:** raise how many requests run at once, lower the result target, and leave the page-opening options off. The scrape tiktok emails already stops early when a line of searching has clearly run dry, so you rarely need to cap it by hand.

**Leave these alone:** the network settings. They are not interchangeable, and changing them is the one edit that will return nothing at all rather than less.

### ❓ Tiktok Email Scraper frequently asked questions

Common questions about the **tiktok email finder**, answered plainly.

**Do I need an account or login for TikTok?**

No. The tiktok email scraper only reads pages that are already public. Nothing private is touched, and you never give this actor a password.

**What am I charged for?**

You pay for each email the tiktok email scraper actually delivers. A run that finds nothing costs nothing. Searching, filtering and every setting on the form are free — the charge is per result, so your cost always matches what you receive. Two optional checks add a small amount on top, and both are marked with 💲 on the form so you can see them before you switch them on: “Check the domain can receive email (MX lookup)” and “Only give me contacts I have not had before”. They are charged only on a row where the check actually ran, never for turning the setting on.

**How many results can the tiktok email scraper return?**

Set the target yourself. The tiktok email scraper keeps going until it reaches your target or runs out of matching pages, and it tells you which of the two happened at the end of the run.

**Can I run the tiktok email scraper on a schedule?**

Yes. Scheduled runs of the tiktok email scraper return only what is new since the previous run, so a list stays current without collecting the same rows twice.

**Which countries does the tiktok email scraper support?**

Any of them. There is an optional target-country setting, and it is honest about what it does: an email address carries no country, so nothing can verify one. Choosing a country improves the CHANCE the addresses come from there; typing a town, city or postcode in the Location box makes that chance much better, because pages then have to mention it. Every row reports the place and country the page itself named, so you can see what you got.

**Can I export the results?**

Yes — every run can be downloaded as CSV, Excel, JSON or XML, or pulled through the Apify API into your own system.

**Does the tiktok email scraper verify the addresses?**

The tiktok email scraper can check that a domain is set up to receive mail, which removes the clearly dead ones. It does not send test messages to anybody, so no inbox is disturbed by your research.

**Is this the same as tiktok account email scraper?**

Yes. The terms tiktok contact scraper, scrape tiktok emails and tiktok email finder all describe this job. This one is built for TikTok specifically, which is why its results are cleaner than a general tool's.

### ⚠️ What this Tiktok Email Scraper will not do

Being straight about the limits of this **tiktok email scraper** is more useful than overselling it:

- The tiktok email scraper only returns contacts that are **already published in public**. It cannot reveal anything a account has chosen to keep private.
- Results depend on what is actually published. A niche where few accounts publish a contact will return fewer rows, and the tiktok email scraper will tell you that rather than pad the list.
- The tiktok email scraper checks that a domain can receive mail. It does not test individual mailboxes, so it cannot promise every address is monitored.
- Use the results lawfully. You are responsible for complying with GDPR, CAN-SPAM, PECR and any local rules that apply to your outreach.

A tiktok account email scraper that promises more than this is promising something it cannot deliver. This tiktok contact scraper tells you what it found, where it found it, and what it could not find.

### 🔗 Scrapers related to this Tiktok Email Scraper

If this **tiktok email scraper** is useful, these cover neighbouring jobs. Each one is built for its own site rather than trying to cover everything badly.

- [Facebook Email Scraper](https://apify.com/premiumscraper/facebook-email-scraper) — public emails from Facebook pages
- [Instagram Email Scraper](https://apify.com/premiumscraper/instagram-email-scraper) — public emails from Instagram accounts
- [Linktree Email Scraper](https://apify.com/premiumscraper/linktree-email-scraper) — public emails from Linktree creators
- [Pinterest Email Scraper](https://apify.com/premiumscraper/pinterest-email-scraper) — public emails from Pinterest accounts
- [Telegram Email Scraper](https://apify.com/premiumscraper/telegram-email-scraper) — public emails from Telegram channels
- [Threads Email Scraper](https://apify.com/premiumscraper/threads-email-scraper) — public emails from Threads accounts

Browse everything at [apify.com/premiumscraper](https://apify.com/premiumscraper).

Each one is priced the same way as this scrape tiktok emails: per result delivered, nothing else.

### 📬 Tiktok Email Scraper support

Questions about the **tiktok email scraper**, a bug, or a filter you would like added? Email **premiumscraper@gmail.com** and you will get a reply.

If the tiktok email scraper did not return what you expected, send the run ID — that is usually enough to see what happened.

Feature requests are welcome. Several filters in this tiktok email finder exist because somebody asked for them.

You can reach the team behind this tiktok account email scraper at **premiumscraper@gmail.com** for anything at all — a question before you buy, a problem during a run, or a site you would like covered next.

# Actor input Schema

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

Type the creator's niche - beauty creator, fitness influencer, food blogger. Handles and brand names work too. One line per keyword. Related keywords are searched automatically, so keep each line short. Examples: beauty creator, fitness influencer, food blogger, gaming streamer. TIP: give SEVERAL keywords, one per line - each one finds a different set of companies, so three keywords return far more contacts than one.

## `searchCountry` (type: `string`):

Aims the run at one country. It is OPTIONAL and it is not precise. ⚠️ THIS IS NOT A COUNTRY FILTER. An email address carries no country - nothing in "info@acme.com" says where the business is - so no setting can verify one. Choosing a country improves the CHANCE that the addresses come from there. It does not promise it, and on its own the chance is low. ✅ FOR A REAL CHANCE, fill in the Location box below with a town, city or postcode in that country. That goes into the search itself, so pages have to mention it - far stronger than this dropdown alone, though still not a guarantee. Every row tells you what was actually found: the place and country the page itself named, and whether they matched what you asked for. Leave it on United States to search the widest, most general index.

## `locations` (type: `string`):

One town, city, area or postcode. Leave empty to search everywhere. SPELLING MATTERS: the location is searched exactly as written, so a misspelt place returns nothing at all rather than fewer results - there is no place list behind this box, so nothing will correct it for you. Use the spelling local businesses use on their own pages. ⚠️ ONE PLACE OR ONE POSTCODE — NEVER BOTH. This box is searched exactly as you type it, as a single phrase. "Dhaka 1207" is not searched as "Dhaka" and as "1207"; it is searched as the words "Dhaka 1207", and almost no page prints a town beside its postcode, so you will get very little. To cover both, run the actor twice — the town on one run, the postcode on the other. ⚠️ CHECK THE SPELLING, and check the postcode. It goes into the search exactly as written, so a misspelt place does not return fewer results — it returns none. Use the spelling local businesses use on their own pages. ✅ THIS IS THE STRONGEST WAY TO TARGET A COUNTRY. What you type here is combined with the contact words in the search, so pages must mention it. That gives a HIGH chance the addresses belong to that area — but still not a guarantee, because an email address itself carries no location and a page can name a town it is not in.

## `emailProviders` (type: `string`):

B2B searches for company mailboxes such as info@, sales@ and office@. B2C searches for free-provider addresses such as Gmail, Yahoo and Outlook. Both searches for everything and keeps whatever it finds. IGNORED if you fill in 'Only these email providers' below - naming a provider is the more specific instruction and the two cannot both apply.

## `emailProviderDomains` (type: `array`):

Leave empty unless you want ONE provider. Type @gmail, @yahoo, @outlook - one per line. The whole family is searched, so @yahoo also finds yahoo.co.uk, yahoo.fr and the rest. IMPORTANT: filling this IGNORES the 'Which kinds of email to keep' setting above, and role mailboxes (info@, sales@) are not searched, because those find company domains - the opposite of what you asked for.

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

How many to collect FOR EACH KEYWORD you typed - not for the whole run. Two keywords at 20 gives you up to 40. Start small to see what a site returns, then raise it. TO GET MORE, ADD MORE KEYWORDS - vary them (plumber, emergency plumber, boiler repair). Each one reaches a different set of companies, so three keywords at 50 beats one keyword at 150.

## `dateRange` (type: `string`):

How recent the page must be. Choose "Custom range" to use the two date boxes below.

## `checkMxRecord` (type: `boolean`):

COSTS EXTRA — only on a row it actually verified. Checks each address's domain can actually receive mail before the row is delivered, and drops the ones that cannot. Off by default because it REDUCES the number of rows you get - that is the point, the ones it removes are dead. Charging: the base price per contact does not change. A small extra is ADDED only on a row where the check actually ran and confirmed the domain. If the lookup cannot complete, nothing extra is charged for that row. The base price per contact does not change; a small extra is ADDED to that row only. Nothing extra is charged when the check cannot run, and turning the switch on costs nothing by itself. Adds a quick per-domain check. It is what stops dead addresses reaching your export, and it costs a little time on a large run - leave it on unless you are in a hurry and will verify elsewhere.

## `visitPages` (type: `boolean`):

A search description is only about 160 characters. Opening the page itself finds mailto: links, hidden addresses and contact pages — usually 3-5x more emails, at a small extra charge per page and a slower run. **Slowest setting in the actor.** Leaving it off keeps a run to minutes; turning it on opens each result's own pages and can multiply the run time several times over. Worth it only when you need contacts that are not visible in the listing itself.

## `onlyNewSinceLastRun` (type: `boolean`):

COSTS EXTRA — only on a row cross-run memory proved you have not been given before. Remembers every contact from your previous runs in this actor's storage and skips them. Perfect for a daily or weekly schedule: you only ever get new leads. The base price per contact does not change; a small extra is ADDED to that row only. Nothing extra is charged when the check cannot run, and turning the switch on costs nothing by itself.

## Actor input object example

```json
{
  "keywords": [
    "beauty creator",
    "fitness influencer"
  ],
  "searchCountry": "United States (+1)",
  "locations": "",
  "emailProviders": "both",
  "emailProviderDomains": [],
  "maxResults": 20,
  "dateRange": "any",
  "checkMxRecord": false,
  "visitPages": false,
  "onlyNewSinceLastRun": false
}
```

# Actor output Schema

## `results` (type: `string`):

Every row this run delivered. Use the Export button on the Output tab for CSV, Excel, JSON or XML.

# 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": [
        "beauty creator",
        "fitness influencer"
    ],
    "emailProviderDomains": [],
    "maxResults": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("premiumscraper/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": [
        "beauty creator",
        "fitness influencer",
    ],
    "emailProviderDomains": [],
    "maxResults": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("premiumscraper/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": [
    "beauty creator",
    "fitness influencer"
  ],
  "emailProviderDomains": [],
  "maxResults": 20
}' |
apify call premiumscraper/tiktok-email-scraper --silent --output-dataset

```

## MCP server setup

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