TikTok Video Stats Scraper — Views, Likes, Shares by URL avatar

TikTok Video Stats Scraper — Views, Likes, Shares by URL

Pricing

from $20.00 / 1,000 profile scrapeds

Go to Apify Store
TikTok Video Stats Scraper — Views, Likes, Shares by URL

TikTok Video Stats Scraper — Views, Likes, Shares by URL

Get TikTok video stats by URL or video ID — play count, likes, comments, shares, saves, reposts, caption, hashtags, music, duration and the creator's follower count. Bulk TikTok video scraper by URL, no login, no cookies, no signature hacks. Charged only for videos actually returned.

Pricing

from $20.00 / 1,000 profile scrapeds

Rating

0.0

(0)

Developer

Nicholas Cheng

Nicholas Cheng

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

9 hours ago

Last modified

Share

TikTok Video Stats Scraper

Give it TikTok video links or IDs, get one row of real numbers per video. Play count, likes, comments, shares, saves, reposts, caption, hashtags, music, duration, and the creator's headline stats. No login, no cookies, no proxy configuration, no signature reverse-engineering. Accepts full links (tiktok.com/@name/video/…), share links (vm.tiktok.com/…, tiktok.com/t/…), or bare 19-digit video IDs.

You are charged only for videos that actually came back. A deleted, private, or mistyped link produces an explanatory row and costs nothing.

InputVideo URLs, share links, or numeric video IDs
OutputOne row per video, numbers as numbers
Price$0.01 per video — the same on every Apify plan
Video listsNot supported. TikTok does not render an account's video list to logged-out clients; you supply the links. See What this Actor cannot do

What you get

Real output from a run:

{
"itemType": "video",
"videoId": "7676868860749827342",
"url": "https://www.tiktok.com/@nasa/video/7676868860749827342",
"description": "The Moon understood the assignment 🌕",
"createdAt": "2026-08-22T14:52:29.000Z",
"durationSeconds": 28,
"playCount": 498000,
"likeCount": 54700,
"commentCount": 913,
"shareCount": 2114,
"collectCount": 4036,
"repostCount": 0,
"hashtags": [],
"mentions": [],
"music": { "id": "7677149386731735821", "title": "original sound - NASA", "authorName": "NASA", "isOriginal": false },
"authorHandle": "nasa",
"author": { "handle": "nasa", "nickname": "NASA", "isVerified": true, "followers": 1400000, "likes": 6600000, "videoCount": 35 },
"isAd": false,
"isPhotoPost": false,
"duetEnabled": true, "stitchEnabled": true,
"locationCreated": "US"
}

playCount, likeCount, commentCount, shareCount, collectCount (saves) and repostCount are the numbers TikTok renders into the page for that video at the moment of the request. author carries the creator's headline counts as of the same request, so a video row is enough for "how big is this creator" without a second lookup. isAd and isPhotoPost are TikTok's own flags.


Input

{
"videoUrls": [
"https://www.tiktok.com/@nasa/video/7676868860749827342",
"https://vm.tiktok.com/ZMabc123/",
"7670634456419519758"
]
}
OptionNotes
videoUrlsFull links, share links (followed to the final URL), or bare video IDs. De-duplicated
maxItemsHard cap on rows for the run

Pricing

$0.01 per video, on every Apify plan — Free, Bronze, Silver, Gold, Platinum, Diamond. Check the Pricing tab: all six columns are identical. The price a listing advertises in its title is not always the price a free-plan run pays; here it is.

One request, one video, one charge. Being straight about the comparison: bulk list scrapers that pull thirty videos per call can quote a lower per-video rate. This Actor fetches the specific videos you point it at, one page each — a different job, priced as one.

What you are not charged for

What happens here
Videos that are goneDeleted, private, region-blocked, or mistyped links produce one row marked chargedForThis: false. Nothing is billed.
Empty or placeholder rowsIf the video data did not come back, no video row is written.
The free planSame code path, same fields, same limits. No demo mode, no row cap, no nulls in place of data.

What this Actor cannot do

  • No video lists for an account. TikTok does not render them to logged-out clients. You bring the links; this Actor brings the numbers.
  • No comments, no search, no hashtag pages. Same restriction.
  • No download URLs. Media files are served with short-lived signed links; this Actor returns the cover image and metadata, not the video file.
  • Photo posts (/photo/ links) are handled by the same code path and flagged isPhotoPost: true, but have been exercised less than videos.
  • For account profiles — follower count, bio, verification — use the TikTok Profile & Video Stats Scraper or the TikTok Follower Count Scraper.

How it stays working

The video page is fetched exactly as a browser without cookies would fetch it, and the stats are read from the JSON TikTok embeds in the page for its own front-end. Three test rounds of twelve videos across five accounts returned 36/36 with zero retries. There is no signature to reverse-engineer and no login to get banned. If TikTok serves a page without video data, the request is retried and then reported as a failure — never filled in with nulls.


Integrating

curl -X POST "https://api.apify.com/v2/acts/nick.cheng~tiktok-video-stats/run-sync-get-dataset-items?token=<TOKEN>" \
-H 'Content-Type: application/json' \
-d '{"videoUrls":["https://www.tiktok.com/@nasa/video/7676868860749827342"]}'

Official clients exist for JavaScript and Python, and results export as JSON, CSV, or Excel.