TikTok Creator Analytics Scraper
Pricing
Pay per event
TikTok Creator Analytics Scraper
Refresh public TikTok creator profiles and calculate follower, view, like, comment, share, and recent engagement statistics for campaign tracking.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Refresh public creator profiles and recent engagement statistics without building your own TikTok collection pipeline.
TikTok Creator Analytics Scraper accepts creator handles or profile URLs and returns one analysis-ready record per public creator. Each record combines public profile identity, bio, verification, follower, following, video, and cumulative like totals with a bounded sample of recent posts.
The Actor calculates average and median views, average interactions, and engagement rates using the public counters observed in that sample. Optional post-level evidence makes each summary auditable.
What TikTok creator analytics does this Actor collect?
For every completed public creator, the Actor returns:
- current username, display name, bio, profile URL, and public avatar URL;
- verification and privacy flags;
- follower and following totals;
- cumulative profile likes and video count;
- the actual number and date range of recent posts analyzed;
- total and average views, likes, comments, and shares in that sample;
- median sample views;
- average engagements per post;
- engagement rate by views;
- engagement rate by current followers;
- optional sampled post URLs, timestamps, text, and counters;
- an optional campaign or reporting-period label;
- a UTC snapshot timestamp.
One dataset row represents one creator snapshot. Recent posts are included inside that row when includePostDetails is enabled; nested posts carry no additional per-post event.
Who is it for?
Influencer marketing teams
Refresh creator shortlists before outreach and compare recent reach with current audience size.
Agencies
Add a client or campaign label to recurring snapshots, then load the datasets into a campaign dashboard.
Brand partnerships teams
Review recent public views and interactions before deciding which creator profiles need deeper manual evaluation.
Researchers and analysts
Build reproducible public creator datasets with a documented sample size, post window, and collection time.
Data engineers
Send normalized records to Google Sheets, a warehouse, webhook automation, or another Apify integration.
Why use this Actor?
A profile total alone does not show how recent posts performed. This Actor combines the profile snapshot with a bounded recent-post sample and calculates transparent metrics from the returned counters.
Key design choices include:
- One row per creator for simple exports and joins.
- Actual sample size so a partial public window is never presented as a full one.
- Author matching so unrelated upstream posts cannot affect a requested creator's metrics.
- No successful empty rows for private, unavailable, or incomplete creators.
- No charge for failed creators because the per-creator event is emitted only after a complete analytics record exists.
- Bounded input of up to 10 creators and 30 recent posts per creator.
How are engagement rates calculated?
The Actor uses public post counters and does not estimate hidden impressions.
For a sample of recent posts:
engagements = likes + comments + sharesengagement rate by views = total engagements / total views × 100engagement rate by followers = average engagements per post / current followers × 100
Favorites are returned in post details but are not included in the engagement-rate numerator. This keeps the formula easy to reproduce across tools.
The output also includes the sample date window, total counters, averages, median views, and post-level evidence when requested.
Input parameters
| Field | Type | Default | Description |
|---|---|---|---|
creators | string array | required | 1–10 usernames, @handles, or full tiktok.com/@creator URLs. |
recentPostCount | integer | 10 | Maximum newest public posts analyzed per creator, from 3 to 30. |
includePostDetails | boolean | true | Include sampled post evidence inside each creator row. |
snapshotLabel | string | none | Optional campaign, client, or reporting-period label, up to 80 characters. |
Duplicate handles are removed case-insensitively. Only TikTok profile URLs are accepted; unsupported domains and malformed handles fail input validation.
Small creator analysis
{"creators": ["@khaby.lame"],"recentPostCount": 3,"includePostDetails": true}
Campaign snapshot
{"creators": ["@khaby.lame", "@charlidamelio"],"recentPostCount": 10,"includePostDetails": false,"snapshotLabel": "Creator campaign — weekly refresh"}
Getting started
- Open the Actor input page in Apify Console.
- Add one or more public TikTok creator handles or profile URLs.
- Choose a recent-post sample size between 3 and 30.
- Keep post details enabled when you need audit evidence.
- Add a snapshot label when the dataset belongs to a campaign or reporting period.
- Click Start.
- Open the Dataset tab to inspect, export, or integrate the creator rows.
Start with three posts while evaluating the output. Increase the sample only when a wider recent window is useful for the decision.
Output example
This shortened example reflects the Actor's current typed output. Public counters change over time.
{"username": "khaby.lame","profileUrl": "https://www.tiktok.com/@khaby.lame","userId": "127905465618821121","displayName": "Khabane lame","bio": "Se vuoi ridere sei nel posto giusto…","avatarUrl": null,"isVerified": true,"isPrivate": false,"followerCount": 162500000,"followingCount": 81,"totalLikesCount": 2700000000,"totalVideoCount": 1347,"recentPostSampleSize": 3,"recentPostWindowStart": "2026-07-24T16:38:23.000Z","recentPostWindowEnd": "2026-08-04T16:48:51.000Z","totalRecentViews": 12255147,"averageViewsPerPost": 4085049,"medianViewsPerPost": 4154239,"averageEngagementsPerPost": 404674.33,"engagementRateByViews": 9.9062,"engagementRateByFollowers": 0.249,"scrapedAt": "2026-08-06T07:32:38.197Z","recentPosts": [{"postId": "7670219334999969054","url": "https://www.tiktok.com/@khaby.lame/video/7670219334999969054","createdAt": "2026-08-04T16:48:51.000Z","viewCount": 2120080,"likeCount": 265405,"commentCount": 4851,"shareCount": 3213,"engagementCount": 273469,"engagementRateByViews": 12.899}]}
How much does it cost to analyze TikTok creators?
The Actor uses pay-per-event pricing with a one-time run start and one event per completed creator analytics row. Failed, private, unavailable, or incomplete creators do not emit the creator event.
Current Bronze-tier prices are:
- Run start: $0.0045 per run.
- Creator analytics record: $0.20054 per completed creator.
Example Bronze-tier totals:
| Completed creators | Calculation | Total |
|---|---|---|
| 1 | $0.0045 + 1 × $0.20054 | $0.20504 |
| 5 | $0.0045 + 5 × $0.20054 | $1.0072 |
| 10 | $0.0045 + 10 × $0.20054 | $2.0099 |
Apify plan tiers apply distinct discounts. The price depends on completed creator rows, not the number of nested recent posts.
Schedule creator campaign snapshots
Apify schedules can run the same input daily, weekly, or monthly.
A practical workflow is:
- create one Task per campaign or client;
- set
snapshotLabelto a stable campaign name plus reporting period; - schedule the Task;
- retain each run's dataset or copy rows into a warehouse;
- compare snapshots by
username,snapshotLabel, andscrapedAt.
The Actor creates snapshots. It does not keep historical data across runs or claim that a metric changed; your spreadsheet, database, or BI tool performs that comparison.
Export and integration workflows
Dataset rows can be downloaded as JSON, CSV, Excel, XML, or RSS using Apify's dataset tools.
Common workflows include:
- send new rows to Google Sheets with an Apify integration;
- trigger a webhook after each run;
- load snapshots into BigQuery, Snowflake, or PostgreSQL;
- join creator statistics to campaign spend or conversion data;
- use Make, Zapier, or n8n for scheduled enrichment;
- consume dataset items from a Node.js or Python pipeline.
Nested recentPosts is best preserved in JSON. Disable post details for flatter spreadsheet exports.
Run with the Apify API
Replace <APIFY_TOKEN> with an Apify API token.
cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~tiktok-creator-analytics-scraper/runs?token=<APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"creators": ["@khaby.lame"],"recentPostCount": 3,"includePostDetails": true}'
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/tiktok-creator-analytics-scraper').call({creators: ['@khaby.lame'],recentPostCount: 3,includePostDetails: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient("<APIFY_TOKEN>")run = client.actor("automation-lab/tiktok-creator-analytics-scraper").call(run_input={"creators": ["@khaby.lame"],"recentPostCount": 3,"includePostDetails": True,})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items)
Use with Apify MCP
Add the Actor to Claude Code:
claude mcp add --transport http apify \"https://mcp.apify.com?tools=automation-lab/tiktok-creator-analytics-scraper"
Claude Desktop, Cursor, and VS Code setup
Claude Desktop, Cursor, and VS Code can use this HTTP MCP configuration:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/tiktok-creator-analytics-scraper"}}}
Example prompts:
- "Analyze the latest three public posts for
@khaby.lameand summarize engagement by views." - "Create a compact weekly snapshot for these TikTok campaign creators without nested post details."
- "Run the creator analytics Actor, then export the dataset rows to CSV."
Limits and data freshness
- Only public TikTok profiles and public post counters are supported.
- A run accepts at most 10 unique creators.
- The recent sample is bounded to 3–30 posts per creator.
- Deleted, region-restricted, age-restricted, login-gated, or temporarily unavailable posts may reduce the sample.
- The Actor reports the actual sample size and time window; it does not silently claim that the requested count was returned.
- Public counters can change after collection.
- TikTok may change its public delivery routes or anti-automation controls.
- Historical trend calculations are not included; schedule snapshots and compare datasets externally.
- Audience demographics, private Creator Center metrics, revenue, conversions, and hidden impressions are not available.
Failure behavior and partial results
Malformed input fails before extraction.
If some requested creators are unavailable but at least one complete public creator record is produced, the run succeeds with the usable rows and logs the missing handles. Missing creators are not charged as completed creator records.
If no complete analytics row can be produced, the run fails instead of returning a misleading successful empty dataset.
For reproducible campaign reporting, keep the input, sample size, and schedule consistent across snapshots.
Troubleshooting
Why did a creator not appear?
Confirm that the handle is current and the profile is public. Private, removed, region-restricted, or incomplete profiles cannot produce a complete recent engagement sample.
Why is the sample smaller than recentPostCount?
The field is a maximum. TikTok may expose fewer usable recent posts because content is deleted, restricted, or temporarily unavailable. Check recentPostSampleSize and the sample window.
Why is engagement rate null?
A view-based rate is null when the sample has no positive public view total. A follower-based rate is null when the public follower total is zero or unavailable.
Why are spreadsheet cells missing post details?
Nested arrays do not flatten cleanly in every spreadsheet export. Set includePostDetails to false for compact summary rows, or use JSON when post evidence is required.
Should I increase memory or configure a proxy?
No proxy input is needed. The Actor uses its maintained data route and conservative platform configuration. If an upstream route is temporarily unavailable, retry later rather than changing user input to an unsupported proxy mode.
Legality and responsible use
Collect only public information for a legitimate purpose. Follow TikTok's terms, applicable privacy and data-protection laws, contractual obligations, and local rules governing profiling, outreach, and automated decision-making.
Do not use the output to harass creators, infer sensitive traits, bypass access controls, or make high-impact decisions without appropriate review. Public availability does not remove your responsibility to minimize, secure, and delete personal data when required.
TikTok is a trademark of its respective owner. This Actor is an independent tool and is not endorsed by TikTok.
Related Automation Lab Actors
- TikTok Profile Scraper — use when you need profile records or typed recent post rows rather than one aggregated creator analytics row.
- TikTok Scraper — use for broader profile, post, and video URL extraction modes.
- TikTok Video Scraper — use when individual video records are the primary output.
- TikTok Comments Scraper — use for comment and reply analysis on known public videos.
FAQ
Does the Actor require a TikTok login?
No user-supplied TikTok login is required for supported public profiles.
Does it scrape private creator analytics?
No. It does not bypass privacy controls or expose private Creator Center metrics.
Can I use profile URLs and handles together?
Yes. The creators list accepts both and removes duplicate usernames case-insensitively.
Are post details charged separately?
No. One creator event includes the completed profile summary, calculated metrics, and optional nested post evidence.
Can the Actor compare two dates automatically?
No. Use snapshotLabel and scrapedAt, schedule repeated runs, and compare the resulting datasets in your spreadsheet, database, or BI tool.
Is the result a prediction of campaign performance?
No. It is a snapshot of public profile and recent-post counters. Campaign fit and future performance require additional context and human judgment.