TikTok Profile Scraper avatar

TikTok Profile Scraper

Pricing

from $0.05 / 1,000 profile extracteds

Go to Apify Store
TikTok Profile Scraper

TikTok Profile Scraper

Extract public TikTok profile bios, follower counts, likes, avatars, links, verification status, and recent video summaries.

Pricing

from $0.05 / 1,000 profile extracteds

Rating

0.0

(0)

Developer

Hanna Nosova

Hanna Nosova

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

an hour ago

Last modified

Categories

Share

Extract public TikTok profile data from handles or profile URLs. Get creator bios, follower counts, like counts, verification status, avatars, profile links, and optional recent video summaries in a clean dataset.

Public data only: the actor saves one row per profile and starts with conservative limits so first runs stay predictable.

What does TikTok Profile Scraper do?

TikTok Profile Scraper turns a list of public TikTok usernames into structured profile records.

Use it to monitor creator accounts, enrich influencer lists, compare audience sizes, and export TikTok profile information to spreadsheets, databases, dashboards, or automated workflows.

The actor accepts TikTok handles such as tiktok or full URLs such as https://www.tiktok.com/@tiktok.

Who is it for?

  • 📣 Social media marketers tracking creators and brand accounts.
  • 🤝 Influencer agencies building prospect lists.
  • 🧑‍💻 Creator SaaS teams enriching user profiles.
  • 📊 Analysts monitoring follower and like count changes.
  • 🛡️ Reputation teams watching official or impersonation accounts.
  • 🧾 Sales and partnerships teams qualifying TikTok creators.

Why use this TikTok profile scraper?

  • Simple profile-list input.
  • One dataset row per TikTok creator.
  • Public profile stats in export-friendly fields.
  • Optional nested recent video summaries when available.
  • Works with Apify schedules, API, webhooks, and integrations.
  • Designed for repeat monitoring jobs and lead enrichment workflows.

What TikTok profile data can I extract?

FieldDescription
profileUrlCanonical TikTok profile URL
handleTikTok username
userIdPublic TikTok user ID when available
secUidPublic TikTok secure user ID when available
nicknameDisplay name
signatureBio text
verifiedWhether the profile is verified
privateAccountWhether the account is private
avatarUrlProfile image URL
followersFollower count
followingFollowing count
likesTotal profile likes
videosCountPublic video count
bioLinkLink shown in the profile bio
languageProfile language when available
recentVideosOptional recent video summaries
scrapedAtTimestamp of extraction

How much does it cost to scrape TikTok profiles?

This actor uses pay-per-event pricing.

You pay a small start fee for each run and a per-profile fee for each TikTok profile saved to the dataset.

Current pricing is a $0.005 run start event plus tiered per-profile pricing. The BRONZE profile price is $0.0000905 per saved profile (about $0.09 per 1,000 profiles), with lower per-profile prices on higher Apify tiers.

How to scrape TikTok profiles

  1. Open the actor on Apify.
  2. Add TikTok handles in TikTok handles.
  3. Or add full public profile URLs in TikTok profile URLs.
  4. Choose the maximum number of profiles.
  5. Decide whether to include recent video summaries.
  6. Click Start.
  7. Export the dataset as JSON, CSV, Excel, XML, RSS, or via API.

Input options

TikTok handles

Add usernames with or without @.

Examples:

["tiktok", "apify"]

TikTok profile URLs

Add full URLs if you already have profile links.

[{ "url": "https://www.tiktok.com/@tiktok" }]

Maximum profiles

Limits how many unique profiles are processed from the combined handles and URLs.

Include recent video summaries

When enabled, the actor includes recent public video summaries if TikTok exposes them for the profile.

Some profiles return profile stats only. In that case the profile result is still saved.

Maximum recent videos per profile

Caps the number of nested video summaries per profile.

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": "MS4wLj...",
"nickname": "TikTok",
"signature": "One TikTok can make a big impact",
"verified": true,
"privateAccount": false,
"language": "en",
"avatarUrl": "https://...",
"followers": 94400000,
"following": 3,
"likes": 459900000,
"videosCount": 1450,
"bioLink": "https://linktr.ee/tiktok",
"recentVideos": [],
"scrapedAt": "2026-06-15T20:00:00.000Z"
}

