Tiktok Profile Scraper
Pricing
from $1.60 / 1,000 profile results
Tiktok Profile Scraper
TikTok Profile Scraper extracts public TikTok profile data including bio, followers, following, likes, verification, profile URL, and recent videos. Use it for creator research, influencer discovery, competitor monitoring, lead generation, and analytics.
Pricing
from $1.60 / 1,000 profile results
Rating
0.0
(0)
Developer

Delowar Munna
Actor stats
0
Bookmarked
3
Total users
2
Monthly active users
7 hours ago
Last modified
Categories
Share
Extract structured TikTok profile data for influencer discovery, creator research, competitor monitoring, lead generation, and analytics workflows.
What does TikTok Profile Scraper do?
TikTok Profile Scraper is an Apify Actor that extracts public TikTok profile data from one or many creators. Provide profile URLs, usernames, or search keywords to discover and scrape creators at scale.
For each profile, the scraper returns:
- Identity — username, display name, user ID, avatar, verification status
- Engagement stats — followers, following, likes, video count
- Business signals — bio links, email from bio, Instagram/YouTube handles, business category
- Contact hints — boolean flags summarizing available contact signals
- Recent videos — video metadata when available in page data
- Metadata — timestamps, source type, success/error status
It complements the TikTok scraper suite:
- TikTok Video Scraper — deep video-level data
- TikTok Comment Scraper — comment extraction
- TikTok Trend & Discovery Scraper — trending content discovery
Together they support: discover trends → inspect videos → inspect comments → inspect creators
Why use TikTok Profile Scraper?
- Find creators by keyword — discover TikTok profiles in any niche without needing URLs upfront
- Clean influencer-research output — structured fields designed for agencies and marketers
- Contact and business clue extraction — detect public email patterns, external links, and linked social handles
- Batch-friendly structure — designed for spreadsheets, BI tools, CRM imports, and AI pipelines
- Traceable and normalized data — includes input echo, timestamps, and consistent field naming
Input
| Parameter | Type | Default | Description |
|---|---|---|---|
profiles | string[] | [] | TikTok profile URLs or usernames |
searchKeywords | string[] | [] | Keywords to search for TikTok user profiles |
resultsPerKeyword | integer | 10 | Max profiles to scrape per search keyword (1–100) |
includeRecentVideos | boolean | true | Include recent video data when available |
maxRecentVideos | integer | 12 | Number of recent videos to inspect per profile (1–30) |
includePinnedVideos | boolean | true | Identify pinned videos when visible |
includeBusinessLinks | boolean | true | Extract external links and linked accounts |
includeContactHints | boolean | true | Infer contact/business clues from bio text |
proxyConfiguration | object | — | Apify proxy configuration (residential recommended) |
You can use profiles and searchKeywords together or separately. At least one must be provided.
Accepted profile formats
- Full URL:
https://www.tiktok.com/@examplecreator - With @:
@examplecreator - Username only:
examplecreator
Duplicates are automatically removed before processing.
Sample input: Scrape profiles directly
{"profiles": ["https://www.tiktok.com/@tesla.flex","@jeremyjudkins2","teslatheband"],"includeRecentVideos": true,"maxRecentVideos": 12,"includeBusinessLinks": true,"includeContactHints": true,"proxyConfiguration": {"useApifyProxy": true}}
Sample input: Discover profiles by keyword
{"searchKeywords": ["tesla", "fitness coach"],"resultsPerKeyword": 20,"includeRecentVideos": true,"maxRecentVideos": 6,"includeBusinessLinks": true,"includeContactHints": true}
Output
Each output item represents one TikTok profile. Results are available in JSON, CSV, Excel, and through three dataset views in the Apify console.

