TikTok Creator Analytics Scraper avatar

TikTok Creator Analytics Scraper

Pricing

Pay per event

Go to Apify Store
TikTok Creator Analytics Scraper

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

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

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:

  1. One row per creator for simple exports and joins.
  2. Actual sample size so a partial public window is never presented as a full one.
  3. Author matching so unrelated upstream posts cannot affect a requested creator's metrics.
  4. No successful empty rows for private, unavailable, or incomplete creators.
  5. No charge for failed creators because the per-creator event is emitted only after a complete analytics record exists.
  6. 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 + shares
engagement rate by views = total engagements / total views × 100
engagement 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

FieldTypeDefaultDescription
creatorsstring arrayrequired1–10 usernames, @handles, or full tiktok.com/@creator URLs.
recentPostCountinteger10Maximum newest public posts analyzed per creator, from 3 to 30.
includePostDetailsbooleantrueInclude sampled post evidence inside each creator row.
snapshotLabelstringnoneOptional 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

  1. Open the Actor input page in Apify Console.
  2. Add one or more public TikTok creator handles or profile URLs.
  3. Choose a recent-post sample size between 3 and 30.
  4. Keep post details enabled when you need audit evidence.
  5. Add a snapshot label when the dataset belongs to a campaign or reporting period.
  6. Click Start.
  7. 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 creatorsCalculationTotal
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:

  1. create one Task per campaign or client;
  2. set snapshotLabel to a stable campaign name plus reporting period;
  3. schedule the Task;
  4. retain each run's dataset or copy rows into a warehouse;
  5. compare snapshots by username, snapshotLabel, and scrapedAt.

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 ApifyClient
client = 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().items
print(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.lame and 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.

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.