TikTok Metrics Scraper - Video & Profile Stats avatar

TikTok Metrics Scraper - Video & Profile Stats

Pricing

from $1.40 / 1,000 tiktok metric rows

Go to Apify Store
TikTok Metrics Scraper - Video & Profile Stats

TikTok Metrics Scraper - Video & Profile Stats

Scrape public TikTok video and profile metrics from video URLs, share links, profile URLs, and @handles. Collect views, likes, comments, shares, saves, reposts, profile stats, IDs, captions, hashtags, music, timestamps, precision labels, provenance, and clean CSV/API rows.

Pricing

from $1.40 / 1,000 tiktok metric rows

Rating

0.0

(0)

Developer

Chronometrica

Chronometrica

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

0

Monthly active users

2 days ago

Last modified

Categories

Share

TikTok Metrics Scraper

๐Ÿ“Š What does TikTok Metrics Scraper do?

TikTok Metrics Scraper collects public TikTok video metrics and profile metrics from TikTok video URLs, share links, profile URLs, and @handles.

Use it when you need clean TikTok data for creator research, influencer reporting, campaign tracking, competitor monitoring, social analytics, dashboards, warehouse loads, and scheduled metric snapshots.

The Actor returns flat CSV/API-friendly rows with TikTok views, likes, comments, shares, saves, reposts, profile stats, IDs, captions, hashtags, music, thumbnails, timestamps, status fields, and metric quality labels.

This Actor does not log in, use cookies, scrape private TikTok content, collect comment text, or bypass TikTok access controls. It only returns data that is available from public TikTok surfaces at run time.

With TikTok Metrics Scraper, you can:

  • ๐Ÿ“ˆ Track TikTok video performance from known video URLs and share links.
  • ๐Ÿ‘ค Discover recent public videos from TikTok profile URLs and @handles.
  • ๐Ÿ’ฌ Collect public views, likes, comments, shares, saves, and reposts when available.
  • ๐Ÿง‘โ€๐ŸŽค Add public profile metrics such as followers, following, total likes, and video counts.
  • ๐Ÿ†” Extract useful IDs such as profileId and postId.
  • ๐ŸŽต Save captions, hashtags, music metadata, thumbnails, duration, and created dates.
  • ๐ŸŽฏ Check metric precision and availability instead of treating every count as equally exact.
  • ๐Ÿ“ฆ Export results as JSON, JSONL, CSV, Excel, XML, RSS, or HTML.

๐Ÿ“ฆ What TikTok metric data can I extract?

Each dataset row represents one TikTok video.

Data groupExample fields
๐Ÿ”— URL identityinputUrl, postUrl, profileUrl
๐Ÿ†” TikTok IDsprofileId, postId, postType
๐Ÿงพ Content detailsdescription, publishedAt, thumbnailUrl, videoDurationSeconds, hashtags, musicTitle
๐Ÿ‘ค Profile detailsprofileHandle, profileName, profileAvatarUrl, profileVerified
๐Ÿ“Š Video metricsviews, likes, comments, shares, saves, reposts
๐Ÿ‘ฅ Profile metricsprofileFollowersCount, profileFollowingCount, profileLikesCount, profileVideosCount
๐ŸŽฏ Metric qualitypostMetricStatus, profileMetricStatus
๐Ÿšฆ Row statusstatus, statusReason, scrapedAt

Metric availability depends on what TikTok exposes publicly for each video or profile. If a public source does not expose a metric, the Actor marks that metric as unavailable instead of filling it with a fake zero.

โš™๏ธ Can I use this Actor through an API?

Yes. You can run TikTok Metrics Scraper manually in Apify Console or use it through:

  • Apify API
  • Python SDK
  • Node.js SDK
  • Webhooks
  • Scheduled runs
  • Apify integrations

This makes it useful for social media dashboards, influencer lists, competitive intelligence, creator databases, campaign reporting, data warehouses, and automated market research workflows.

๐ŸŽฏ Why scrape TikTok video and profile metrics?

TikTok public metrics help you understand which creators, videos, sounds, hashtags, campaigns, and competitors are gaining traction.

