TikTok Trending Creator Insights Scraper With Per-Video Stats avatar

TikTok Trending Creator Insights Scraper With Per-Video Stats

Pricing

from $2.99 / 1,000 results

Go to Apify Store
TikTok Trending Creator Insights Scraper With Per-Video Stats

TikTok Trending Creator Insights Scraper With Per-Video Stats

TikTok Trending Creator Scraper extracts data on trending creators from TikTok. Collect usernames, profile links, follower counts, video views, and engagement metrics to discover rising influencers, track trends, and identify collaboration or marketing opportunities in your niche.

Pricing

from $2.99 / 1,000 results

Rating

0.0

(0)

Developer

SimpleAPI

SimpleAPI

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

0

Monthly active users

12 days ago

Last modified

Share

TikTok Trending Creator Insights Scraper With Per-Video Stats reads TikTok's own trending board for a market you choose and returns every creator surfaced there — nick_name, handle_name, follower_cnt, liked_cnt — enriched with real per-video stats: play_count, digg_count, comment_count, share_count, avg_engagement_rate_pct, sound and hashtag attribution. It is built for influencer marketers, social agencies and market researchers who need to know whether a trending creator's videos actually perform, not just how many followers they have. Results ship as structured JSON, ready to sort, filter and export.

It is a TikTok creator scraper that pairs trending-creator discovery with per-video measurement: it reads TikTok's public trending board for a country and time window, then fetches each surfaced creator's recent videos individually to get real, per-video numbers rather than a profile-level average. No TikTok login, cookies or API key are required — the trending board is fetched directly and a proxy is only used, optionally, for the tiktok.com profile and video hops.

Key features:

  • 🌍 Discovery by market and trend window — 28 selectable countries and three TikTok-published windows (7, 30, 90 days)
  • 👤 Core identifying fieldsnick_name, handle_name, avatar_url, tt_link, exact lifetime liked_cnt
  • 📈 Per-video engagement data — plays, likes, comments, shares, engagement rate, duration and post date, measured on each video individually
  • 🎵 Sound and hashtag attribution — sound id/title/author/original flag, plus hashtags and mentions read from TikTok's own caption entity list
  • 🎯 Real filters — follower bucket, minimum plays per video, sort by follower count / engagement rate / total plays
  • 📤 Export formats — JSON, CSV, Excel or XML from the Apify Console, or pulled via the Apify API/client

Every run returns one row per trending creator, carrying identity, market, and rolled-up plus per-video performance data.

FieldExample valueUse case
nick_name"Spider-Man"Display name for reporting
handle_name"spidermanmovie"Unique creator identifier
avatar_url"https://p16-common-sign.tiktokcdn.com/..."Creator avatar for dashboards
follower_cnt5300000Size tier for vetting
liked_cnt108693228Exact lifetime likes (from statsV2, not the rounded embed figure)
tt_link"https://www.tiktok.com/@spidermanmovie"Direct outreach link
tcm_idnullTikTok's aioCreatorID — absent on roughly 43% of board rows
tcm_linknullAlways null; TikTok Creator Marketplace links no longer exist
source_hashtag / source_hashtag_rank"spidermanbrandnewday" / 1Which trending hashtag surfaced this creator, and its board rank
creator_rank_in_hashtag1Rank (1–3) within that hashtag row, not a country-wide rank
country_code / country_requested / country_supported"US" / "US" / trueThe board actually served vs. the one requested
trend_period_days77, 30 or 90
videos_listed / videos_measured / videos_failed12 / 3 / 0Coverage of the per-video measurement
videos[]arrayFull per-video objects — see below
items[]arrayThe base 6-field video mirror: item_id, cover_url, tt_link, vv, liked_cnt, create_time
total_video_plays / avg_plays_per_video112110000 / 37370000.0Per-creator rollups over the measured videos
avg_engagement_rate_pct15.2211Sorting and vetting metric
original_sound_share_pct100.0Share of measured videos using an original sound
top_video_plays / top_video_url / top_video_hashtags104900000 / URL / "spidermanbrandnewday"The creator's single best-performing measured video
latest_video_posted_iso"2026-07-19T14:39:23Z"Most recent posting date among measured videos
sort_by_applied / follower_bucket_applied"engagement" / "1m-10m"Which sort and filter the run actually used
scraped_at / run_idISO timestamp / run idTraceability

