TikTok Profile Scraper
Pricing
from $0.05 / 1,000 profile extracteds
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
Maintained by CommunityActor 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?
| 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 |
avatarUrl | Profile image URL |
followers | Follower count |
following | Following count |
likes | Total profile likes |
videosCount | Public video count |
bioLink | Link shown in the profile bio |
language | Profile language when available |
recentVideos | Optional recent video summaries |
scrapedAt | Timestamp 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
- Open the actor on Apify.
- Add TikTok handles in TikTok handles.
- Or add full public profile URLs in TikTok profile URLs.
- Choose the maximum number of profiles.
- Decide whether to include recent video summaries.
- Click Start.
- 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 ApifyClientimport osclient = 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().itemsprint(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.
Related actors
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.