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

Export public TikTok profiles by handle or URL: followers, likes, bios, links, verification, account settings, commerce and seller signals, profile ratios, live status, and recent videos when TikTok exposes them.

Pricing

from $0.05 / 1,000 profile extracteds

Rating

0.0

(0)

Developer

Hanna Nosova

Hanna Nosova

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

3

Monthly active users

a day ago

Last modified

Share

Export public TikTok profiles from handles or URLs, including follower and like counts, bios, verification, avatars, bio links, account settings, commerce and seller signals, profile ratios, live status, and recent video summaries when TikTok exposes them.

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 tiktok or 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.
  • Business and account signals: Export commerce category, seller and organization flags, account settings, profile-tab availability, and live-room status when public.
  • Ready-made ratios: Use follower/following and likes/video ratios without calculating them downstream.
  • 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.

Ready-to-run examples

Use these saved Store examples as starting points. Open any example to prefill the Actor input, then adjust URLs, keywords, limits, or filters for your own run.

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.

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
secretPublic secret flag when available
regionProfile region when available
languageProfile language when available
avatarUrlProfile image URL
followersFollower count
followingFollowing count
likesTotal profile likes
videosCountPublic video count
diggCountDigg count when available
friendCountFriend count when available
bioLinkLink shown in the profile bio
shareTitlePublic profile share title
shareDescriptionPublic profile share description
accountCreatedAtPublic account creation timestamp when exposed
handleModifiedAt / nicknameModifiedAtPublic profile-change timestamps when exposed
commentSetting / duetSetting / stitchSetting / downloadSettingTikTok's public numeric account-setting values
commerceUser / commerceCategoryCommerce-account signal and category
tiktokSeller / isOrganizationSeller and organization flags
liveRoomId / isLivePublic live-room signal
likesPerVideoTotal likes divided by public video count
followerFollowingRatioFollowers divided by following count
recentVideosAvailable / recentVideosCountWhether TikTok exposed video summaries and how many were returned
recentVideosOptional recent video summaries
scrapedAtTimestamp of extraction

Pricing

This Actor uses Apify pay-per-event pricing. A run is charged once after valid input is accepted, then once for each profile saved. Failed or skipped profiles do not incur the profile event.

ChargeFreeBronzeSilverGoldPlatinumDiamond
Run start$0.005$0.005$0.005$0.005$0.005$0.005
1,000 profiles saved$0.10408$0.0905$0.07059$0.0543$0.0362$0.02534

Apify may also charge platform usage for compute, storage, proxies, or data transfer outside this Actor pricing. Check the Actor run and the Apify Pricing tab for the exact cost shown to your account.

Input configuration

SettingJSON keyUse it forExample
TikTok handleshandlesUsernames with or without @.["tiktok", "apify"]
TikTok profile URLsprofileUrlsFull public TikTok profile URLs.[{"url":"https://www.tiktok.com/@tiktok"}]
Maximum profilesmaxProfilesCap unique profiles processed from handles and URLs.5
Include recent video summariesincludeRecentVideosAdd nested recent public video summaries when available.true
Maximum recent videos per profilemaxVideosPerProfileCap nested recent video summaries per profile.12
Maximum concurrencymaxConcurrencyLimit profiles processed in parallel.3
Processing deadlinerunTimeSecsStop new network work before the Actor timeout.180
Proxy configurationproxyConfigurationRoute requests through Apify Proxy by default, or supply your own proxy URLs. Disable it explicitly to use direct traffic.{"useApifyProxy":true}

Example input

{
"handles": ["tiktok", "apify"],
"profileUrls": [{ "url": "https://www.tiktok.com/@tiktok" }],
"maxProfiles": 5,
"includeRecentVideos": true,
"maxVideosPerProfile": 12,
"maxConcurrency": 3,
"runTimeSecs": 180
}

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/",
"commerceUser": true,
"commerceCategory": "Media & Entertainment",
"isOrganization": true,
"isLive": false,
"likesPerVideo": 291666.67,
"followerFollowingRatio": 112500,
"recentVideosAvailable": false,
"recentVideosCount": 0,
"recentVideos": [],
"scrapedAt": "2026-06-20T00:00:00.000Z"
}

How to run it

  1. Open the Actor on Apify.
  2. Add TikTok handles, profile URLs, or both.
  3. Set maxProfiles.
  4. Decide whether to include recent video summaries.
  5. Set maxVideosPerProfile if recent videos are enabled.
  6. Start the run and export the dataset.

Search tips

  • Use handles for quick input: tiktok, apify, and @creator are 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 includeRecentVideos to false when 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 opportunistic. As of July 2026, logged-out TikTok profile HTML often contains profile data but an empty video list; recentVideosAvailable makes that explicit instead of implying that zero public videos exist.
  • TikTok can return verification challenges or rate limits. The Actor retries these responses with backoff; an optional proxy configuration can improve reliability.
  • A mixed run with usable and skipped profiles finishes with RUN_SUMMARY.status set to PARTIAL. A run with no saved profiles also records a PARTIAL RUN_SUMMARY with skipped-input reasons so monitoring can distinguish TikTok blocking or unavailable targets from code crashes.
  • 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 Claude CLI, add the Apify MCP server with this single-Actor tool filter:

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

Example MCP JSON configuration:

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

Example prompts:

  • "Scrape the TikTok profiles tiktok and apify and return follower counts."
  • "Run TikTok Profile Scraper for these profile URLs and export the dataset as CSV."
  • "Monitor this creator list weekly and summarize changes in followers and likes."

Use the same JSON keys shown in the input configuration table, including handles, profileUrls, maxProfiles, includeRecentVideos, maxVideosPerProfile, maxConcurrency, runTimeSecs, and proxyConfiguration.

FAQ

Does this Actor require a TikTok login?

No. It extracts publicly visible TikTok profile data only.

Can I input both handles and URLs?

Yes. The Actor combines handles and profileUrls, deduplicates them, and processes up to maxProfiles.

Does it return one row per video?

No. It returns one row per profile. Recent videos are nested summaries when enabled and available.

Can I monitor follower growth?

Yes. Schedule repeat runs and compare saved profile rows over time.

Is this a TikTok user scraper or account scraper?

Yes, for public account/profile metadata. It does not export private user data or follower lists.

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.

Privacy and data handling

This Actor runs with Apify limited permissions and only processes data needed for the documented run. It uses content lookup inputs and public posts, profiles, videos, comments, or channel metadata needed for the requested output to produce the output dataset and sends requests to public Tiktok Profile pages/endpoints; results are stored in Apify run storage for your account. FetchCat does not use your inputs or outputs for advertising, does not use them for model training, and does not retain them outside the Apify run except for transient support debugging when you explicitly share run details. You are responsible for using the Actor lawfully, respecting the target site's terms, and avoiding unnecessary personal or sensitive data in inputs.