# TikTok Email & Profile Scraper (Bulk) (`logiover/tiktok-profile-email-scraper`) Actor

Bulk TikTok profile scraper with no login or API key. Export emails, phones and follower stats to CSV/JSON — a cheap TikTok API alternative.

- **URL**: https://apify.com/logiover/tiktok-profile-email-scraper.md
- **Developed by:** [Logiover](https://apify.com/logiover) (community)
- **Categories:** Social media, Lead generation, Business
- **Stats:** 14 total users, 5 monthly users, 97.8% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.50 / 1,000 results

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/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 Email & Profile Scraper — Bulk Contact & Stats Extractor (No Login)

![TikTok Email & Profile Scraper — Bulk Contact Extractor](https://img.shields.io/badge/Apify-Actor-00A67E?logo=apify\&logoColor=white) ![No login](https://img.shields.io/badge/No%20login-required-2ea44f) ![Pay per result](https://img.shields.io/badge/Pricing-Pay%20per%20result-1C7ED6) ![Lead Generation](https://img.shields.io/badge/Category-Lead%20Generation-8B5CF6) ![Export](https://img.shields.io/badge/Export-JSON%20%7C%20CSV%20%7C%20Excel-F59E0B)

Bulk-scrape public **TikTok profiles** and pull the **contact email, phone and social handles** out of every bio. Feed the Actor a list of `@usernames` or profile URLs and get back a clean, structured record for each — **follower / following / likes / video counts, bio, bio link, verified & private flags, language, avatar** and parsed contacts. It runs on **pure HTTP with no headless browser**, which makes it one of the **fastest and cheapest** ways to enrich TikTok creators in bulk. **No login, no cookies, no API key, zero account-ban risk.**

> ### 🏆 Why this TikTok email scraper?
>
> **15+ fields per profile** · **thousands of profiles per run** · **email + phone + social handles** parsed from bios · direct HTTP (no browser) · overflow-safe stats (billions, never negative) · export to JSON / CSV / Excel. The unofficial **TikTok API alternative** for influencer lead generation, creator vetting and CRM enrichment.

***

### ✨ What this Actor does / Key features

- 📧 **Contact extraction** — parses the contact **email** from each bio, plus **phone** when published and linked **social handles** (Instagram, YouTube, Twitter, Facebook, Linktree).
- 📊 **Full profile stats** — `followerCount`, `followingCount`, `heartCount` (total likes) and `videoCount`, read from TikTok's string-based stats so totals over 2 billion stay exact.
- ✅ **Status flags** — `verified` and `privateAccount` booleans, plus display `nickname` and `language`.
- 🔗 **Bio link & avatar** — the external `bioLink` and the profile-picture `avatar` URL.
- 🎯 **Email-only mode** — flip `onlyWithEmail` to keep just the creators who expose a contact email.
- ⚡ **Pure HTTP, no browser** — reads public profile data directly, so each profile costs a fraction of the compute of a headless scraper.
- 🛡️ **Account-safe** — no login, no cookies, no account of yours involved; runs through residential proxies with zero ban risk.
- 🚦 **Tunable throughput** — set `maxConcurrency` for speed and `maxResults` for a hard cap.
- 🧱 **Resilient** — private or deleted accounts are returned with a clear error flag instead of breaking the run.

### 🚀 Quick start (3 steps)

1. **Configure** — paste TikTok `@usernames` or full profile URLs into `profiles`. Optionally turn on `onlyWithEmail`.
2. **Run** — click **Start**. The Actor fetches each public profile in parallel and streams records into your dataset.
3. **Get your data** — open the **Output / Dataset** tab and export to **JSON, CSV, Excel or HTML**, or pull it via the Apify API.

### 📥 Input

Give the Actor at least one entry in `profiles`. Everything else is optional.

#### Example — bulk enrich a list of creators

```json
{
  "profiles": ["mrbeast", "@charlidamelio", "https://www.tiktok.com/@khaby.lame"],
  "onlyWithEmail": false,
  "maxConcurrency": 10,
  "proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}
```

#### Example — email-only lead list (influencer outreach)

```json
{
  "profiles": ["khaby.lame", "bella.poarch", "zachking", "addisonre"],
  "onlyWithEmail": true,
  "maxConcurrency": 8,
  "maxResults": 500
}
```

#### Example — high-throughput enrichment of a big handle list

```json
{
  "profiles": ["user1", "user2", "user3", "user4", "user5"],
  "onlyWithEmail": false,
  "maxConcurrency": 20,
  "maxResults": 0
}
```

| Field | Type | Description |
|-------|------|-------------|
| `profiles` | array | TikTok `@usernames` or full profile URLs, e.g. `mrbeast`, `@khaby.lame`, `https://www.tiktok.com/@charlidamelio`. **Required.** |
| `onlyWithEmail` | boolean | Skip profiles that don't expose a contact email in their bio. Default `false`. |
| `maxConcurrency` | integer | How many profiles to fetch in parallel (1–30). Default `8`. |
| `maxResults` | integer | Stop after saving this many profiles. `0` = no limit. Default `0`. |
| `proxyConfiguration` | object | Apify Proxy settings. TikTok requires **residential** proxies — keep the default. |

> **Handle format:** any of `mrbeast`, `@mrbeast` or `https://www.tiktok.com/@mrbeast` works — the Actor normalises them all to the same profile.

### 📤 Output

One structured record per profile, exportable to JSON, CSV, Excel or HTML. Here is a trimmed sample record:

```json
{
  "username": "khaby.lame",
  "nickname": "Khabane lame",
  "verified": true,
  "privateAccount": false,
  "followerCount": 161803949,
  "followingCount": 80,
  "heartCount": 2620236217,
  "videoCount": 1329,
  "bio": "If you want to laugh you are in the right place 😎 collab: team@khaby.com",
  "bioLink": "https://linktr.ee/khaby.lame",
  "language": "en",
  "email": "team@khaby.com",
  "phone": null,
  "socialHandles": { "instagram": "khaby00" },
  "avatar": "https://p16-sign.tiktokcdn.com/...",
  "profileUrl": "https://www.tiktok.com/@khaby.lame"
}
```

<details>
<summary><b>📋 Full field reference (click to expand)</b></summary>

| Field | Description |
|-------|-------------|
| `username` | TikTok `@username` (handle) |
| `profileUrl` | Direct link to the profile |
| `nickname` | Display name |
| `verified` | Verified-account flag |
| `privateAccount` | Private-account flag |
| `followerCount` | Follower count (overflow-safe) |
| `followingCount` | Following count |
| `heartCount` | Total likes across all videos (overflow-safe) |
| `videoCount` | Number of public videos |
| `bio` | Complete profile bio text |
| `email` | Contact email parsed from the bio |
| `phone` | Contact phone when published |
| `socialHandles` | Linked Instagram / YouTube / Twitter / Facebook / Linktree handles |
| `bioLink` | External link in the profile |
| `language` | Profile language metadata |
| `avatar` | Profile-picture URL |

</details>

### 💡 Use cases

- **Influencer lead generation** — turn a list of handles into a contact-ready database with emails, phones and cross-platform handles.
- **Creator vetting** — verify follower and engagement counts before signing a partnership.
- **CRM hygiene** — refresh follower stats and contact details on a schedule.
- **Agency outreach** — build email-only lists (`onlyWithEmail`) for cold campaigns.
- **Research & analytics** — snapshot competitor or category accounts over time.
- **Audience cross-mapping** — use `socialHandles` to link a creator's TikTok to their Instagram / YouTube presence.

### 👥 Who uses it

Influencer-marketing agencies · brand & growth teams running creator outreach · talent managers vetting deals · lead-gen and sales teams building contact lists · social-media researchers and data analysts.

### 💰 Pricing

This Actor runs on a simple **pay-per-result** model — you pay for the profiles you enrich, with no separate Apify platform fees to calculate. Because it uses plain HTTP instead of a browser, cost per profile is tiny. Try it on the **free tier** first, then scale up. See the **Pricing** tab on this page for the current rate.

### ❓ Frequently Asked Questions

**Is it legal to scrape TikTok profiles?**
The Actor collects only publicly available profile data. You are responsible for using the data in compliance with TikTok's Terms, the GDPR/CCPA and applicable privacy laws.

**Does TikTok have a public API for profile data?**
TikTok's official API is gated and limited, so this Actor reads public profile fields directly instead — giving you structured stats and contacts without any API key.

**Is this a TikTok API alternative?**
Yes. It works as an unofficial TikTok API alternative — you scrape TikTok without an API key, reading public profile fields directly and returning them as structured records.

**Do I need a TikTok login, cookies or API key?**
No. The Actor reads public profile data through residential proxies — no cookies, no account, no API key, and zero ban risk to any account.

**Do I need a proxy?**
Yes — TikTok requires residential proxies. The default Apify Proxy (RESIDENTIAL group) is already set, so it works out of the box.

**Will every profile have an email?**
No — only creators who publish one in their bio. Turn on `onlyWithEmail` for an email-only list, or keep it off and also use the `phone` and `socialHandles` fields for extra contact paths.

**Why is this cheaper than other TikTok scrapers?**
It uses plain HTTP instead of a headless browser, so each profile costs a fraction of the compute. You can enrich thousands of profiles for very little.

**How much data can I get?**
You can enrich thousands of profiles per run. Throughput scales with `maxConcurrency`; set `maxResults` to `0` for no cap.

**Does it handle private or deleted accounts and huge like counts?**
Yes. Private/deleted accounts are returned with a clear error flag instead of breaking the run, and counts are read from TikTok's string-based stats so totals over 2 billion stay exact.

**Can I scrape TikTok without login or cookies?**
Yes. This is a no-login TikTok profile scraper — it reads public data over plain HTTP with residential proxies, so no account, cookies or API key are needed.

**How do I export TikTok data to CSV or JSON?**
Run the Actor on your list of usernames and export the dataset to CSV, JSON, Excel or HTML, or pull it through the Apify API — no manual copy-paste.

### 🔗 More lead-gen & contact scrapers by logiover

Enriching creators across platforms? Pair the TikTok scraper with the rest of the logiover lead-generation suite:

| Platform / Task | Actor |
|---|---|
| 🎬 YouTube emails | [YouTube Creator Email Finder](https://apify.com/logiover/youtube-creator-email-finder) |
| ✖️ X / Twitter emails | [X Profile Email Scraper](https://apify.com/logiover/x-profile-email-scraper) |
| 🌐 Website contacts | [Website Contact Scraper](https://apify.com/logiover/website-contact-scraper) |
| 🏢 B2B leads | [B2B Lead Scraper](https://apify.com/logiover/b2b-lead-scraper) |
| 🔍 Multi-source leads | [Leads Scraper](https://apify.com/logiover/leads-scraper) |
| 🔗 Social profiles | [Bulk Social Profile Extractor](https://apify.com/logiover/bulk-social-profile-extractor) |
| ✅ Email verify | [Bulk Email Verifier](https://apify.com/logiover/bulk-email-verifier) |
| 📬 Deliverability | [Bulk Email Deliverability Checker](https://apify.com/logiover/bulk-email-deliverability-checker) |
| 📇 Contact from site | [JSON-LD & Meta Tag Extractor](https://apify.com/logiover/json-ld-schema-meta-tag-extractor) |
| 🗺️ Local businesses | [OpenStreetMap Business POI Scraper](https://apify.com/logiover/openstreetmap-business-poi-scraper) |

👉 Browse all **[logiover scrapers on Apify Store](https://apify.com/logiover)** — 180+ actors across real estate, jobs, crypto, social media & B2B data.

### ⏰ Scheduling & integration

Schedule this Actor on Apify to refresh TikTok creator stats and contacts daily or weekly. Export results to JSON, CSV or Excel, sync to Google Sheets, or push straight into your CRM, database and webhooks through the Apify API. Connect it to **Make, n8n or Zapier** to build automated influencer-outreach pipelines.

### ⭐ Support & feedback

Found a bug or need an extra field? Open an issue on the **Issues** tab — response is usually fast. If this Actor saves you time, a **★★★★★ review** on the Store page genuinely helps and is hugely appreciated. 🙏

### ⚖️ Legal

This Actor collects publicly available profile data only and is intended for legitimate research, analytics and lead-generation use. You are responsible for complying with TikTok's Terms of Service, the GDPR/CCPA and all applicable privacy laws.

***

### 📝 Changelog

#### 2026-08-01

- Completed the August 2026 full health check: verified empty/programmatic default, Console UI default, and two source-informed alternative inputs on Apify.
- Confirmed successful live execution, non-empty structured output, dataset-field/type integrity, and logical sample quality within the 5-minute quality window.

#### 2026-07-06

- ✨ README overhaul: refreshed badge row, richer output sample with full field reference, ready-to-run example scenarios, lead-gen suite cross-links, expanded keyword-gap FAQ and clearer quick-start.

#### 2026-07-01

- Maintenance pass: re-verified end-to-end on live data and confirmed successful runs within the 5-minute quality window on the default input.
- Sharpened Store metadata (SEO title & description) and expanded the FAQ with high-intent, long-tail questions for easier discovery in Google and Apify Store search.
- Added ready-to-run example tasks that cover common real-world use cases.

#### 2026-06-15

- Reliability pass: re-verified end-to-end on live data with real-world inputs. Routine maintenance build.

#### 2026-06-07

- Docs: added coverage for TikTok API alternative use, exporting TikTok data to CSV/JSON, and scraping TikTok without login.

#### 2026-06-05

- Reliability fix: results are no longer dropped by strict output validation — runs now complete cleanly even at high volume (thousands of results).
- Stability & performance hardening; fresh rebuild.

#### 2026-06-04

- Verified live & refreshed build — reliability/maintenance pass.

# Actor input Schema

## `profiles` (type: `array`):

TikTok @usernames or profile URLs. Examples: 'mrbeast', '@khaby.lame', 'https://www.tiktok.com/@charlidamelio'. Leave EMPTY to scrape a popular default set of public profiles.

## `onlyWithEmail` (type: `boolean`):

Skip profiles that don't expose a contact email in their bio.

## `maxConcurrency` (type: `integer`):

How many profiles to fetch in parallel.

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

Stop after saving this many profiles. Keeps runs fast and cheap; raise it (or set 0 for no limit) to pull your whole list.

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

TikTok requires residential proxies. Leave the default (Apify Proxy · RESIDENTIAL group).

## Actor input object example

```json
{
  "profiles": [
    "mrbeast",
    "https://www.tiktok.com/@khaby.lame"
  ],
  "onlyWithEmail": false,
  "maxConcurrency": 8,
  "maxResults": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

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

All records extracted by this run. Open the Dataset tab to browse, filter, and export as CSV, JSON, or Excel.

# 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 = {
    "profiles": [
        "mrbeast",
        "khaby.lame"
    ],
    "maxResults": 100,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("logiover/tiktok-profile-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 = {
    "profiles": [
        "mrbeast",
        "khaby.lame",
    ],
    "maxResults": 100,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("logiover/tiktok-profile-email-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "profiles": [
    "mrbeast",
    "khaby.lame"
  ],
  "maxResults": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call logiover/tiktok-profile-email-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/dczqnTB19Y5JIDdMJ/builds/ww4oQ7ooAGDJGPS4d/openapi.json
