TikTok Profile Scraper — Followers, Engagement & Score
Pricing
from $3.00 / 1,000 scraped tiktok profiles
TikTok Profile Scraper — Followers, Engagement & Score
Turn public TikTok usernames or profile URLs into one creator row with followers, bio, engagement rate, and a derived Influencer Score from 0 to 100. Built for influencer vetting with no login. Pay per event plus Apify platform usage.
Pricing
from $3.00 / 1,000 scraped tiktok profiles
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
1
Bookmarked
935
Total users
320
Monthly active users
2 days ago
Last modified
Categories
Share
TikTok Profile Scraper
TikTok Profile Scraper turns public TikTok usernames or profile URLs into one dataset record per creator. Influencer marketers, talent scouts, and lead-gen operators receive followers, bio, decoded bio link, verification, video count, hearts, a recent-video engagement rate, and a derived Influencer Score from 0 to 100, with source_url and scraped_at on every row. Public profiles only; no login. Influencer Score is a derived heuristic from public stats, independent of TikTok's own ranking.
Best fit for this Actor
- Start with public TikTok usernames or
https://www.tiktok.com/@handleURLs when the job is creator vetting and you want one row per creator. - Use
scrapeRecentVideosso engagement rate can be computed from recent public video stats when TikTok exposes them. - Continue with TikTok Trending Videos Scraper when you want current public TikTok videos on a topic, then pass creator handles into
profiles.
How this workflow compares with Clockworks TikTok Profile Scraper
This Actor is a focused alternative for creator vetting. It starts from a shortlist of public handles and returns one structured profile row with followers, bio, engagement rate, and a derived Influencer Score. Clockworks TikTok Profile Scraper remains the broader choice for a full public video archive, transcripts, follower graphs, comments, and downloads.
| Decision | This Actor | Clockworks TikTok Profile Scraper | Fit |
|---|---|---|---|
| Scope | One row per public creator, with optional recent-video stats for engagement | Profile metadata plus one billed row per video (default 100 posts), plus paid add-ons for filters, followers, comments, downloads, and transcripts | Creator vetting vs video archive |
| Billing | Pay per event for each saved profile, plus Apify platform usage | Pay per event for each dataset result (video row), plus add-on events and platform usage | Open the live Pricing tab on each Actor |
| Same-job cost | Ten public creators produce ten profile rows and ten primary profile events | The same ten creators at the Clockworks default of 100 videos produce about 1,000 billed results | Equal 10-creator shortlist |
| Effective efficiency | One usable creator record per billed profile event | About 100 billed video rows per creator at default settings before a partnership decision | Cost per usable creator row |
| Output | Homogeneous profile fields including influencer_score, engagement_rate, bio_link, source_url, scraped_at | Per-video records with author metadata, media URLs, music, and optional transcript or download fields | Downstream CRM vs media pipeline |
| Integrations | Apify REST API, schedules, webhooks, and hosted Apify MCP | Apify REST API, schedules, webhooks, and the wider Clockworks TikTok Actor suite | Automation path |
| Broader product | Profile-card workflow only | Video archive, stories and reposts, follower graphs, comments, downloads, transcripts | Clockworks when those suite jobs are required |
Clockworks TikTok Profile Scraper is a trademark of its owner. This independent Actor is not affiliated, associated, or endorsed by Clockworks TikTok Profile Scraper.
Creator vetting workflow: from a shortlist to a partnership decision
An influencer manager starts with ten public handles from a campaign brief. They submit those values in profiles, keep recent video stats on, and read one dataset row per creator. follower_count, engagement_rate, influencer_score, and bio_link decide who is worth outreach. They export the dataset, keep source_url and scraped_at for provenance, and schedule the same input when the shortlist needs a fresh snapshot.
Quick start input
{"profiles": ["example.creator","https://www.tiktok.com/@sample.studio"],"maxResults": 10,"scrapeRecentVideos": true,"maxVideosPerProfile": 12}
profiles accepts bare usernames, @handles, or full profile URLs. maxVideosPerProfile defaults to 12, one public profile page of recent videos for engagement.
Input reference
| Field | Type | What it controls |
|---|---|---|
profiles | array of strings | Public TikTok usernames or profile URLs to turn into creator rows. Required. |
maxResults | integer | Cap on profile rows processed from the top of the list. Default 10, maximum 10000. |
scrapeRecentVideos | boolean | Collect recent public video stats so engagement rate can be computed. Default true. |
maxVideosPerProfile | integer | How many recent public videos to collect per creator. Default 12, maximum 100. |
proxyConfiguration | object | Apify Proxy settings for public profile requests. Default uses Apify Proxy. |
What data you receive
One dataset item represents one public TikTok creator. Useful fields: username, display_name, bio, bio_link, follower_count, following_count, heart_count, video_count, verified, is_private, engagement_rate, avg_views_per_video, influencer_score, recent_videos, profile_url, source_url, scraped_at.
Influencer Score (0–100) is computed from public profile stats: follower tier (0–30), heart-to-follower ratio (0–20), verified badge (0–10), video activity (0–20), and recent engagement rate (0–20). It is a derived heuristic, independent of TikTok's own ranking. When TikTok withholds the recent-video list, recent_videos is [], engagement_rate is null, and the score still uses the remaining profile components.
{"username": "example.creator","display_name": "Example Creator","bio": "Weekly studio vlogs and product tests","bio_link": "https://example.com/studio","follower_count": 128000,"following_count": 420,"heart_count": 5600000,"video_count": 186,"verified": false,"is_private": false,"avatar_url": "https://example.com/avatar.jpg","region": "US","engagement_rate": 3.24,"avg_views_per_video": 14200,"influencer_score": 58,"recent_videos": [{"video_id": "7000000000000000000","title": "studio tour","description": "studio tour #creator","play_count": 18000,"like_count": 940,"comment_count": 42,"share_count": 18,"duration": 27,"hashtags": ["creator"],"create_time": "January 15, 2026 12:00 UTC","cover_url": "https://example.com/cover.jpg"}],"profile_url": "https://www.tiktok.com/@example.creator","scraped_at": "January 15, 2026 12:04 UTC","source_url": "https://www.tiktok.com/@example.creator"}
scraped_at is the collection time for that observation. source_url is the public profile URL used for the request.
Use through the API
Replace $APIFY_TOKEN with your secret Apify API token. The Actor slug is khadinakbar/tiktok-profile-scraper.
curl "https://api.apify.com/v2/acts/khadinakbar~tiktok-profile-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"profiles":["example.creator"],"maxResults":10,"scrapeRecentVideos":true,"maxVideosPerProfile":12}'
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('khadinakbar/tiktok-profile-scraper').call({profiles: ['example.creator', 'sample.studio'],maxResults: 10,scrapeRecentVideos: true,maxVideosPerProfile: 12,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
After the Actor reaches a terminal state, read the default dataset for the creator rows and the OUTPUT / RUN_SUMMARY key-value records for the terminal outcome.
Use with AI agents through Apify MCP
Vet these 10 public TikTok creators. Return username, follower_count, engagement_rate, influencer_score, bio_link, source_url, and scraped_at. Stop at 10 rows, read the dataset, and keep source URLs and collection times.
Call khadinakbar/tiktok-profile-scraper with a profiles array. Inspect the terminal outcome, read the dataset, preserve source_url and scraped_at, and keep maxResults aligned with your cost bound. Hosted Apify MCP setup lives at mcp.apify.com.
Connect the workflow
When the next job is a full public video archive, transcripts, follower graphs, or downloads, continue with Clockworks TikTok Profile Scraper and use that Actor's video rows.
Pricing
This Actor uses Pay per event plus Apify platform usage. Open the live Pricing tab for current event details, and use Apify's run cost controls to keep the workflow aligned with your budget.
The primary billable event is one saved creator profile. Actor start is charged from run memory, and compute or proxy usage is additional.
Best results
- Provide canonical public handles or profile URLs you already intend to vet.
- Keep
maxResultsmatched to the shortlist so cost stays aligned with the number of creator rows. - Schedule the same
profileslist at the cadence your campaign needs soscraped_atvalues stay comparable.
Builder's note
I learned while wiring the extractor that TikTok often withholds the recent-video list for large public accounts, so I kept influencer_score computable from profile-level followers, hearts, video count, and verification even when engagement_rate is null. That way a creator-vetting row stays useful.
Responsible use
Collect only public or authorized TikTok profile data and follow applicable laws, TikTok's terms of service, and personal-data rules in your jurisdiction. Intended for legitimate creator research and lead lists.