Per-video engagement data

Each creator's videos[] array carries one object per measured video: video_id, video_url, description, play_count, digg_count, comment_count, share_count, engagement_rate_pct, duration_seconds, video_width, video_height, is_photo_post, create_time, posted_at_iso, is_ad, is_original, location_created, cover_url, stats_fetched, and, when enabled, hashtags, hashtag_count, mentions, music_id, music_title, music_author, music_is_original, collect_count and save_rate_pct. duration_seconds, video_width and video_height are null — never 0 — on photo/carousel posts, which are flagged by is_photo_post. This is the data that answers "did people actually watch this creator's last few uploads," separate from a static follower count.

Targeting data

country_code, country_requested and country_supported tell you which market's board a creator trended on (not the creator's home country — TikTok does not publish that on this surface). trend_period_days selects one of three creator sets per market. follower_bucket_applied and sort_by_applied confirm which client-side filter and ranking a row survived, since TikTok's board exposes neither natively.

🛠️ Why not build this yourself?

TikTok publishes no public API for its trending-creator board or for aggregating per-video engagement across a creator's recent uploads — this data lives only on unauthenticated web surfaces: the Creative Center trends page, the profile and video embed endpoints, and the creator's own profile and watch pages. Reproducing it means running five different fetch shapes with two different TLS fingerprints (chrome131 for the embed, chrome99_android for the profile SSR and watch pages, because the desktop fingerprint gets a WAF shell there), handling an embed host that answers roughly 4 in 10 requests with a 26-byte HTTP 503 throttle body (measured 2026-08-01), and never zero-filling a value TikTok simply didn't return.

Building and maintaining that yourself means engineering the impersonating HTTP client, the retry/backoff logic, and the anti-bot handling from scratch, then keeping it working as TikTok changes its embed payloads. This Actor already does that: point it at a market and trend window, and it returns clean, typed rows.

Influencer marketing and brand partnerships

Set sortBy to engagement and a followerCount bucket that matches your budget tier, then pull handle_name, avg_engagement_rate_pct and original_sound_share_pct for each candidate. A high follower count with a low avg_engagement_rate_pct is a red flag a follower count alone would never show; top_video_url gives you the creator's best work to review before reaching out via tt_link.

Social media agencies

Run the same market and trend window on a recurring schedule to track which creators keep reappearing on the trending board across weeks, and diff avg_plays_per_video and avg_engagement_rate_pct per handle_name for clients who want ongoing competitive benchmarking rather than a one-off list.

Market research and intelligence

Sweep several markets with extraCountryCodes in one run and compare source_hashtag, avg_engagement_rate_pct and original_sound_share_pct across countries to see which content patterns and sounds cross borders and which stay local — useful groundwork for market-entry or campaign-localization decisions.

AI agents and automated pipelines

Because the output is typed JSON with a stable schema, it drops straight into a RAG index or an agent tool that answers questions like "which trending creators in this market have engagement above 10%" without any HTML parsing on the agent's side.

🔼 Input sample

Only countryCode and sortBy are required; every other field has a working default.

