TikTok Video Metrics avatar

TikTok Video Metrics

Pricing

Pay per usage

Go to Apify Store
TikTok Video Metrics

TikTok Video Metrics

Returns engagement metrics (views, likes, comments, shares, saves, reposts) plus author, music and video metadata for any public TikTok video URL.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Exakta Plus

Exakta Plus

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

8 days ago

Last modified

Share

Apify Actor that returns full engagement metrics for any public TikTok video URL — no login required.

What you get

{
"found": true,
"videoId": "7651786089237138709",
"username": "dienisolita",
"metrics": {
"playCount": 2767,
"diggCount": 411,
"commentCount": 6,
"shareCount": 23,
"collectCount": 31,
"repostCount": 0
},
"author": { "uniqueId": "dienisolita", "followerCount": 1200000, "heartCount": 28900000, "videoCount": 509 },
"music": { "title": "som original", "authorName": "ruan", "original": true },
"video": { "durationSec": 12, "width": 576, "height": 1024 },
"createdAt": "2026-06-16T00:38:12.000Z"
}

playCount = views, diggCount = likes, collectCount = saves, repostCount = reposts.

How it works

  1. Cookie priming — visits tiktok.com to obtain the ttwid cookie that gets past the WAF.
  2. Fetches the video page with that cookie + realistic browser headers.
  3. Parses the embedded __UNIVERSAL_DATA_FOR_REHYDRATION__ JSON (webapp.video-detail).

The signed mobile API (aweme/v1/feed) is not used (it needs X-Gorgon/X-Argus signing).

Usage

GET https://<your-actor>.apify.actor/?url=https://www.tiktok.com/@user/video/123
GET https://<your-actor>.apify.actor/?urls=<url1>,<url2>

Returns the metrics JSON directly. Single URL → object; multiple → array.

Batch run (input)

{ "urls": ["https://www.tiktok.com/@user/video/123"] }

Results are pushed to the default dataset.

Notes

  • Depends on TikTok's internal page JSON, which can change without notice. found: false with a reason is returned on WAF block / private / removed videos.
  • From datacenter IPs the WAF is more aggressive — use Apify proxy (residential) if you see frequent found: false.

Local development

npm install
npm test # parser unit tests
npm start # runs the Actor locally (tsx)