# TikTok user profile scraper (`supreme_coder/tiktok-user-profile-scraper`) Actor

Scrape public Tiktok user profiles

- **URL**: https://apify.com/supreme\_coder/tiktok-user-profile-scraper.md
- **Developed by:** [Supreme Coder](https://apify.com/supreme_coder) (community)
- **Categories:** Social media
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.30 / 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.

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

This tool collects **public profile information** from TikTok accounts you specify—things like display name, bio, follower counts, and profile picture links—so you can save or analyze that data without copying it by hand.

It is built for use on **[Apify](https://apify.com)**. You do not need to install anything on your computer.

***

### What you get

For each profile URL you provide, the run saves a **result row** that includes:

- **Who it is** — username (`@handle`), display name, and whether the account is verified
- **Bio and link** — profile text and any link in the bio (when shown publicly)
- **Numbers** — followers, following, likes/hearts, and video count (as TikTok reports them)
- **Images** — links to profile picture sizes TikTok exposes
- **Other public flags** — for example whether the account is private, and category info when available

If something goes wrong for one URL (invalid link, temporary block, or the page does not load), that row will include an **error message** instead of full profile data so you can see what failed.

Results appear in the **Dataset** tab after the run finishes. You can preview them there or download them as Excel, CSV, or JSON.

***

### How to use it

1. Open this Actor on Apify and click **Start** (or **Try for free** if you are new).
2. In the input form, add **one or more TikTok profile URLs**.
   - Example: `https://www.tiktok.com/@tiktok`
   - The address should be a normal profile page (`@username`), not a single video link.
3. Leave **Proxy configuration** on the default unless you know you need to change it. Using Apify’s proxy is recommended for more stable access.
4. **Cookies** are optional. Only add them if Apify support or documentation suggests it for your case (for example, to improve reliability from some networks).
5. Start the run and wait until it completes. Open the **Dataset** to view or download your data.

You can paste **many profile URLs** in one run; each URL is processed in order.

***

### Input fields (simple)

| Field | What it means |
|--------|----------------|
| **Profile URLs** | Required. The list of TikTok profile pages to fetch. |
| **Proxy configuration** | Optional. Tells the run how to connect through a proxy. Residential proxies are recommended when the form or Apify docs say so. |
| **Cookie header** | Optional. Advanced; only use if you have a specific reason and know how to copy a Cookie from your browser safely. |

***

### Pricing (how you are charged)

This Actor uses **pay-per-event** pricing on Apify. In practice you pay:

- A **small start fee** tied to how the run is started (memory tier), and
- A **per-profile fee** for each profile that is successfully scraped.

Exact prices are shown on the Actor’s page on Apify and may change; always check there before you run.

***

### Limitations (good to know)

- Only **public information** that TikTok exposes on the profile side is collected. Private accounts or restricted content may not return full data.
- TikTok can change its website or block automated access; a run might occasionally fail or return errors until things are updated on the platform side.
- Follower and like counts are **as TikTok shows them** at scrape time—they can change right after.
- This tool is for **legitimate uses** that respect TikTok’s terms and applicable laws. You are responsible for how you use the data.

***

### If something does not work

- **Check the URL** — it must be a profile URL like `https://www.tiktok.com/@handle`.
- **Try again later** — short-lived blocks or network issues sometimes clear on their own.
- **Use the recommended proxy settings** if failures happen often.
- **Read the error** on the failed row in the Dataset; it usually says whether the link was wrong or the request did not succeed.

For account or billing questions, use **[Apify support](https://apify.com/contact)**. For bugs or feature ideas specific to this Actor, use the **Issues** or contact options listed on the Actor page.

# Actor input Schema

## `profileUrls` (type: `array`):

TikTok profile URLs, e.g. https://www.tiktok.com/@tiktok

## `cookies` (type: `string`):

Optional Cookie header copied from a browser session on tiktok.com. Improves reliability for datacenter IPs.

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

Residential proxies are strongly recommended.

## Actor input object example

```json
{
  "profileUrls": [
    {
      "url": "https://www.tiktok.com/@tiktok"
    }
  ],
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# 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 = {
    "profileUrls": [
        {
            "url": "https://www.tiktok.com/@tiktok"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("supreme_coder/tiktok-user-profile-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 = { "profileUrls": [{ "url": "https://www.tiktok.com/@tiktok" }] }

# Run the Actor and wait for it to finish
run = client.actor("supreme_coder/tiktok-user-profile-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 '{
  "profileUrls": [
    {
      "url": "https://www.tiktok.com/@tiktok"
    }
  ]
}' |
apify call supreme_coder/tiktok-user-profile-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/QvlXjlRpP19LHV7Kt/builds/0lueUjMAbtv2a8emQ/openapi.json