Output tab: Profiles
The Profiles view shows identity, stats, and verification status at a glance.
{"username": "tesla.flex","nickname": "Brandon | Tesla Flex","profileUrl": "https://www.tiktok.com/@tesla.flex","verified": false,"privateAccount": false,"followerCount": 3000000,"followingCount": 593,"likesCount": 159700000,"videoCount": 2916,"signature": "⚡️Founder of TeslaTok⚡️\n⬇️Tesla Accessories & More⬇️","bioLink": "link.me/brandon","isBusinessLike": true,"scrapedAt": "2026-03-16T04:20:50.018Z","success": true}
Output tab: Contact & Business
The Contact & Business view focuses on business signals, email, social handles, and contact clues — ideal for lead generation and outreach.
{"username": "itsbennyblanco","nickname": "benny blanco","verified": true,"signature": "i know u r wondering why i'm verified\ninquiries - bennyblancoinfo@icloud.com","bioLink": "https://lnk.to/friendskeepsecrets","bioEmail": "bennyblancoinfo@icloud.com","instagramHandle": null,"youtubeChannel": null,"businessCategory": null,"isBusinessLike": true,"contactHints": {"hasEmailInBio": true,"hasExternalLink": true,"hasInstagram": false,"hasYouTube": false},"followerCount": 8500000,"likesCount": 304300000}
Output tab: Recent Videos
The Recent Videos view shows recent video metadata when available in TikTok's page data.
{"username": "jeremyjudkins2","nickname": "Jeremy Judkins","followerCount": 238000,"videoCount": 4326,"recentVideos": []}
Note: TikTok currently loads video data via a signed API call that requires browser-generated tokens. The
recentVideosarray may be empty when video data is not included in the page source. Profile metadata and stats are always extracted.
Full output example (all fields)
{"input": "@the_golden_tesla","username": "the_golden_tesla","profileUrl": "https://www.tiktok.com/@the_golden_tesla","userId": "6776639922013406213","secUid": "MS4wLjABAAAA5SIGjZAamxjcC7nRbxzBpKlTXYVb5BlE9YV-cVqtkVd-hp5opp_CuW4MrXUb7yYu","nickname": "The Golden Tesla","signature": "Thegoldentesla@gmail.com\n⬇️ CHECK THIS ⬇️","avatarUrl": "https://p16-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/bde603046bacefd1eb283d00b7d552ee~tplv-tiktokx-cropcenter:1080:1080.jpeg","verified": false,"privateAccount": false,"language": "en","followerCount": 2100000,"followingCount": 330,"likesCount": 37000000,"videoCount": 915,"friendCount": 126,"bioLink": "https://beacons.ai/the_golden_tesla","bioEmail": "Thegoldentesla@gmail.com","instagramHandle": null,"youtubeChannel": null,"businessCategory": null,"isBusinessLike": true,"accountCreatedAt": "2020-04-24T02:40:38.000Z","recentVideos": [],"contactHints": {"hasEmailInBio": true,"hasExternalLink": true,"hasInstagram": false,"hasYouTube": false},"scrapedAt": "2026-03-16T04:20:50.135Z","sourceType": "search","success": true}
Error output example
When a profile cannot be found or extracted, the actor returns a structured error record:
{"input": "@nonexistentprofile","success": false,"error": "Profile not found","sourceType": "username","scrapedAt": "2026-03-16T04:21:00.000Z"}
Output fields reference
Identity and profile
| Field | Type | Description |
|---|---|---|
input | string | The original input (URL, username, or @handle) |
username | string | TikTok unique username |
profileUrl | string | Canonical profile URL |
userId | string | Numeric TikTok user ID |
secUid | string | TikTok security user ID |
nickname | string | Display name |
signature | string | Bio text |
avatarUrl | string | Profile image URL |
verified | boolean | Blue check verification status |
privateAccount | boolean | Whether the account is private |
language | string | Profile language code |
Public counters
| Field | Type | Description |
|---|---|---|
followerCount | number | Number of followers |
followingCount | number | Number of accounts following |
likesCount | number | Total likes received across all videos |
videoCount | number | Number of videos posted |
friendCount | number | Mutual follower count (when available) |
Business and contact signals
| Field | Type | Description |
|---|---|---|
bioLink | string | External website URL from profile |
bioEmail | string | Email address extracted from bio text |
instagramHandle | string | Instagram handle from linked accounts or bio |
youtubeChannel | string | YouTube channel from linked accounts or bio |
businessCategory | string | TikTok business category (e.g., "Automotive & Transportation") |
isBusinessLike | boolean | Inferred business/creator account flag |
contactHints | object | Summary flags: hasEmailInBio, hasExternalLink, hasInstagram, hasYouTube |
Content and metadata
| Field | Type | Description |
|---|---|---|
accountCreatedAt | string | Account creation date (ISO 8601, when available) |
recentVideos | array | Recent video objects with stats (when available in page data) |
scrapedAt | string | Extraction timestamp (ISO 8601) |
sourceType | string | How the profile was provided: "url", "username", or "search" |
success | boolean | Whether extraction succeeded |
error | string | Error message (only present on failed items) |
How keyword search works
When you provide searchKeywords, the scraper discovers TikTok profiles by querying multiple external search engines in parallel:
- Startpage and Brave Search are used as primary engines (most reliable)
- DuckDuckGo, Google, and Bing are included as best-effort supplemental sources
- Queries run in up to 3 batches with early termination — stops as soon as enough profiles are found
- Results from all engines are merged and deduplicated by username
- Discovered profiles are then scraped for full profile data
Each keyword can return up to resultsPerKeyword profiles (default 10, max 100).
Use cases
- Influencer discovery — find creators in any niche by keyword, extract profiles for campaign research
- Competitor monitoring — track competing brand or creator accounts over time
- Lead generation — collect bios, external links, emails, and business contact clues at scale
- Creator database building — build structured datasets for outreach, analytics, or CRM import
- Trend follow-up — after discovering trending content, inspect the creators behind it
- AI enrichment — feed creator data into classification, scoring, or summarization pipelines
Tips and best practices
- Start small — test with 2–3 profiles or a single keyword first to verify output format
- Mix input modes — use URLs, @handles, and keywords in the same run
- Use with other actors — discover trending creators with TikTok Trend & Discovery Scraper, then feed their usernames here for full profile data
- Schedule for monitoring — run on a schedule to track creator growth over time
- Enable contact hints — the
contactHintsobject provides quick boolean flags useful for filtering leads
Proxy configuration
Residential proxies are recommended for reliable TikTok scraping, especially for larger batches.
{"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
The scraper works without proxies for small batches and keyword search, but may encounter rate limiting on larger runs.
Integrations
Connect TikTok Profile Scraper to your existing tools and workflows:
- Google Sheets — export profile data directly to spreadsheets
- Slack / Email — get notifications when scraping runs complete
- Webhooks — trigger downstream workflows automatically
- Apify API — access results programmatically for custom integrations
- Other actors — combine with TikTok Video Scraper, Comment Scraper, and Trend & Discovery Scraper for full-funnel creator intelligence
FAQ
How many profiles can I scrape in one run? There is no hard limit. Small batches (10–50) run reliably. Larger batches depend on proxy quality and TikTok's rate limiting.
How does keyword search find profiles? The scraper queries external search engines (Startpage, Brave, DuckDuckGo, Google, Bing) for TikTok profile pages matching your keyword. It merges and deduplicates results across all engines, then scrapes each discovered profile for full data.
Why is recentVideos empty?
TikTok currently loads video data via a signed API call that requires browser-generated tokens. Profile metadata, stats, and business signals are always extracted from the page source. Video data will populate automatically if TikTok restores it to the page source.
Why are some fields null?
Fields like businessCategory, friendCount, bioEmail, and instagramHandle depend on what the creator has configured and what TikTok includes in its page data. They are extracted on a best-effort basis.
What if a profile is not found?
The actor returns a record with success: false and a descriptive error message. Other profiles in the batch continue processing normally. Profiles discovered via keyword search that return 404 are silently skipped.
Does this work for private accounts? Private accounts return limited data (username, nickname, verification status). Most counters and content fields will not be available.
Can I use this without proxies? Yes. The scraper works without proxies for small batches and keyword search. For larger runs or more consistent results, residential proxies are recommended.
