TikTok Profile Scraper — Followers, Bio, Engagement & Videos
Pricing
from $3.00 / 1,000 scraped tiktok profiles
TikTok Profile Scraper — Followers, Bio, Engagement & Videos
Extract TikTok profile data in bulk: followers, bio, verified status, video count, hearts, engagement rate & recent video stats. Input usernames or URLs, get structured JSON. Export scraped data, run via API, schedule and monitor runs, or integrate with other tools.
Pricing
from $3.00 / 1,000 scraped tiktok profiles
Rating
0.0
(0)
Developer
Khadin Akbar
Actor stats
0
Bookmarked
4
Total users
3
Monthly active users
4 days ago
Last modified
Categories
Share
TikTok Profile Scraper — Followers, Bio, Engagement Rate, Influencer Score & Video Stats
What does TikTok Profile Scraper do?
TikTok Profile Scraper extracts complete profile data from TikTok accounts in bulk. Give it a list of usernames or profile URLs and get back structured JSON with followers, following count, total hearts, verified status, bio, bio link, region, recent video stats, a pre-calculated engagement rate, and an exclusive Influencer Score (0–100) — everything you need for influencer research, vetting, or lead generation without writing a single line of code.
Why use TikTok Profile Scraper?
- Purpose-built for profiles — unlike general TikTok scrapers, this actor focuses exclusively on profile data, making it faster and simpler to use for bulk profile research
- Influencer Score included — a composite 0–100 score combining follower tier, audience loyalty, verified status, content volume, and engagement. Compare creators at a glance without building your own formula
- Engagement rate when available — computed from recent video performance and returned as a clean percentage where TikTok allows it. Always null-safe — your pipeline won't break if it's unavailable
- Bio links decoded — TikTok wraps external links through their redirect system. This actor decodes them so you get the actual destination URL
- Cheaper than the competition — see pricing comparison below
- Bulk-first design — paste a list of 100+ usernames and scrape them all in one run
What data can TikTok Profile Scraper extract?
| Field | Type | Description |
|---|---|---|
username | string | TikTok handle (without @) |
display_name | string | Public display name |
bio | string|null | Profile bio text |
bio_link | string|null | Decoded clickable link from bio |
follower_count | number | Total followers |
following_count | number | Accounts this user follows |
heart_count | number | Cumulative likes across all videos |
video_count | number | Total videos posted |
verified | boolean | Has verification badge |
is_private | boolean | Private account |
avatar_url | string|null | Profile picture URL |
region | string|null | 2-letter country code |
engagement_rate | number|null | (avg likes+comments+shares) / followers × 100 |
avg_views_per_video | number|null | Average views across recent videos |
influencer_score | number | Composite score 0–100 (see below) |
recent_videos | array | Recent video stats (see below) |
profile_url | string | Full TikTok profile URL |
scraped_at | string | ISO 8601 timestamp |
Each recent_videos item contains: video_id, title, description, play_count, like_count, comment_count, share_count, duration (seconds), hashtags (array), create_time (ISO 8601), cover_url.
Note: Video stats are returned on a best-effort basis. TikTok restricts video list access for some accounts depending on region and rate limits. When video data is unavailable,
recent_videoswill be an empty array andengagement_ratewill benull. Theinfluencer_scoreis always calculated from available profile data.
Influencer Score (0–100)
A composite metric that captures true influence beyond raw follower count:
| Component | Max Points | What it measures |
|---|---|---|
| Follower tier | 30 | Account reach (nano → mega) |
| Heart/follower ratio | 20 | Audience loyalty over lifetime |
| Verified badge | 10 | Platform recognition |
| Video activity | 20 | Content consistency |
| Engagement rate | 20 | Recent content performance |
Score of 70+ = strong influencer. Score below 30 = low reach or low engagement.
How to use TikTok Profile Scraper
Step 1 — Provide usernames
In the TikTok usernames or profile URLs field, enter one username per line:
charlidamelio@khaby.lamehttps://www.tiktok.com/@mrbeast
The @ symbol and full URLs are both accepted.
Step 2 — Set limits
- Max profiles to scrape — cap the total run (useful for cost control)
- Max recent videos per profile — how many recent videos to fetch for engagement rate calculation (default: 12)
- Include recent video stats — disable this if you only want profile-level data and want faster runs
Step 3 — Run and export
Hit Start. Results appear in the Output tab as they complete. Export as JSON, CSV, or Excel.
API usage
import ApifyClient from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('USERNAME/tiktok-profile-scraper').call({profiles: ['charlidamelio', 'khaby.lame', 'mrbeast'],maxResults: 100,scrapeRecentVideos: true,maxVideosPerProfile: 12,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python usage
from apify_client import ApifyClientclient = ApifyClient(token="YOUR_API_TOKEN")run = client.actor("USERNAME/tiktok-profile-scraper").call(run_input={"profiles": ["charlidamelio", "khaby.lame", "mrbeast"],"maxResults": 100,"scrapeRecentVideos": True,"maxVideosPerProfile": 12,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["username"], item["follower_count"], item["engagement_rate"], item["influencer_score"])
Pricing
This actor uses pay-per-event (PPE) pricing at a flat $0.003 per profile scraped — no subscriptions, no minimums.
| Profiles | Cost |
|---|---|
| 10 profiles | ~$0.03 |
| 100 profiles | ~$0.30 |
| 1,000 profiles | ~$3.00 |
| 10,000 profiles | ~$30.00 |
How we compare to competitors
| This actor | clockworks/tiktok-scraper | |
|---|---|---|
| Price per profile | $0.003 | $0.0037 (FREE tier avg) |
| Actor start fee | $0.00005 | $0.001 |
| Single profile via API | $0.00305 | $0.0047 |
| 100 profiles | $0.30 | $0.47 |
| 1,000 profiles | $3.00 | $4.70 |
| Influencer Score (0–100) | ✅ included | ❌ not available |
| Bio link decoded | ✅ included | ❌ not available |
| Purpose-built for profiles | ✅ | ❌ general scraper |
19% cheaper per profile. 97% cheaper on actor start fee. 35% cheaper for single-profile API lookups. Exclusive features: Influencer Score and decoded bio links are not available in any competing actor.
Use cases
Influencer marketing research — Vet potential brand partners before outreach. Check follower count, engagement rate, Influencer Score, and bio link to verify they drive real traffic.
Competitor analysis — Monitor a competitor brand's top creator partners. Track their follower growth and video performance over time by scheduling weekly runs.
Lead generation — Build a list of TikTok creators in a niche for partnership outreach. Export to CSV and import into your CRM.
Audience research — Analyze which creators your target audience follows. Look at region, verified status, and content themes.
Trend monitoring — Track Influencer Scores across a set of creators to spot rising talent before they get expensive.
FAQ
Does this require a TikTok account or cookies? No. This actor scrapes TikTok's public web without requiring any login or authentication.
What happens with private accounts?
Private accounts return profile-level data (followers, bio, video count) but no video content since TikTok doesn't expose that publicly. The is_private field will be true.
Why is the engagement rate null for some profiles?
Engagement rate requires recent video stats. TikTok restricts unauthenticated access to video lists for many accounts — particularly large public accounts. When video data is unavailable, engagement_rate and avg_views_per_video will be null. The Influencer Score is still calculated from follower count, heart count, video count, and verified status.
Can I scrape thousands of profiles in one run?
Yes. Set maxResults to the number you need. For very large lists (10,000+), consider splitting into multiple runs with scheduled tasks.
How fresh is the data? Data is scraped live at run time — it reflects TikTok's current state when you run the actor.
What if a username doesn't exist? The actor logs a warning and skips it. It won't crash or count it as a billed result.
Works great with
- TikTok Scraper — for scraping hashtags, search results, and individual videos
Legal disclaimer
This actor is intended for lawful data collection from publicly available TikTok profiles. Users are responsible for compliance with applicable laws, TikTok's Terms of Service, and data protection regulations (GDPR, CCPA, etc.). Do not use this actor to collect data on minors or for purposes that violate TikTok's policies. Apify is not responsible for how users employ this tool.
Export scraped data, run the scraper via API, schedule and monitor runs, or integrate with other tools.