ParameterRequiredTypeDescriptionExample value
countryCodeYesstring (enum)Market whose trending board is read. Default "US". 28 options, including "RU" (not supported upstream — served the US board, flagged in output)."US"
extraCountryCodesNoarrayExtra ISO-2 markets swept in the same run. One board request each.["GB", "MX"]
trendPeriodDaysNostring (enum)"7", "30" or "90". Default "7"."30"
sortByYesstring (enum)"follower", "engagement" or "popularity". Default "follower". Applied client-side — TikTok's board has no sort parameter."engagement"
followerCountNostring (enum)"10k-100k", "100k-1m", "1m-10m", ">10m". Takes priority over followerRange."1m-10m"
followerRangeNostring (enum)Same filter plus "any" and "under-10k". Only used when followerCount is empty."under-10k"
maxItemsNointegerCap on charged creator rows. Min 1, max 252, default 10.20
videosPerCreatorNointegerRecent videos measured per creator. Min 1, max 12, default 3.5
minVideoPlaysNointegerDrop measured videos below this play count from the output and the averages. Min 0.50000
includeVideoHashtagsNobooleanAdds hashtags, hashtag_count, mentions per video. Default true.true
includeSoundDetailsNobooleanAdds music_id, music_title, music_author, music_is_original. Default true.true
includeSaveCountsNobooleanAdds collect_count, save_rate_pct per video. One extra request per measured video. Default false.false
includeCreatorRollupsNobooleanAdds the derived per-creator averages and top-video fields. Default true.true
videoChildDatasetNobooleanMirrors every measured video into a separate TIKTOK-CREATOR-VIDEOS dataset. Never charged. Default false.false
failOnEmptyResultsNobooleanAbort with an error instead of finishing green on zero creators. Default true.true
proxyConfigurationNoobjectUsed only for tiktok.com hops; the trending board is fetched directly.{"useApifyProxy": false}
{
"countryCode": "US",
"extraCountryCodes": ["GB", "MX"],
"trendPeriodDays": "7",
"sortBy": "engagement",
"followerCount": "1m-10m",
"maxItems": 20,
"videosPerCreator": 5,
"minVideoPlays": 50000,
"includeVideoHashtags": true,
"includeSoundDetails": true,
"includeSaveCounts": false,
"includeCreatorRollups": true,
"videoChildDataset": false,
"failOnEmptyResults": true,
"proxyConfiguration": { "useApifyProxy": false }
}

Common pitfall: setting both followerCount and followerRange does not combine them — followerCount always wins whenever it is present and non-empty, and followerRange is silently ignored. Leave followerCount empty if you want to use one of followerRange's two extra options ("any" or "under-10k").

🔽 Output sample

Output is typed, normalized JSON with a consistent schema across every run — absent values are always null, never "" or a fake 0. Download results as JSON, CSV, Excel or XML from the Apify Console, or read them through the Apify API.

{
"tcm_id": "7517276699046887479",
"user_id": "6588054178086781000",
"nick_name": "Spider-Man",
"avatar_url": "https://p16-common-sign.tiktokcdn.com/...",
"country_code": "US",
"follower_cnt": 5300000,
"liked_cnt": 108693228,
"tt_link": "https://www.tiktok.com/@spidermanmovie",
"tcm_link": null,
"items": [
{
"item_id": "7665011403241065758",
"cover_url": "https://p16-sign.tiktokcdn-us.com/...",
"tt_link": "https://www.tiktok.com/@spidermanmovie/video/7665011403241065758",
"vv": 6900000,
"liked_cnt": 1600000,
"create_time": 1784649563
}
],
"handle_name": "spidermanmovie",
"creator_rank_in_hashtag": 1,
"source_hashtag": "spidermanbrandnewday",
"source_hashtag_rank": 1,
"trend_period_days": 7,
"country_requested": "US",
"country_supported": true,
"country_is_trending_market_not_creator_home": true,
"videos_listed": 12,
"videos_measured": 3,
"videos_failed": 0,
"videos": [
{
"video_id": "7665011403241065758",
"video_url": "https://www.tiktok.com/@spidermanmovie/video/7665011403241065758",
"description": "...",
"play_count": 6900000,
"digg_count": 1600000,
"comment_count": 10200,
"share_count": 117100,
"engagement_rate_pct": 24.9754,
"duration_seconds": 150,
"video_width": 720,
"video_height": 1280,
"is_photo_post": false,
"create_time": 1784649563,
"posted_at_iso": "2026-07-19T14:39:23Z",
"is_ad": false,
"is_original": true,
"location_created": "US",
"cover_url": "https://p16-sign.tiktokcdn-us.com/...",
"stats_fetched": true,
"hashtags": ["spidermanbrandnewday"],
"hashtag_count": 1,
"mentions": [],
"music_id": "7665011403241065758",
"music_title": "original sound",
"music_author": "Spider-Man",
"music_is_original": true
}
],
"liked_cnt_source": "profile_statsV2",
"save_counts_fetched": null,
"tcm_link_available": false,
"sort_by_applied": "engagement",
"follower_bucket_applied": "1m-10m",
"total_video_plays": 112110000,
"avg_plays_per_video": 37370000.0,
"avg_likes_per_video": 3733333.33,
"avg_comments_per_video": 23433.33,
"avg_shares_per_video": 472700.0,
"avg_engagement_rate_pct": 15.2211,
"avg_saves_per_video": null,
"avg_video_duration_seconds": 108.67,
"original_sound_share_pct": 100.0,
"latest_video_posted_iso": "2026-07-19T14:39:23Z",
"top_video_plays": 104900000,
"top_video_url": "https://www.tiktok.com/@spidermanmovie/video/7618550044995669279",
"top_video_hashtags": "spidermanbrandnewday",
"scraped_at": "2026-08-01T00:00:00Z",
"run_id": "aBcDeFgHiJkLmNoPq"
}

