# TikTok Profile Scraper V2 (`myagizm/tiktok-profile-scraper-v2`) Actor

Scrape public TikTok profiles at scale with guaranteed delivery: followers, following, total likes, video count, bio, verified flag and avatar. Managed infrastructure, no login or cookies required.

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

## Pricing

from $1.40 / 1,000 tiktok 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/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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use 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 Profile Scraper — bulk scrape TikTok accounts & follower counts (No API Key, No Login)

<p align="center">
  <a href="https://apify.com/myagizm/tiktok-profile-scraper-v2"><img src="https://img.shields.io/badge/Apify-Actor-00b96b?logo=apify&logoColor=white" alt="Apify Actor"></a>
  <img src="https://img.shields.io/badge/No%20API%20Key-required-blue" alt="No API Key required">
  <img src="https://img.shields.io/badge/No%20Login-needed-blue" alt="No Login needed">
  <img src="https://img.shields.io/badge/No%20Cookies-needed-blue" alt="No cookies needed">
  <img src="https://img.shields.io/badge/Export-JSON%20%7C%20CSV%20%7C%20Excel%20%7C%20XML-orange" alt="Export formats">
  <img src="https://img.shields.io/badge/MCP-AI%20agents-8A2BE2" alt="MCP AI agents">
  <img src="https://img.shields.io/badge/Pricing-pay%20per%20result-success" alt="Pay per result">
</p>

**Scrape public TikTok profiles in bulk** — no login, no cookies, no TikTok for Developers app, no access token. Feed the TikTok Profile Scraper a list of usernames or profile URLs and get one clean record per account: followers, following, mutual friends, total hearts, video count, bio, region, verified badge, private flag, numeric user ID, and a full-resolution avatar. Export TikTok profile data to JSON, CSV, Excel, or XML, schedule runs via the Apify API, and pipe results into your creator database, CRM, or dashboard.

> **Get your first profiles free in under 2 minutes** — type a username, click Start. No configuration, no credit card to try.

---

### Table of contents

