Export public TikTok account and profile data from handles or profile URLs, including follower counts, like counts, bios, verification status, avatars, bio links, and optional recent video summaries.
Use this Actor to collect TikTok creator, influencer, brand, publisher, nonprofit, or competitor profile data for creator discovery, account enrichment, influencer research, brand monitoring, and recurring profile-stat tracking. Results can be downloaded as CSV, JSON, Excel, XML, RSS, or used through the Apify Dataset API.
At a glance
- Profile lookup: Enter TikTok handles such as
tiktokor full public profile URLs. - Account data export: Collect usernames, profile URLs, display names, bios, avatars, verification, private-account flags, region, language, and IDs when available.
- Follower and like counts: Export public follower, following, like, video, friend, and related profile counters.
- Bio link collection: Save public bio links for creator lead qualification and account research.
- Recent video summaries: Optionally include recent public video summaries when TikTok exposes them for the profile.
- API export: Send profile rows to spreadsheets, creator CRMs, BI tools, dashboards, or AI agents.
What can it do?
TikTok Profile Scraper extracts public account metadata from TikTok profile pages and saves one dataset row per profile.
- Scrape handles or URLs: Use usernames with or without
@, full profile URLs, or both. - Collect public profile stats: Export follower count, following count, likes, video count, verification, and account metadata.
- Save bio context: Capture bio text, avatar URL, public bio link, share title, and share description.
- Optionally include videos: Add nested recent video summaries when public profile responses expose them.
- Build repeatable monitoring: Schedule the same profile list to track account-level changes over time.
Common workflows
- Influencer discovery: Build lists of public creators with profile stats, bios, avatars, and bio links.
- Creator CRM enrichment: Add TikTok profile metadata to creator, affiliate, or partnership databases.
- Brand monitoring: Track competitor or brand accounts and compare public account metrics over time.
- Lead generation: Use bio links, descriptions, and profile stats to qualify creator or business accounts.
- Reporting dashboards: Feed public follower, like, and video-count snapshots into recurring reports.
- API workflows: Use the Actor as a TikTok profile data API alternative for public account metadata.
What data can you extract?
The Actor returns one dataset row per public TikTok profile.
| Field | Description |
|---|---|
profileUrl |
Canonical TikTok profile URL |
handle |
TikTok username |
userId |
Public TikTok user ID when available |
secUid |
Public TikTok secure user ID when available |
nickname |
Display name |
signature |
Bio text |
verified |
Whether the profile is verified |
privateAccount |
Whether the account is private |
secret |
Public secret flag when available |
region |
Profile region when available |
language |
Profile language when available |
avatarUrl |
Profile image URL |
followers |
Follower count |
following |
Following count |
likes |
Total profile likes |
videosCount |
Public video count |
diggCount |
Digg count when available |
friendCount |
Friend count when available |
bioLink |
Link shown in the profile bio |
shareTitle |
Public profile share title |
shareDescription |
Public profile share description |
recentVideos |
Optional recent video summaries |
scrapedAt |
Timestamp of extraction |
Example input
{
"handles": ["tiktok", "apify"],
"profileUrls": [{ "url": "https://www.tiktok.com/@tiktok" }],
"maxProfiles": 5,
"includeRecentVideos": true,
"maxVideosPerProfile": 12
}
Example output
{
"profileUrl": "https://www.tiktok.com/@tiktok",
"handle": "tiktok",
"userId": "107955",
"secUid": "MS4wLjABAAAA...",
"nickname": "TikTok",
"signature": "It starts on TikTok",
"verified": true,
"privateAccount": false,
"region": "US",
"language": "en",
"avatarUrl": "https://...",
"followers": 90000000,
"following": 800,
"likes": 350000000,
"videosCount": 1200,
"bioLink": "https://www.tiktok.com/",
"recentVideos": [
{
"id": "1234567890",
"description": "Example public video summary",
"createTime": "2026-06-20T00:00:00.000Z",
"playCount": 100000
}
],
"scrapedAt": "2026-06-20T00:00:00.000Z"
}
How to run it
- Open the Actor on Apify.
- Add TikTok handles, profile URLs, or both.
- Set
maxProfiles. - Decide whether to include recent video summaries.
- Set
maxVideosPerProfileif recent videos are enabled. - Start the run and export the dataset.
Search tips
- Use handles for quick input:
tiktok,apify, and@creatorare accepted. - Use profile URLs for precision: Full URLs help when handles are copied from a browser.
- Deduplicate account lists: The Actor processes unique profiles from combined handles and URLs.
- Track account metrics over time: Schedule the same profile list to build follower and like-count snapshots.
- Disable videos for fast enrichment: Set
includeRecentVideostofalsewhen you only need account-level fields.
Limits and caveats
- The Actor extracts publicly visible TikTok profile data only.
- It does not log in, scrape private profile data, export follower lists, or return one dataset row per video.
- Recent video summaries are optional and depend on what TikTok exposes publicly for a profile.
- Public counts may differ from the TikTok app due to caching, localization, or delayed updates.
Integrations
You can connect TikTok profile data to downstream tools:
- Export CSV or Excel to creator research spreadsheets.
- Send profile rows to a CRM or influencer database.
- Load public profile stats into BI dashboards.
- Trigger webhooks after scheduled profile monitoring runs.
- Combine profile outputs with TikTok hashtag, video, trends, and ads datasets.
API usage
Node.js
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/tiktok-profile-scraper').call({
handles: ['tiktok', 'apify'],
maxProfiles: 5,
includeRecentVideos: true
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
Python
from apify_client import ApifyClient
import os
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('fetch_cat/tiktok-profile-scraper').call(run_input={
'handles': ['tiktok', 'apify'],
'maxProfiles': 5,
'includeRecentVideos': True,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)
cURL
curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~tiktok-profile-scraper/runs?token=YOUR_APIFY_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"handles":["tiktok","apify"],"maxProfiles":5,"includeRecentVideos":true}'
MCP and AI agents
This Actor can be used through the official Apify MCP server at https://mcp.apify.com.
For a focused single-Actor tool setup, use:
https://mcp.apify.com?tools=fetch_cat/tiktok-profile-scraper
Use the same JSON keys shown in the input configuration table, such as handles, profileUrls, maxProfiles, includeRecentVideos, and maxVideosPerProfile.
Support
If a run fails, returns no data, or a field looks wrong, open an issue from the Actor page.
Please include the Apify run ID or run URL, input JSON, one example public URL, query, or input item, what you expected, and what the dataset returned. Small reproducible inputs make parsing or site-layout issues much faster to fix.