Tips for best results

  • Use public TikTok profiles.
  • Remove duplicate handles before very large runs.
  • Start with a small run to confirm your input format.
  • Use schedules if you need daily or weekly monitoring.
  • Use dataset exports for spreadsheet workflows.
  • Use webhooks if you need to trigger downstream automation.

Common use cases

Influencer discovery

Build creator lists with follower counts, bios, links, and verification status.

Creator CRM enrichment

Add TikTok stats to creator records in Airtable, HubSpot, Salesforce, or a custom database.

Brand monitoring

Track official accounts, partner accounts, executives, and public impersonation candidates.

Competitive research

Compare creator audience sizes and profile positioning across a niche.

Reporting dashboards

Feed TikTok profile metrics into Looker Studio, Power BI, Tableau, or internal BI tools.

Integrations

TikTok Profile Scraper works with Apify integrations and automation tools.

  • Send results to Google Sheets.
  • Trigger Zapier or Make scenarios with Apify webhooks.
  • Store results in a database through the Apify API.
  • Run scheduled profile checks every day or week.
  • Connect exported datasets to dashboards.

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'],
maxProfiles: 1,
});
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'],
'maxProfiles': 1,
})
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=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"handles":["tiktok"],"maxProfiles":1}'

MCP usage

Use this actor through the Apify MCP server from Claude Code, Claude Desktop, or other MCP-compatible tools.

MCP URL:

https://mcp.apify.com/?tools=fetch_cat/tiktok-profile-scraper

Claude Code setup:

$claude mcp add apify-tiktok-profile --transport http --url "https://mcp.apify.com/?tools=fetch_cat/tiktok-profile-scraper"

Claude Desktop JSON config:

{
"mcpServers": {
"apify-tiktok-profile": {
"url": "https://mcp.apify.com/?tools=fetch_cat/tiktok-profile-scraper"
}
}
}

Example prompts:

  • "Scrape the TikTok profile for @tiktok and summarize the account."
  • "Get follower counts for these TikTok handles and return a CSV-ready table."
  • "Run TikTok Profile Scraper weekly for my creator watchlist."

Scheduling

Create an Apify schedule to run the actor repeatedly.

Good schedules include:

  • Daily monitoring of important creators.
  • Weekly influencer list refreshes.
  • Monthly reporting snapshots.

Webhooks

Use Apify webhooks to send profile data to another service after a run finishes.

Typical webhook workflows:

  • Run succeeded → fetch dataset → update CRM.
  • Run failed → notify Slack.
  • Dataset created → import to warehouse.

Data export formats

You can export results as:

  • JSON
  • CSV
  • Excel
  • XML
  • HTML table
  • RSS

Limitations

TikTok can change public page structure and availability.

Private, deleted, restricted, or unavailable profiles may be skipped.

Recent videos are included only when the public profile response provides video summaries.

Troubleshooting

Why did a profile not appear in the dataset?

The profile may be private, deleted, misspelled, unavailable in the run location, or temporarily not returned by TikTok.

Check the run log for a warning with the skipped handle.

Why are recent videos empty?

Some public profile responses include stats but not recent videos. The profile row is still useful for bios, followers, likes, and account metadata.

Can I scrape private TikTok accounts?

No. This actor is intended for public data only.

Legality and responsible use

This actor extracts publicly available TikTok profile information. Make sure your use case complies with applicable laws, platform terms, and privacy obligations.

Do not use scraped data for spam, harassment, discrimination, or other harmful activity.

FAQ

Does this actor require a TikTok login?

No. It is designed for public profile data.

Can I input both handles and URLs?

Yes. The actor combines both lists and removes duplicates.

Does it return one row per video?

No. The MVP returns one row per profile with optional nested recentVideos.

Can I monitor follower growth?

Yes. Schedule repeated runs and compare exported datasets over time.

Can I scrape thousands of profiles?

The actor supports batch inputs, but start with small tests and increase gradually.

What happens with duplicate handles?

Duplicates are processed once per run.

Is the dataset ready for spreadsheets?

Yes. Core profile fields are flat columns. Recent videos are nested JSON when included.

Support

If a run fails or misses a public profile you expected, open an issue with the run URL, input, and the handle you expected to see.