Use caseHow TikTok metric data helps
๐Ÿ“ˆ Track creator performanceMonitor public engagement across known creator video URLs.
๐Ÿง‘โ€๐ŸŽค Research influencersCompare profile audience size, video volume, and recent video performance.
๐Ÿ“ฃ Measure campaignsCollect repeatable snapshots for campaign videos, branded posts, and promotions.
๐Ÿ•ต๏ธ Monitor competitorsTrack public video metrics for competing brands, products, or creators.
๐ŸŽต Analyze content signalsKeep captions, hashtags, music, thumbnails, duration, and created dates together.
๐Ÿ“Š Build reporting workflowsFeed normalized TikTok metrics into dashboards, spreadsheets, and BI tools.
๐Ÿ”Ž Audit metric availabilitySeparate available, partial, unavailable, and failed rows cleanly.

๐Ÿ’ต How much does scraping TikTok metrics cost?

TikTok Metrics Scraper uses Pay Per Event pricing: $2.00 per 1,000 TikTok metric rows ($0.002 per row), with platform usage included. Higher Apify subscription tiers may receive lower per-row pricing on the Actor's Pricing tab.

Start with a small batch of 3 to 10 URLs when testing. The run summary and dataset statuses show which URLs resolved, which returned public metrics, which returned no public metrics, and whether any URLs failed.

๐Ÿš€ How do I use TikTok Metrics Scraper?

  1. Create or log in to your Apify account.
  2. Open TikTok Metrics Scraper.
  3. Choose Auto-detect URLs and handles, Video URLs only, or Profile discovery only.
  4. Paste TikTok video URLs, share links, profile URLs, @handles, or a mix of them.
  5. Set the maximum number of metric rows to collect.
  6. Leave the default settings for your first run.
  7. Click Start.
  8. Open the Output tab to inspect the dataset and run summary.
  9. Download your data in JSON, JSONL, CSV, Excel, XML, RSS, or HTML.

โฌ‡๏ธ Input

The main input is startUrls. Paste at least one TikTok video URL, share link, profile URL, or @handle. https:// is optional for normal TikTok URLs.

For a quick test, run a known public MrBeast TikTok video:

{
"mode": "auto",
"startUrls": ["https://www.tiktok.com/@mrbeast/video/7654638524729216287"],
"maxItems": 25,
"includeProfileMetrics": true
}

In Auto-detect URLs and handles mode, you can paste direct video URLs and profile inputs into the same list. The Actor combines direct videos and profile-discovered videos, deduplicates them, and applies one shared metric row cap.

๐Ÿ”— TikTok URLs and handles

Supported input shapes include:

www.tiktok.com/@creator/video/1234567890123456789
https://www.tiktok.com/@creator/video/1234567890123456789
https://www.tiktok.com/t/ZTxxxxxxxx/
https://vm.tiktok.com/ZMxxxxxxxx/
https://vt.tiktok.com/ZSxxxxxxxx/
https://www.tiktok.com/@creator
@creator
creator
creator.name

Best results usually come from direct public video URLs and public profile URLs that open in a logged-out browser.

๐Ÿ‘ค Profile discovery

Use profile discovery when you want the Actor to find recent public videos from a TikTok profile before collecting metrics.

{
"mode": "profileUrls",
"startUrls": ["@mrbeast"],
"maxItems": 25,
"maxItemsPerProfile": 10,
"includeProfileMetrics": true
}

Use maxItemsPerProfile to control how many public video URLs are discovered from each profile. The shared maxItems cap still limits total output rows for the whole run.

๐ŸŽ›๏ธ Settings

OptionWhat it does
modeauto to detect mixed inputs, knownUrls for video URLs only, or profileUrls for profiles.
startUrlsTikTok video URLs, share links, profile URLs, @handles, or raw handles such as mrbeast.
maxItemsMaximum video metric rows to save across the whole run.
maxItemsPerProfileMaximum public video URLs to discover from each profile input.
includeProfileMetricsAdds best-effort public follower, following, total likes, and video counts.
maxConcurrencyControls how many TikTok URLs are resolved at the same time.
requestTimeoutSecsMaximum wait time for each public TikTok request.
failOnNoMetricsFails the run if none of the input URLs expose public metrics.

โฌ†๏ธ Output sample

The results are stored in the default dataset. Each result is one TikTok video row.