- [What can it do?](#what-can-it-do)
- [Who uses it?](#who-uses-it)
- [What data can I scrape?](#what-data)
- [How to use it](#how-to)
- [Input example](#input-example)
- [Output example](#output-example)
- [Pricing](#pricing)
- [Tips](#tips)
- [Want other TikTok data?](#want-other-data)
- [AI agents (MCP)](#mcp)
- [Integrations & API](#integrations)
- [Support](#support)
- [FAQ](#faq)
- [Related searches](#related-searches)
- [Disclaimer](#disclaimer)
- [Resources](#resources)

---

### What can the TikTok Profile Scraper V2 do? {#what-can-it-do}

- 👤 **Scrape any public TikTok profile** by username, @handle, or profile URL.
- 📊 **Get followers, following, and total hearts** read live from the public profile.
- 🎥 **Get the public video count** for output-rate analysis.
- 📝 **Read the bio** and get the account region.
- ✅ **Check the verified badge** and detect private accounts before deeper runs.
- 🆔 **Get the numeric user ID** so your database survives handle changes.
- 🖼️ **Get full-resolution avatars** for creator boards and directories.
- 🧑‍🤝‍🧑 **Queue hundreds of usernames in one run** — no limit on how many you add.
- 🚚 **Managed delivery** — consistent results on every run, not best-effort.
- 📤 **Export** to JSON, CSV, Excel, or XML, or pull live via API.

Go beyond the limits of the official TikTok API: no OAuth app, no app review, no quota juggling — paste your input and collect publicly available data.

---

### Who uses the TikTok Profile Scraper V2? {#who-uses-it}

- 🤝 **Influencer marketers** — verify follower counts and hearts before booking a creator.
- 💼 **Talent & agency teams** — maintain a roster with current, comparable stats.
- 📈 **Competitor analysts** — track rival accounts' growth on a schedule.
- 🛒 **Brand & e-commerce teams** — vet accounts before affiliate or seeding campaigns.
- 🧑‍💻 **Data teams** — snapshot creator stats over time to compute growth rates.

---

### What data can I scrape? {#what-data}

| Field | Type | Description |
|-------|------|-------------|
| `inputUsername` | string | The username you asked for, handy when batching. |
| `username` | string | Handle (`uniqueId`). |
| `nickname` | string | Display name. |
| `userId` | string | Numeric account ID — stable if the handle changes. |
| `followers` | number | Follower count. |
| `following` | number | Accounts this profile follows. |
| `friends` | number | Mutual follows. |
| `likes` | number | Total hearts across all videos. |
| `videos` | number | Number of public videos. |
| `bio` | string | Profile bio text. |
| `region` | string | Account region code. |
| `verified` | boolean | Verified badge. |
| `private` | boolean | Whether the account is private. |
| `avatarUrl` | string | Full-resolution avatar URL. |
| `createdAt` | string | Account creation timestamp when exposed. |
| `url` | string | Profile link. |

> Fields reflect what TikTok exposes publicly for that item. Values that do not exist for a given item are returned as `null` rather than dropped, so your schema stays stable.

---

### How to scrape TikTok profiles {#how-to}

1. **Open the TikTok Profile Scraper** on [Apify](https://apify.com/myagizm/tiktok-profile-scraper-v2).
2. **Add accounts** to *TikTok usernames* — `zachking`, `@khaby.lame`, or `https://www.tiktok.com/@nasa` all work.
3. *(Optional)* Set **Max profiles** to cap the run.
4. Click **▶ Start**, then export to JSON, CSV, Excel, or XML.

No login, no cookies, no proxy configuration. Start with one input to see the output shape, then scale the same run — the fields stay identical, so code written against a test run keeps working.

---

### Input example {#input-example}

```json
{
  "usernames": [
    "zachking",
    "khaby.lame",
    "nasa"
  ],
  "resultsLimit": 100
}
````

- **usernames** — usernames, @handles, or profile URLs.
- **resultsLimit** — hard cap on profiles returned per run.

***

### Output example {#output-example}

```json
{
  "bio": "Bringing a little more wonder into the world, 15 seconds at a time",
  "url": "https://www.tiktok.com/@zachking",
  "likes": 1300000000,
  "region": null,
  "userId": "68616495085350913",
  "videos": 611,
  "friends": null,
  "private": false,
  "nickname": "Zach King",
  "username": "zachking",
  "verified": true,
  "avatarUrl": null,
  "createdAt": null,
  "followers": 86400000,
  "following": 179,
  "sourceType": "tiktok",
  "inputUsername": "zachking"
}
```

Every run produces a clean dataset you can page through in the Apify Console or pull via API. Export to JSON, CSV, Excel, or XML in one click.

***

> **V2 = managed delivery.** This is the V2 line: it runs on managed infrastructure for consistent, guaranteed delivery and a wider field set. If you only need best-effort data at the lowest price, the V1 actor of the same surface is also on the [store profile](https://apify.com/myagizm).

### How much will it cost? {#pricing}

Simple, predictable **pay-per-result** pricing — you pay for the profiles you actually receive, not for compute time.

- 💸 **Pay per profile** — budget is just profiles × rate, so you can estimate spend up front.
- 📉 **Volume discounts** — Bronze, Silver, Gold, Platinum, and Diamond Apify plans get progressively lower rates.
- 🆓 **Free to try** — new Apify accounts include monthly free usage, so your first run costs nothing.
- 🚫 **No hidden fees** — no proxy add-on, no per-request API charge, no minimum spend.

See the live rate on the [Apify store page](https://apify.com/myagizm/tiktok-profile-scraper-v2).

***

### Tips {#tips}

- 🆔 **Store `userId`, not the handle** — TikTok handles change more often than you would expect.
- ❤️ **`likes` is lifetime hearts, not per-video** — divide by `videos` for an average-hearts signal.
- 🔒 **Filter on `private` first** to avoid queueing video runs that cannot return anything.
- 🌍 **Use `region` to sanity-check audience fit** before a geo-targeted campaign.
- ⏰ **Schedule a daily run** on a fixed roster to build a growth time series.
- 🧮 **Pair with the [Video Scraper](https://apify.com/myagizm/tiktok-video-scraper-v2)** to compute real engagement rate per post.

***

### Want other TikTok data? {#want-other-data}

- 🎬 **[TikTok Video Scraper](https://apify.com/myagizm/tiktok-video-scraper-v2)** — video metrics: plays, likes, comments, shares, saves, duration and music.
- 💬 **[TikTok Comments Scraper](https://apify.com/myagizm/tiktok-comments-scraper-v2)** — comments with author, likes, replies and pinned flags.
- \#️⃣ **[TikTok Hashtag Scraper](https://apify.com/myagizm/tiktok-hashtag-scraper-v2)** — videos for any hashtag with full metrics and author stats.
- ⬇️ **[TikTok Video Downloader](https://apify.com/myagizm/tiktok-video-downloader-v2)** — watermark-free MP4 and audio download links.

Building a multi-platform dataset? The same no-login, pay-per-result approach covers the other networks:

- 🎵 **[TikTok Profile Scraper](https://apify.com/myagizm/tiktok-profile-scraper-v2)** · **[TikTok Video Scraper](https://apify.com/myagizm/tiktok-video-scraper-v2)** · **[TikTok Hashtag Scraper](https://apify.com/myagizm/tiktok-hashtag-scraper-v2)** · **[TikTok Comments Scraper](https://apify.com/myagizm/tiktok-comments-scraper-v2)**
- 🐦 **[X (Twitter) Tweets Scraper](https://apify.com/myagizm/x-tweets-scraper)** · **[X Profile Scraper](https://apify.com/myagizm/x-profile-scraper)** · **[X Trends Scraper](https://apify.com/myagizm/x-trends-scraper)**
- 👔 **[LinkedIn Profile Scraper](https://apify.com/myagizm/linkedin-profile-scraper)** · **[LinkedIn Company Scraper](https://apify.com/myagizm/linkedin-company-scraper)** · **[LinkedIn Jobs Scraper](https://apify.com/myagizm/linkedin-jobs-scraper)**
- 🤖 **[Reddit Scraper](https://apify.com/myagizm/reddit-scraper-v2)** · **[Reddit Search Scraper](https://apify.com/myagizm/reddit-search-scraper-v2)** · **[Reddit Subreddit Scraper](https://apify.com/myagizm/reddit-subreddit-scraper-v2)**
- ▶️ **[YouTube Channel Scraper](https://apify.com/myagizm/youtube-channel-scraper)** · **[YouTube Comment Scraper](https://apify.com/myagizm/youtube-comment-scraper)** · **[YouTube Transcript Scraper](https://apify.com/myagizm/youtube-transcript-scraper)**
- 🗺️ **[Google Maps Scraper](https://apify.com/myagizm/google-maps-scraper)** · **[Google News Scraper](https://apify.com/myagizm/google-news-scraper)**

Browse everything on the **[myagizm store profile](https://apify.com/myagizm)**.

***

### Use the data with AI agents (MCP) {#mcp}

The TikTok Profile Scraper V2 is available through the **Apify MCP server**, so AI assistants can call it as a tool and pull TikTok profiles on demand.

- 🧩 **Claude** — add the Apify MCP server and let Claude fetch and analyse the data.
- 🤖 **ChatGPT** — use the actor as a tool inside research and reporting workflows.
- 🖊️ **Cursor** — pull structured results straight into your coding sessions.

Common AI-agent recipes:

- 🔎 **Creator vetting** — "is @example established? check videos, hearts, and verification."
- 📊 **Roster table** — "rank these 30 creators by followers and hearts-per-video."
- 📈 **Growth tracking** — "compare today's followers with last week's snapshot."
- 🌍 **Market fit** — "group these creators by region."

***

### Integrations & API {#integrations}

Connect the actor to the tools you already use: **Make, Zapier, n8n, Slack, Airbyte, Gumloop, CrewAI, IFTTT, Lindy, GitHub, Google Sheets, and Google Drive** — plus webhooks, Apify Schedules, and the MCP server.

#### Run synchronously and get the dataset (Apify API)

```bash
curl -X POST "https://api.apify.com/v2/acts/myagizm~tiktok-profile-scraper-v2/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"usernames": ["zachking", "khaby.lame", "nasa"], "resultsLimit": 100}'
```

#### Start a run asynchronously

```bash
curl -X POST "https://api.apify.com/v2/acts/myagizm~tiktok-profile-scraper-v2/runs?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"usernames": ["zachking", "khaby.lame", "nasa"], "resultsLimit": 100}'
```

#### Fetch dataset items later

```bash
curl "https://api.apify.com/v2/acts/myagizm~tiktok-profile-scraper-v2/runs/last/dataset/items?token=YOUR_APIFY_TOKEN&format=csv"
```

Change `format` to `json`, `csv`, `xlsx`, or `xml` to export in your preferred format. The Apify Console also auto-generates ready-to-paste **JavaScript, Python, and CLI** snippets plus an **OpenAPI** spec for this actor.

***

### Support {#support}

Questions, feature requests, or something not looking right? Open an issue on the actor's **[Issues tab](https://apify.com/myagizm/tiktok-profile-scraper-v2/issues)**. Please include the input you used so we can reproduce and fix it quickly.

***

### FAQ {#faq}

#### Can I get the creator's videos too?

Yes — use the [TikTok Video Scraper](https://apify.com/myagizm/tiktok-video-scraper-v2) for metrics or the [Hashtag Scraper](https://apify.com/myagizm/tiktok-hashtag-scraper-v2) for discovery. This actor is profile-only so you are not billed for videos you did not ask for.

#### Can I get the follower list itself?

Follower and following lists are a separate surface. This actor returns counts.

#### What is `friends`?

TikTok's mutual-follow count — accounts that follow each other.

#### Is the avatar full resolution?

Yes, `avatarUrl` is the full-size image, not a thumbnail.

#### Do I need a TikTok account, login, cookies, or API key?

No. There is no login, no cookies, no TikTok for Developers app, no app review, and no access token. Paste your input and run.

#### Is it legal to scrape TikTok?

The actor collects only publicly available data — the same content any visitor can see without logging in. It never logs in and never accesses private accounts. You are responsible for compliant use: if the data contains personal data, follow GDPR, CCPA, and other applicable regulations, and respect TikTok's terms.

#### Can I scrape private accounts?

No. Private accounts are reported in the run log and skipped. The actor never bypasses access controls.

#### Do I need proxies?

No. Proxy handling is built in and managed for you.

#### Can I export the results to CSV, Excel, or JSON?

Yes — JSON, CSV, Excel, or XML from the Console, or the API `format` parameter.

#### Can I use it with the Apify API?

Yes, using the sync and async endpoints shown above.

#### Is there an MCP server for AI agents?

Yes. Claude, ChatGPT, and Cursor can call this actor as a tool through the Apify MCP server.

#### Can I schedule runs?

Yes. Use Apify Schedules or trigger runs via API and webhooks.

#### How fresh is the data?

There is no caching. Every run reads the current public page, so numbers are live at run time.

#### Media URLs stopped working — why?

TikTok signs its CDN links and they expire within hours. Download or re-host media in the same session you scrape it.

***

### Related searches {#related-searches}

tiktok profile scraper · tiktok follower count checker · tiktok account scraper · tiktok bio scraper · bulk tiktok profile lookup · tiktok creator database · tiktok influencer research · tiktok verified check · scrape tiktok without login · tiktok api alternative · tiktok user data export · tiktok hearts count · tiktok profile data csv · tiktok creator vetting · tiktok stats checker · tiktok avatar downloader

***

### Disclaimer {#disclaimer}

This is an independent tool and is not affiliated with, endorsed by, or sponsored by TikTok or ByteDance Ltd.. All product names, logos, and brands are property of their respective owners.

The actor collects only **publicly available** data — the same content any visitor can see without logging in. It never logs in, never bypasses access controls, and never touches private or protected content. You are responsible for how you use the data: if it contains personal data, follow GDPR, CCPA, and other applicable regulations, and respect the platform's terms.

***

### Resources {#resources}

- 📘 [Apify API documentation](https://docs.apify.com/api/v2) — run actors and fetch datasets programmatically.
- 🤖 [Apify MCP server](https://mcp.apify.com) — use this actor as a tool in Claude, ChatGPT, and Cursor.
- 📤 [Dataset export docs](https://docs.apify.com/platform/storage/dataset) — export to JSON, CSV, Excel, and XML.
- ⏰ [Scheduling actor runs](https://docs.apify.com/platform/schedules) — keep your data fresh automatically.
- 🔌 [Apify integrations](https://docs.apify.com/platform/integrations) — n8n, Zapier, Make, Slack, and more.
- 🏪 [myagizm store profile](https://apify.com/myagizm) — the full family of no-login scrapers.

***

## 中文说明 —— TikTok 账号资料抓取工具（V2）

**批量抓取公开的 TikTok 账号资料** —— 不需要登录、Cookie、开发者应用或 access token。填入用户名或主页链接，每个账号返回一条数据：粉丝数、关注数、互关数、获赞总数、视频数、简介、地区、认证标记、是否私密、数字用户 ID 与全分辨率头像。可导出 JSON / CSV / Excel / XML，并通过 Apify API 定时运行。

> **两分钟内免费拿到第一批数据** —— 填入内容、点击 Start 即可。无需配置，试用不需要信用卡。

### 能做什么

- 👤 **抓取任意公开账号资料**，支持用户名、@handle、主页链接。
- 📊 **粉丝数、关注数、获赞总数**，实时读取公开主页。
- 🎥 **公开视频数**，便于分析产出频率。
- 📝 **简介**与账号**地区**。
- ✅ **认证状态**，并可提前识别私密账号。
- 🆔 **数字用户 ID**，改名也不影响数据。
- 🖼️ **全分辨率头像**。
- 🧑‍🤝‍🧑 **单次可排队上百个账号**。
- 🚚 **托管交付**，每次运行结果稳定。
- 📤 **导出** JSON / CSV / Excel / XML。

无需 OAuth 应用、无需应用审核、无需配额管理 —— 填入内容即可采集公开数据。

### 谁在用

- 🤝 **红人营销** —— 合作前核实粉丝数与获赞总数。
- 💼 **艺人与代理团队** —— 维护可对比的达人名册。
- 📈 **竞品分析** —— 定时跟踪对手账号增长。
- 🛒 **品牌与电商** —— 分销或铺量前先做账号筛查。
- 🧑‍💻 **数据团队** —— 定期快照，计算增长率。

### 可以抓取哪些数据

| 字段 | 类型 | 说明 |
|------|------|------|
| `inputUsername` | string | 你请求的用户名 |
| `username` | string | 用户名（uniqueId） |
| `nickname` | string | 显示名称 |
| `userId` | string | 数字账号 ID，改名也不变 |
| `followers` | number | 粉丝数 |
| `following` | number | 关注数 |
| `friends` | number | 互关数 |
| `likes` | number | 全部视频获赞总数 |
| `videos` | number | 公开视频数 |
| `bio` | string | 个人简介 |
| `region` | string | 账号地区 |
| `verified` | boolean | 是否认证 |
| `private` | boolean | 是否私密 |
| `avatarUrl` | string | 全分辨率头像 |
| `createdAt` | string | 账号创建时间（平台公开时） |
| `url` | string | 主页链接 |

> 字段取决于平台对外公开了什么。某个条目没有的值会返回 `null` 而不是直接省略，因此你的数据结构始终稳定。

### 使用步骤

1. 打开 [TikTok 账号资料抓取工具](https://apify.com/myagizm/tiktok-profile-scraper-v2)。
2. 在 *TikTok usernames* 填入账号：`zachking`、`@khaby.lame`、`https://www.tiktok.com/@nasa` 均可。
3. （可选）用 **Max profiles** 限制数量。
4. 点击 **▶ Start** 并导出数据。

### 输入示例

```json
{
  "usernames": [
    "zachking",
    "khaby.lame",
    "nasa"
  ],
  "resultsLimit": 100
}
```

### 输出示例

```json
{
  "bio": "Bringing a little more wonder into the world, 15 seconds at a time",
  "url": "https://www.tiktok.com/@zachking",
  "likes": 1300000000,
  "region": null,
  "userId": "68616495085350913",
  "videos": 611,
  "friends": null,
  "private": false,
  "nickname": "Zach King",
  "username": "zachking",
  "verified": true,
  "avatarUrl": null,
  "createdAt": null,
  "followers": 86400000,
  "following": 179,
  "sourceType": "tiktok",
  "inputUsername": "zachking"
}
```

> **V2 = 托管交付。** 这是 V2 产品线：运行在托管基础设施上，交付更稳定、字段更全。如果你只需要最低价的尽力而为版本，同一功能的 V1 Actor 也在[商店主页](https://apify.com/myagizm)。

### 价格

采用**按结果计费**：只为真正拿到的数据付费，不按运行时间计费。

- 💸 成本 = 结果数量 × 单价，预算可提前算清。
- 📉 Apify 的 Bronze / Silver / Gold / Platinum / Diamond 套餐享阶梯折扣。
- 🆓 新账号自带每月免费额度，第一次运行不花钱。
- 🚫 无代理附加费、无单次请求费、无最低消费。

实时价格见 [Apify 商店页面](https://apify.com/myagizm/tiktok-profile-scraper-v2)。

### 使用建议

- 🆔 **入库存 `userId`**，TikTok 用户名变动比想象中频繁。
- ❤️ `likes` 是**累计获赞**而非单条，除以 `videos` 可得平均获赞。
- 🔒 先看 `private`，避免对私密账号做无效抓取。
- 🌍 用 `region` 检查地域是否匹配投放目标。
- ⏰ 每天定时跑固定名册，积累增长曲线。
- 🧮 配合[视频抓取工具](https://apify.com/myagizm/tiktok-video-scraper-v2)计算真实互动率。

### 其他 TikTok 数据

- 🎬 **[TikTok 视频抓取工具](https://apify.com/myagizm/tiktok-video-scraper-v2)** —— 抓取视频的播放、点赞、评论、分享、收藏、时长与音乐信息。
- 💬 **[TikTok 评论抓取工具](https://apify.com/myagizm/tiktok-comments-scraper-v2)** —— 抓取评论的作者、点赞数、回复数与置顶标记。
- \#️⃣ **[TikTok 话题标签抓取工具](https://apify.com/myagizm/tiktok-hashtag-scraper-v2)** —— 按标签抓取视频及完整指标与作者数据。
- ⬇️ **[TikTok 视频下载工具](https://apify.com/myagizm/tiktok-video-downloader-v2)** —— 获取无水印 MP4 与音频下载链接。

需要多平台数据？以下工具采用同样的免登录、按结果计费方式：

- 🎵 **[TikTok 账号抓取](https://apify.com/myagizm/tiktok-profile-scraper-v2)** · **[TikTok 视频抓取](https://apify.com/myagizm/tiktok-video-scraper-v2)** · **[TikTok 话题抓取](https://apify.com/myagizm/tiktok-hashtag-scraper-v2)** · **[TikTok 评论抓取](https://apify.com/myagizm/tiktok-comments-scraper-v2)**
- 🐦 **[X（推特）推文抓取](https://apify.com/myagizm/x-tweets-scraper)** · **[X 账号资料抓取](https://apify.com/myagizm/x-profile-scraper)** · **[X 热门趋势抓取](https://apify.com/myagizm/x-trends-scraper)**
- 👔 **[LinkedIn 个人资料抓取](https://apify.com/myagizm/linkedin-profile-scraper)** · **[LinkedIn 公司抓取](https://apify.com/myagizm/linkedin-company-scraper)** · **[LinkedIn 职位抓取](https://apify.com/myagizm/linkedin-jobs-scraper)**
- 🤖 **[Reddit 抓取](https://apify.com/myagizm/reddit-scraper-v2)** · **[Reddit 搜索抓取](https://apify.com/myagizm/reddit-search-scraper-v2)** · **[子版块抓取](https://apify.com/myagizm/reddit-subreddit-scraper-v2)**
- ▶️ **[YouTube 频道抓取](https://apify.com/myagizm/youtube-channel-scraper)** · **[YouTube 评论抓取](https://apify.com/myagizm/youtube-comment-scraper)** · **[YouTube 字幕抓取](https://apify.com/myagizm/youtube-transcript-scraper)**
- 🗺️ **[Google 地图抓取](https://apify.com/myagizm/google-maps-scraper)** · **[Google 新闻抓取](https://apify.com/myagizm/google-news-scraper)**

全部工具见 **[myagizm 商店主页](https://apify.com/myagizm)**。

### 配合 AI 智能体使用（MCP）

本 Actor 已接入 **Apify MCP 服务器**，Claude、ChatGPT、Cursor 等助手可以把它当作工具直接调用，用自然语言提问即可拿到结构化结果，无需写胶水代码。

### 集成与 API

支持 **Make、Zapier、n8n、Slack、Airbyte、Gumloop、CrewAI、IFTTT、Lindy、GitHub、Google Sheets、Google Drive**，以及 Webhook、定时任务与 MCP 服务器。

```bash
curl -X POST "https://api.apify.com/v2/acts/myagizm~tiktok-profile-scraper-v2/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"usernames": ["zachking", "khaby.lame", "nasa"], "resultsLimit": 100}'
```

把 `format` 改成 `json`、`csv`、`xlsx` 或 `xml` 即可导出不同格式。

### 常见问题

**能同时拿到该账号的视频吗？**
请用[视频抓取工具](https://apify.com/myagizm/tiktok-video-scraper-v2)或[标签抓取工具](https://apify.com/myagizm/tiktok-hashtag-scraper-v2)。本工具只做资料，避免为不需要的数据付费。

**能拿到粉丝列表吗？**
粉丝列表属于另一个入口，本工具返回数量。

**`friends` 是什么？**
互相关注的数量。

**头像是原图吗？**
是，`avatarUrl` 为全分辨率地址。

**需要 TikTok 账号、登录、Cookie 或 API Key 吗？**
不需要。不登录、不用 Cookie、不需要开发者应用、不需要审核、不需要 access token。

**抓取 TikTok 合法吗？**
只采集公开可见的数据，即任何未登录访客都能看到的内容，不登录、不访问私密账号。合规责任由使用者承担：如涉及个人数据请遵守 GDPR / CCPA 与平台条款。

**能抓私密账号吗？**
不能，会被跳过并记录在运行日志中。

**需要配置代理吗？**
不需要，已内置托管。

**支持导出 CSV / Excel / JSON 吗？**
支持 JSON、CSV、Excel、XML。

**可以通过 Apify API 调用吗？**
可以，同步与异步接口见上方示例。

**支持 AI 智能体（MCP）吗？**
支持，Claude、ChatGPT、Cursor 均可当作工具调用。

**可以定时运行吗？**
可以，支持 Apify Schedules、API 与 Webhook。

**数据有多新？**
不缓存，每次运行都读取当前公开页面。

**媒体链接失效了？**
TikTok 的 CDN 链接带签名，数小时内过期，请在抓取的同一时段下载或转存。

### 免责声明

本工具为独立第三方工具，与 TikTok 及字节跳动（ByteDance） 无任何隶属、认可或赞助关系，所有商标归各自所有者。

本 Actor 只采集**公开可见**的数据 —— 即任何未登录访客都能看到的内容。它不登录、不绕过访问控制、不获取私密内容。数据使用的合规责任由使用者承担：如涉及个人数据，请遵守 GDPR、CCPA 等法规与平台条款。

### 相关搜索

tiktok 账号抓取 · tiktok 粉丝数查询 · tiktok 资料采集 · tiktok 简介抓取 · 批量查询 tiktok 账号 · tiktok 达人数据库 · tiktok 红人研究 · tiktok 认证查询 · 免登录抓取 tiktok · tiktok api 替代 · tiktok 用户数据导出 · tiktok 获赞总数 · tiktok 资料导出 csv · tiktok 账号筛查

# Actor input Schema

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

Usernames or profile URLs, e.g. "zachking", "@khaby.lame", "https://www.tiktok.com/@mrbeast".

## `resultsLimit` (type: `integer`):

Hard cap on how many results this run returns. A run lasts at most ~10 minutes.

## Actor input object example

```json
{
  "usernames": [
    "zachking",
    "khaby.lame"
  ],
  "resultsLimit": 50
}
```

# Actor output Schema

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

All scraped results as structured JSON.

# 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": [
        "zachking",
        "khaby.lame"
    ],
    "resultsLimit": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("myagizm/tiktok-profile-scraper-v2").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": [
        "zachking",
        "khaby.lame",
    ],
    "resultsLimit": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("myagizm/tiktok-profile-scraper-v2").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 '{
  "usernames": [
    "zachking",
    "khaby.lame"
  ],
  "resultsLimit": 50
}' |
apify call myagizm/tiktok-profile-scraper-v2 --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "TikTok Profile Scraper V2",
        "description": "Scrape public TikTok profiles at scale with guaranteed delivery: followers, following, total likes, video count, bio, verified flag and avatar. Managed infrastructure, no login or cookies required.",
        "version": "0.1",
        "x-build-id": "xhvwc7zrGUT79Sone"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/myagizm~tiktok-profile-scraper-v2/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-myagizm-tiktok-profile-scraper-v2",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/myagizm~tiktok-profile-scraper-v2/runs": {
            "post": {
                "operationId": "runs-sync-myagizm-tiktok-profile-scraper-v2",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/myagizm~tiktok-profile-scraper-v2/run-sync": {
            "post": {
                "operationId": "run-sync-myagizm-tiktok-profile-scraper-v2",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "usernames": {
                        "title": "TikTok usernames",
                        "type": "array",
                        "description": "Usernames or profile URLs, e.g. \"zachking\", \"@khaby.lame\", \"https://www.tiktok.com/@mrbeast\".",
                        "items": {
                            "type": "string"
                        }
                    },
                    "resultsLimit": {
                        "title": "Max profiles",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Hard cap on how many results this run returns. A run lasts at most ~10 minutes.",
                        "default": 50
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
