# TikTok Profile Scraper Pro (Fast API, Emails & Analytics) (`automation_studio/tiktok-profile-scraper-pro`) Actor

High-speed TikTok profile scraper. Extract followers, likes, engagement rate, verified business emails, bio links, and connected socials. 100% compatible with abe/tiktok-profile-scraper.

- **URL**: https://apify.com/automation\_studio/tiktok-profile-scraper-pro.md
- **Developed by:** [Automation Studio](https://apify.com/automation_studio) (community)
- **Categories:** Social media, Lead generation, Developer tools
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 profile dossier with emails & analytics

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

<p align="center">
  <img src="https://api.apify.com/v2/key-value-stores/CzV6HWBRz4izzUYHT/records/tiktok_pro_logo.png" alt="TikTok Profile Scraper Pro Logo" width="160" height="160" />
</p>

## ⚡ TikTok Profile Scraper Pro (Fast API, Emails & Creator Analytics)

> **The fastest, most comprehensive TikTok profile scraper on Apify.**
> Extract live follower counts, 64-bit likes, verified business emails, external bio links, and engagement analytics from any TikTok profile.
> **100% drop-in compatible with `abe/tiktok-profile-scraper`!**

***

### 💡 Why TikTok Profile Scraper Pro?

While standard scrapers only return raw follower counts and basic text, **TikTok Profile Scraper Pro** delivers actionable creator intelligence for influencer agencies, marketing teams, and ecommerce brands.

#### 🆚 Feature Comparison: Standard vs. Pro

| Feature | `abe/tiktok-profile-scraper` | **TikTok Profile Scraper Pro** |
| :--- | :---: | :---: |
| **Followers, Following, Likes, Videos** | ✅ Yes | ✅ **Yes (Full 64-bit precision)** |
| **DisplayName, Bio, Avatar, Profile URL** | ✅ Yes | ✅ **Yes** |
| **Accepts `@username` and Full URLs** | ❌ Fails / Throws Warning | ✅ **Yes (Auto-sanitizes all formats)** |
| **Extracts Business & Inquiry Emails** | ❌ No (Raw bio only) | ✅ **Yes (Regex + Obfuscation decoder)** |
| **Identifies Link-in-Bio Platform** | ❌ No | ✅ **Yes (Linktree, Beacons, Stan, Shopify)** |
| **Engagement Rate & Likes Ratio** | ❌ No | ✅ **Yes (`likes_to_followers_ratio`)** |
| **Creator Tier Classification** | ❌ No | ✅ **Yes (Nano, Micro, Mid, Macro, Mega)** |
| **Verified & TikTok Shop Seller Badges** | ❌ Incomplete | ✅ **Yes (`is_verified`, `is_seller`)** |
| **Sub-Second Speed per Profile** | ⚡ Fast (~1s) | ⚡ **Ultra-Fast (~0.3s - 0.8s)** |
| **Pay-Per-Event Price** | $2.00 / 1,000 results | 💰 **$2.00 / 1,000 results** |

***

### 🚀 Key Features

- ⚡ **Zero Browser Overhead**: Built with asynchronous high-performance HTTP emulation (`curl_cffi`). Runs in under 0.8 seconds per profile with minimal memory usage.
- ✉️ **Smart Contact Extraction**: Automatically scans creator biographies and decodes business emails (including obfuscated formats like `collabs [at] gmail.com`) and WhatsApp/phone numbers.
- 📊 **Audience Scale Classification**: Instantly categorizes creators into industry tiers:
  - **Nano Creator**: < 10K followers
  - **Micro Influencer**: 10K - 100K followers
  - **Mid-Tier Creator**: 100K - 500K followers
  - **Macro Influencer**: 500K - 1M followers
  - **Mega Influencer**: 1M+ followers
- 🔗 **Smart URL & Handle Normalization**: Paste plain handles (`charlidamelio`), `@handles` (`@khaby.lame`), or full desktop/mobile links (`https://www.tiktok.com/@bellapoarch`)—the Actor cleans and processes them all automatically.
- 🔄 **100% Backwards Compatible**: Output includes all legacy fields (`username`, `displayName`, `bio`, `tagline`, `profileImage`, `profileUrl`, `followers`, `following`, `likes`, `videos`), allowing you to switch scrapers in your existing workflows with zero code modifications!

***

### 📥 Input Parameters

| Parameter | Type | Default | Description |
| :--- | :--- | :--- | :--- |
| `usernames` | Array | Required | List of TikTok handles, `@usernames`, or full profile URLs. |
| `extract_emails` | Boolean | `true` | Detect and extract business emails from bios. |
| `max_profiles` | Integer | `50` | Maximum number of profiles to scrape in this run (1 to 5,000). |
| `proxyConfiguration` | Object | Apify Proxy | Optional proxy settings. Apify Datacenter or Residential Proxies ensure continuous high-speed extraction. |

#### Input Example:

```json
{
  "usernames": [
    "charlidamelio",
    "@khaby.lame",
    "https://www.tiktok.com/@bellapoarch"
  ],
  "extract_emails": true,
  "max_profiles": 50
}
```

***

### 📤 Output Example

```json
{
  "username": "charlidamelio",
  "displayName": "charli d’amelio",
  "bio": "orca enthusiast\nmeg thee stallion fan\ni post on youtube on saturdays (for the most part) ✉️ inquiries: charli@damelioteam.com",
  "tagline": "",
  "profileImage": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/...",
  "profileUrl": "https://www.tiktok.com/@charlidamelio",
  "followers": 159700000,
  "following": 1440,
  "likes": 12300000000,
  "videos": 3247,
  "is_verified": true,
  "is_private": false,
  "is_seller": false,
  "business_email": "charli@damelioteam.com",
  "additional_emails": [],
  "phone_number": null,
  "bio_link": "https://vinted.shop/26-charlidamelio",
  "bio_link_platform": "Vinted Store",
  "creator_tier": "MEGA_INFLUENCER (1M+)",
  "likes_to_followers_ratio": 77.02,
  "avg_likes_per_video": 3788112.1,
  "connected_socials": {
    "instagram_id": null,
    "youtube_channel": null
  },
  "scraped_at": "2026-09-11T07:45:00.000Z"
}
```

***

### 🏷️ Pricing

- **$0.002** per Actor start.
- **$0.002** per scraped creator profile ($2.00 per 1,000 profiles).
- You only pay for successful results.

# Actor input Schema

## `usernames` (type: `array`):

Enter TikTok usernames, @handles, or full URLs (e.g. 'charlidamelio', '@khaby.lame', 'https://www.tiktok.com/@bellapoarch').

## `extract_emails` (type: `boolean`):

Automatically detect and extract business/inquiry emails and contact phone numbers from biographies.

## `max_profiles` (type: `integer`):

Limit the maximum number of profiles to scrape in this run.

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

Optional proxy settings. Apify Datacenter or Residential Proxies ensure continuous high-speed extraction.

## Actor input object example

```json
{
  "usernames": [
    "charlidamelio",
    "khaby.lame",
    "bellapoarch"
  ],
  "extract_emails": true,
  "max_profiles": 50,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

Dataset containing scraped TikTok profile records

# 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 = {
    "usernames": [
        "charlidamelio",
        "khaby.lame",
        "bellapoarch"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("automation_studio/tiktok-profile-scraper-pro").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 = {
    "usernames": [
        "charlidamelio",
        "khaby.lame",
        "bellapoarch",
    ],
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("automation_studio/tiktok-profile-scraper-pro").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 '{
  "usernames": [
    "charlidamelio",
    "khaby.lame",
    "bellapoarch"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call automation_studio/tiktok-profile-scraper-pro --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,automation_studio/tiktok-profile-scraper-pro"
        }
    }
}
```

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/IV1MnWArmr55N6mYO/builds/8ctQFcVV1n4DHFIOz/openapi.json