🎯 How do you filter and target specific creators?

TikTok's trending board itself accepts no query parameters beyond market and window, so every real narrowing control in this Actor runs client-side, after discovery:

  1. Market and window, not category or free text — there is no search query here; you pick a countryCode (plus optional extraCountryCodes) and a trendPeriodDays window, and the board decides which creators surfaced. Different windows return genuinely different creator sets from the same country.
  2. Quality and size thresholdsfollowerCount (or followerRange) narrows the creator list to a size band before enrichment runs, so you don't spend requests measuring creators outside your target tier. minVideoPlays then drops individual under-performing videos from a creator's arrays and averages, so one viral outlier or one dead upload doesn't skew avg_plays_per_video.
  3. Ranking, not filteringsortBy chooses whether the final list is ordered by follower_cnt, avg_engagement_rate_pct or total_video_plays. Switching away from "follower" makes the run enrich up to 3× maxItems discovered creators before trimming to maxItems, so it costs more requests (though you are only charged for the rows actually pushed).
  4. VolumemaxItems caps charged rows (max 252); videosPerCreator caps how many recent videos get measured per creator (max 12). There is no pagination beyond adding markets or windows — see "How many creators can I get per run?" below.

Three real examples:

{ "countryCode": "US", "sortBy": "engagement", "followerCount": "100k-1m", "maxItems": 20 }
{ "countryCode": "US", "extraCountryCodes": ["GB", "MX"], "trendPeriodDays": "30", "sortBy": "popularity", "maxItems": 50 }
{ "countryCode": "US", "sortBy": "follower", "minVideoPlays": 50000, "videosPerCreator": 6, "includeSaveCounts": true }

▶️ Want to try other TikTok scrapers?

ScraperWhat it extracts
TikTok Data Scraper — Video, Hashtag & Sound PerformanceTracks videos, hashtags and sounds across runs with play/like/comment deltas and view velocity, plus profiles and comments
TikTok Shop Data Scraper: Reviews & Sentiment AnalysisScrapes TikTok Shop product reviews and sentiment for a given keyword or store
YouTube Channel Scraper and PlaylistsA channel's videos, Shorts, live streams, community posts and playlist tabs, one row per entity
YouTube Most Replayed Scraper With Channel DetailsMost-replayed heatmap peaks per video plus the channel behind it
Pinterest Profile Scraper With Email & Website ContactsPublic Pinterest profiles plus contact details pulled from bio and linked site
Reddit Subreddit Members Scraper By Time WindowAccounts that posted or commented in a subreddit within a chosen time window

How to extract TikTok data programmatically

This Actor runs as a standard Apify Actor: one apify-client call starts the run with your input JSON, and structured JSON comes back from the dataset — no separate signup or API key beyond your Apify account token.

Python example

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("<username>/tiktok-trending-creator-insights-scraper-with-per-video-stats").call(
run_input={
"countryCode": "US",
"sortBy": "engagement",
"followerCount": "1m-10m",
"maxItems": 20,
}
)
for creator in client.dataset(run["defaultDatasetId"]).iterate_items():
print(creator["handle_name"], creator["avg_engagement_rate_pct"], creator["follower_cnt"])