{
"platform": "tiktok",
"inputUrl": "www.tiktok.com/@examplecreator/video/7651772538292342046",
"postUrl": "https://www.tiktok.com/@examplecreator/video/7651772538292342046",
"postId": "7651772538292342046",
"postType": "video",
"description": "Example caption text #marketing #tiktok",
"publishedAt": "2026-06-22T12:00:00.000Z",
"thumbnailUrl": "https://p16-sign-va.tiktokcdn.com/example.jpg",
"videoDurationSeconds": 42,
"hashtagNames": ["marketing", "tiktok"],
"musicTitle": "Example sound",
"musicAuthorName": "Example Artist",
"profileId": "1234567890123456789",
"profileHandle": "examplecreator",
"profileName": "Example Creator",
"profileUrl": "https://www.tiktok.com/@examplecreator",
"profileVerified": true,
"views": 1234567,
"likes": 23456,
"comments": 345,
"shares": 456,
"saves": 567,
"reposts": 12,
"postMetricStatus": [
{
"metric": "views",
"status": "present",
"precision": "exact"
}
],
"profileFollowersCount": 1250000,
"profileFollowingCount": 418,
"profileLikesCount": 24800000,
"profileVideosCount": 412,
"profileMetricStatus": [
{
"metric": "profileFollowersCount",
"status": "present",
"precision": "exact"
}
],
"status": "ok",
"statusReason": null,
"scrapedAt": "2026-06-22T12:05:00.000Z"
}

๐ŸŽฏ Metric precision and availability

TikTok public pages can expose full integers, compact display counts, or already rounded public counts. TikTok Metrics Scraper labels metric precision instead of pretending all numbers are equally exact.

PrecisionMeaning
exactTikTok public data exposed a full integer that does not look display-rounded.
display_roundedTikTok public data exposed a compact display value such as 1.2K, 3.4M, or 5B.
likely_roundedTikTok public data exposed a large bucketed integer that is probably already rounded.
unavailableThe public source did not expose that metric.

postMetricStatus and profileMetricStatus show metric-by-metric status and precision. The top-level metric columns hold the counts.

When both a compact display count and a full integer are present, the Actor prefers the full integer. It does not emit derived engagement-rate columns. Calculate rates downstream from the returned counts and precision labels if you need them.

๐Ÿšฆ Output statuses

StatusMeaning
okAt least one public engagement metric was collected.
resolved_no_public_metricsThe URL resolved, but public sources did not expose engagement counts.
blocked_or_challengedTikTok returned a challenge, login wall, or access page before metrics loaded.
invalid_urlThe input is not a valid TikTok URL or @handle.
unsupported_urlThe input is a valid TikTok URL, but that TikTok surface is not supported.
failedA request, parser, or runtime error happened.

๐Ÿงญ Practical notes

This Actor collects public TikTok data only. It does not use login, cookies, private accounts, or private content access.

Profile discovery is best effort. Some profiles expose profile metrics but not recent public video URLs in the public surfaces available at run time.

TikTok counts change continuously. Treat each run as a point-in-time snapshot. For monitoring, schedule repeated runs and compare rows by postId and scrapedAt.

For large TikTok URL lists, split work into smaller runs. This keeps retries, timeouts, and result inspection easier to manage.

โ“ Common questions

Can this scrape TikTok saves and reposts?

The dataset includes fields for saves and reposts. The Actor collects them when TikTok exposes those metrics in public page data. If TikTok does not expose them for a specific video, the fields are marked unavailable with postMetricStatus.

Can this scrape TikTok comments?

This Actor collects the public comment count. It does not scrape comment text, comment authors, or comment threads.

Can this scrape TikTok followers?

Yes, when TikTok exposes public profile metrics. The Actor can return follower, following, total likes, and video counts for the creator profile.

Can I use it for TikTok competitor tracking?

Yes. Paste public competitor video URLs, profile URLs, or handles, then schedule the Actor to collect repeat metric snapshots over time.

Can I run it through the Apify API?

Yes. The Actor is designed for both Apify Console runs and API workflows. Use the flat output rows for dashboards, data warehouses, exports, and monitoring pipelines.

Why are some metrics unavailable?

TikTok does not expose every metric on every public surface. When a metric is missing, the Actor keeps the row, marks the metric unavailable, and includes status fields so your pipeline can handle the row cleanly.