TikTok Profile Scraper
Pricing
from $0.50 / 1,000 tiktok profiles
TikTok Profile Scraper
Scrape TikTok public profiles. Returns username, display name, bio, follower count, following count, like count, video count, verified status, and avatar URL. No login required. Pay-per-result.
Pricing
from $0.50 / 1,000 tiktok profiles
Rating
0.0
(0)
Developer
Ale
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Pass in a list of TikTok usernames, get back their public profile data. No login, no API key, no cookies. Just HTTP.
Immune to API signature rotation. Most TikTok scrapers call TikTok's signed JSON API — when TikTok rotates their X-Bogus / X-Gnarly signing keys (every few months), those scrapers go dark until their owners port the new algorithm. This one parses TikTok's server-rendered HTML instead, so the signing-rotation cycle doesn't take it offline. (Caveat: if TikTok ever changes the HTML rehydration schema or gates the HTML behind a JS challenge, that's a different break — we monitor and update. The point is it's structurally independent of the signing treadmill, not invulnerable.)
This actor returns one item per profile — not one per video. If you want clean, structured profile metadata for lead generation, panel research, or competitor tracking, this is the right tool. If you need full video timelines, use a video scraper instead.
What you get
For every username you pass in, the scraper hits TikTok's public profile page and pulls the rehydration block — the same JSON the TikTok webapp uses to render the profile. About 18 fields per profile, including:
- Stable user ID + secUid (survive username changes)
- Username, display name, bio, link in bio
- Follower / following / video counts
- Verified badge, private flag, TikTok Shop seller flag + category
- Account language and account creation timestamp
- High-resolution avatar URL
- Profile URL and scrape timestamp
If TikTok soft-blocks a proxy IP mid-run, the scraper rotates to a fresh session and retries the profile (up to maxIPRotations times, default 5). One bad IP doesn't kill the batch.
Input
{"profiles": ["charlidamelio", "khaby.lame", "mrbeast"]}
Usernames can be plain (charlidamelio), at-prefixed (@charlidamelio), or full URLs (https://www.tiktok.com/@charlidamelio). All three normalize to the same thing.
Available input fields
| Field | Type | Default | Description |
|---|---|---|---|
profiles | array | required | Usernames, @handles, or profile URLs |
maxIPRotations | integer | 5 | How many times to retry a profile with a fresh session if TikTok soft-blocks the IP |
proxyConfiguration | object | RESIDENTIAL | Apify proxy. Residential strongly recommended — TikTok rate-limits datacenter IPs hard |
Output
One item per profile.
{"username": "charlidamelio","user_id": "5831967","sec_uid": "MS4wLjABAAAA-VASjiXTh7wDDyXvjk10VFhMWUAoxr8bgfO1kAL1-9s","display_name": "charli d'amelio","bio": null,"bio_link": "https://youtube.com/@charlidamelio","follower_count": 158300000,"following_count": 1394,"like_count": null,"video_count": 3154,"verified": true,"is_private": false,"is_seller": false,"commerce_category": null,"language": "en","account_created_at": "2015-11-14T12:57:18Z","avatar_url": "https://p16-common-sign.tiktokcdn-eu.com/tos-maliva-avt-0068/...","profile_url": "https://www.tiktok.com/@charlidamelio","scraped_at": "2026-06-12T06:13:15Z"}
A few notes about the fields
user_idis the stable numeric ID. Use it as a primary key — TikTok usernames can change but IDs cannot.bio_linkis the URL the creator placed in their bio (Linktree, YouTube, store, Instagram, etc.). Null when they haven't set one. This is usually the most valuable field for lead generation.is_seller+commerce_categoryflag TikTok Shop sellers. Filter on these to build a panel of creators with monetised shops.account_created_atis useful for trust scoring — brand-new accounts are higher risk for bot/spam analyses.like_count(total likes across all videos) is sometimesnull. TikTok has been quietly removing this from the public profile payload for some accounts — when it's there we return it, when it isn't we set null instead of guessing.follower_count,following_count,video_countare integers, not the abbreviated "158.3M" strings you see on the page.verifiedis the blue check.bioisnullif the profile has no bio set.avatar_urlis the highest-resolution variant TikTok exposes (usually 1080×1080).
Examples
Single profile
{"profiles": ["charlidamelio"]}
Mixed input formats
{"profiles": ["charlidamelio","@khaby.lame","https://www.tiktok.com/@mrbeast"]}
Competitor or influencer panel
{"profiles": ["nike", "adidas", "newbalance", "puma"],"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
TikTok Shop seller research
Pass in a list of usernames, then filter the dataset by is_seller: true to get only the creators with monetised shops, along with their commerce_category.
Pricing
Pay per result.
| Event | Price |
|---|---|
| Actor start | $0.005 |
| Each profile delivered | $0.0005 |
Some quick math:
- 10 profiles = $0.010 total
- 100 profiles = $0.055 total
- 1,000 profiles = $0.505 total
No monthly fees. No minimum spend. You only pay for profiles the scraper actually returns — if TikTok blocks a profile and we can't recover it, you aren't charged for that profile.
How to use it from an AI agent
The actor is exposed on Apify's MCP endpoint:
https://mcp.apify.com?tools=santamaria-automations/tiktok-profile-scraper
This works with Claude Desktop, Claude.ai, Cursor, VS Code, LangChain, and any other MCP client.
Example prompt:
Use tiktok-profile-scraper to get profile data for charlidamelio, khaby.lame, and mrbeast. Show me a table of follower count, bio link, and account age, sorted by follower count.
Caveats
- Only public accounts can be scraped. Private accounts return basic profile fields with
is_private: trueand most stats null. like_countandbiomay benulleven for big accounts — TikTok doesn't always expose those fields in the public payload.- Avatar URLs are signed and expire after a few months. Re-scrape if you need fresh ones.
- Residential proxy is strongly recommended. Datacenter IPs work occasionally but TikTok blocks them aggressively.