Export to spreadsheets or CRM

Download the default dataset as CSV directly from the Apify Console, or via the API's dataset export endpoint. nick_name and handle_name map cleanly to a "Creator" column, follower_cnt and avg_engagement_rate_pct to numeric outreach-priority columns, and tt_link to a clickable contact link — ready to import into a spreadsheet or CRM as-is, since nested videos[]/items[] arrays flatten to JSON strings in CSV.

Scraping public TikTok data — the trending board, public profiles and public videos — is generally legal in most jurisdictions, since this Actor only reads pages TikTok already serves to any anonymous visitor, without login or authentication bypass. That said, fields like nick_name, handle_name and avatar_url identify an individual creator, which makes them personal data under regimes like the GDPR and CCPA. If you store or process this data in bulk, you need a lawful basis (typically legitimate interest for public business/marketing research) and should honor deletion requests and TikTok's own Terms of Service on automated access. Consult legal counsel for commercial applications involving bulk storage of personal data.

❓ FAQ

Videos that fail to load are counted in videos_failed and excluded from every average — never emitted with a fabricated zero. tcm_link is always null: TikTok Creator Marketplace links no longer exist on any live public surface, and the field is kept only for output-shape compatibility.

Can I get per-video stats along with the creator list?

Yes — that is the Actor's core function. Each creator row's videos[] array carries real, individually fetched play_count, digg_count, comment_count, share_count, engagement_rate_pct, duration_seconds, plus hashtag and sound attribution when those inputs are left on (both default to true). videosPerCreator controls how many recent videos are measured, up to TikTok's own embed limit of roughly 10–12 listed videos.

How accurate are the follower and lifetime-likes figures?

follower_cnt is read directly off the trending board as TikTok publishes it. liked_cnt is fetched separately from the creator's statsV2 data because the embed surface's own like figure is rounded; liked_cnt_source reports "profile_statsV2" when that exact figure was successfully read, and null when the profile page could not be reached.

How many creators can I get per run?

TikTok's trending board returns 3 hashtags × 3 creators — a hard ceiling of 9 creators per (market, trend window) combination, with no second page. This was measured across 84 board slices with zero exceptions. Add markets via extraCountryCodes or run different trendPeriodDays windows to raise the total; with all 28 markets in one run the absolute ceiling is 252 creators (the Actor's maxItems maximum), which is why that number is the schema's hard cap, not an arbitrary one.

What's the best way to narrow the creator list to a follower tier?

Set followerCount to one of "10k-100k", "100k-1m", "1m-10m" or ">10m". It is applied client-side after the board loads, since TikTok's board itself exposes no follower filter, and it always overrides followerRange when both are set.

Does this scraper work with Claude, ChatGPT, and AI agent frameworks?

It has no dedicated MCP server. Any agent framework that can call an HTTP endpoint or the apify-client library can trigger a run and read back the resulting dataset the same way the Python example above does.

How does this differ from other TikTok scrapers in this catalogue?

This Actor is scoped specifically to trending-creator discovery plus per-video measurement. TikTok Data Scraper — Video, Hashtag & Sound Performance instead tracks specific videos, hashtags and sounds over time with delta metrics; TikTok Shop Data Scraper: Reviews & Sentiment Analysis is scoped to shop product reviews, not creator videos. Pick this one when the question is "which trending creators are actually worth reaching out to."

Can I use this without a TikTok API key or developer account?

Yes. Every surface this Actor reads — the trending board, profile embeds, video embeds and public profile pages — is public and unauthenticated. You only need an Apify account to run it; a proxy is optional and used only for the tiktok.com hops, not the trending board itself.

Conclusion

TikTok Trending Creator Insights Scraper With Per-Video Stats turns TikTok's own trending board into a filterable, typed dataset of creators with real per-video performance attached — not a follower count guessed at from a profile page. It's built for influencer marketers, agencies and researchers who need to separate a creator who is actually watched from one who merely has a big number on their profile. Run it from the Apify Console or the apify-client, point it at a market and trend window, and get back structured JSON ready for the next step in your pipeline.