TikTok Video Scraper (Views, Likes, Comments, Shares)
Pricing
from $1.40 / 1,000 video scrapeds
TikTok Video Scraper (Views, Likes, Comments, Shares)
Paste TikTok video URLs or IDs and get each video's stats: views, likes, comments, shares, saves, description, hashtags, date, duration, music, cover and the author's followers. No login. Export to Excel, CSV or JSON.
Pricing
from $1.40 / 1,000 video scrapeds
Rating
0.0
(0)
Developer
Julio Barcellos Rangel
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
22 days ago
Last modified
Categories
Security
Limited permissionsShare
TikTok Video Scraper takes a list of TikTok video links or IDs and returns each video's stats and details in one table: views, likes, comments, shares, saves, description, hashtags, date, duration, music, cover and the author's followers. It is a TikTok video stats scraper for marketers, agencies and researchers who report on campaigns or track viral content. Use it to check TikTok video views in bulk or to export TikTok video data to Excel, CSV or JSON, with no login.
What does TikTok Video Scraper do?
You paste TikTok video links. For each one, the scraper opens the public video page, reads the data TikTok embeds in that page and saves one row per video with the numbers, the caption, the music and the author's basic stats.
It accepts these forms, mixed in the same list:
| Input form | Example |
|---|---|
| Video URL | https://www.tiktok.com/@charlidamelio/video/7137423965982592302 |
| Photo (slideshow) URL | https://www.tiktok.com/@user/photo/... |
| Short link | https://vm.tiktok.com/… |
| Video ID (15 to 22 digits) | 7137423965982592302 |
Short links are followed to the real video page. A link without https:// gets it added. Exact duplicate lines are removed. No TikTok account, cookies or API key are needed.
What data can you extract?
| Field | What it means | Example |
|---|---|---|
input | The line from your list | https://www.tiktok.com/@charlidamelio/video/7137423965982592302 |
videoId | TikTok video ID | 7137423965982592302 |
url | Canonical video link | https://www.tiktok.com/@charlidamelio/video/7137423965982592302 |
description | Caption text (empty string when there is none) | They rejected my application to Hogwarts… |
hashtags | Hashtags used in the caption | ["illusion", "magic", "harrypotter"] |
createdAt | Publish time (ISO 8601) | 2022-08-29T22:10:18.000Z |
views | Play count | 22000000 |
likes | Like count | 2100000 |
comments | Comment count | 18800 |
shares | Share count | 17300 |
saves | Times saved to favorites | 83191 |
reposts | Repost count | 0 |
durationSeconds | Video length in seconds | 11 |
width | Video width in pixels | 576 |
height | Video height in pixels | 1024 |
cover | Cover image URL | https://p19-common-sign.tiktokcdn-us.com/… |
isSlideshow | The post is a photo slideshow | false |
isAd | TikTok marks the post as an ad | false |
language | Caption language code TikTok detected (un when unknown) | en |
locationCreated | Country code where the video was posted | US |
categories | TikTok's content category labels | ["Pets", "Animals", "Nature"] |
authorUsername | Author's handle | charlidamelio |
authorName | Author's display name | charli d’amelio |
authorId | Author's numeric user ID | 5831967 |
authorVerified | Author has the verified badge | true |
authorFollowers | Author's follower count | 160300000 |
authorTotalLikes | Total likes on all the author's videos | 12400000000 |
authorVideos | Number of videos on the author's profile | 3292 |
musicTitle | Sound title | Streets x Kiss it better |
musicAuthor | Sound author | :p |
musicId | TikTok sound ID | 7090403288818584347 |
musicOriginal | The sound is an original sound | true |
scrapedAt | When the row was collected | 2026-10-11T20:12:30.850Z |
error | Only on error rows: why the video was not returned | Video not found or private |
All counts are numbers, so you can compute engagement rate right away, for example (likes + comments + shares) / views.
How to use TikTok Video Scraper
- Open TikTok Video Scraper in Apify Console (sign in or create an Apify account).
- In Videos, paste video URLs, short links or video IDs, one per line. Hundreds at once are fine.
- Leave Proxy on the default Apify Proxy unless you have a reason to change it.
- Click Start. The log shows how many videos were returned.
- Open the Output tab, then click Export to download JSON, CSV, Excel or HTML.
- Optional: save the input as a task and schedule it to follow how campaign or influencer videos grow every day.
Input
| Field | Type | Default | Description |
|---|---|---|---|
videos | array of strings (required) | ["https://www.tiktok.com/@charlidamelio/video/7137423965982592302"] | TikTok video URLs (tiktok.com/@user/video/...), short links (vm.tiktok.com/...) or video IDs. |
proxy | object | {"useApifyProxy": true} | Apify Proxy settings. |
There is no "max results" setting: each line returns one row, either the video or an error row.
Example input:
{"videos": ["https://www.tiktok.com/@charlidamelio/video/7137423965982592302","https://www.tiktok.com/@zachking/video/6768504823336815877"],"proxy": {"useApifyProxy": true}}
Output example
A real row from the latest run (the cover link is shortened):
{"input": "https://www.tiktok.com/@charlidamelio/video/7137423965982592302","videoId": "7137423965982592302","url": "https://www.tiktok.com/@charlidamelio/video/7137423965982592302","description": "","hashtags": [],"createdAt": "2022-08-29T22:10:18.000Z","views": 22000000,"likes": 2100000,"comments": 18800,"shares": 17300,"saves": 83191,"reposts": 0,"durationSeconds": 11,"width": 576,"height": 1024,"cover": "https://p19-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/c1844bce7c5a4b07b0e4ae2301a1996a~tplv-tiktokx-origin.image?…","isSlideshow": false,"isAd": false,"language": "un","locationCreated": "US","categories": ["Pets", "Animals", "Nature"],"authorUsername": "charlidamelio","authorName": "charli d’amelio","authorId": "5831967","authorVerified": true,"authorFollowers": 160300000,"authorTotalLikes": 12400000000,"authorVideos": 3292,"musicTitle": "Streets x Kiss it better","musicAuthor": ":p","musicId": "7090403288818584347","musicOriginal": true,"scrapedAt": "2026-10-11T20:12:30.850Z"}
This video has no caption, so description is empty and hashtags is []. A real error row from an earlier run (a link that is not a TikTok video). Error rows are not charged:
{"input": "https://example.com/foo","error": "Not a TikTok video URL (short link expired?)","scrapedAt": "2026-10-11T20:12:15.742Z"}
How much does it cost?
TikTok Video Scraper uses pay per event pricing. You pay $2.00 per 1,000 videos returned ($0.002 per video) on the Free plan. Platform usage (compute and proxy) is included in that price.
| Apify plan | Price per 1,000 videos |
|---|---|
| Free | $2.00 |
| Bronze (10% off) | $1.80 |
| Silver (20% off) | $1.60 |
| Gold and higher (30% off) | $1.40 |
Worked examples on the Free plan:
- 50 videos from one influencer campaign = $0.10
- 2,000 video links collected for a market study = $4.00
- 500 campaign videos checked every day for 30 days = 15,000 videos = $30.00 ($21.00 on Gold)
What you are not charged for:
- Error rows: links that are not TikTok videos, expired short links, private or deleted videos, and videos that could not be loaded after 5 tries.
- Retries. A video is charged once, only when it is returned.
- Exact duplicate lines in your list.
Use cases
- Influencer campaign reports. Paste the campaign's video links and get views, likes, comments, shares and saves for every post, ready for an engagement-rate sheet.
- Daily performance tracking. Schedule the same list and watch how views grow after publishing.
- Viral content research. Compare captions, hashtags, length and sound of top videos in a niche.
- Sound and music research. Group videos by
musicIdandmusicTitle, and see whether a video uses an original sound. - Enrich link lists. Turn a spreadsheet of TikTok links collected elsewhere into a full table with stats and author data.
- Creator vetting. See the author's followers, total likes and video count next to each video's performance.
- Ad and content audits. Flag posts TikTok marks as ads and check the country where each video was posted.
Tips and limits
- You need the video links. The scraper does not search TikTok and does not list a profile's or hashtag's videos. It only reads the videos you give it.
- No video download. It returns stats and details, not the video file.
coveris the cover image link, which is a signed TikTok CDN URL with anx-expiresparameter, so download it soon if you need it. - Rounded counts. Numbers come exactly as TikTok's page reports them. For very popular videos and authors TikTok often rounds them: the latest run returned
22000000views,2100000likes and160300000author followers, whilesaveswas exact (83191). Small changes on big videos may not show between runs. - Speed and retries. Videos are processed 5 at a time. Each video gets up to 5 tries with a growing pause and a 30-second timeout per try.
- Error rows. "Not a TikTok video URL (short link expired?)" means no video ID could be found in the link, even after following a short link. "Video not found or private" means TikTok reported the video as unavailable. "Could not load video" means no video data came back after 5 tries; run those again later.
- Empty captions. When a video has no caption,
descriptionis an empty string andhashtagsis an empty list. - Duplicates. Only identical lines are removed. A URL and the bare ID of the same video are fetched twice.
Use it from the API, Python or JavaScript
JavaScript (Node.js) with the official apify-client package:
const { ApifyClient } = require('apify-client');const client = new ApifyClient({ token: 'YOUR_TOKEN' });const input = { videos: ['https://www.tiktok.com/@charlidamelio/video/7137423965982592302'] };(async () => {const run = await client.actor('juliob.rangel/tiktok-video-scraper-fast').call(input);const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);})();
Python with the official apify-client package:
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run_input = {'videos': ['https://www.tiktok.com/@charlidamelio/video/7137423965982592302']}run = client.actor('juliob.rangel/tiktok-video-scraper-fast').call(run_input=run_input)items = client.dataset(run['defaultDatasetId']).list_items().itemsfor item in items:print(item.get('url'), item.get('views'), item.get('likes'))
Plain HTTP, running the scraper and getting the rows in one call:
curl -X POST "https://api.apify.com/v2/acts/juliob.rangel~tiktok-video-scraper-fast/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"videos": ["https://www.tiktok.com/@zachking/video/6768504823336815877"]}'
The scraper also works with Make, Zapier and n8n, can export results to Google Sheets, can call your webhook when a run finishes, and can be used by AI agents through the Apify MCP server.
FAQ
Do I need a TikTok login, cookies or an API key?
No. The scraper reads public video pages without logging in. You only need an Apify account to run it.
Can I export TikTok video stats to Excel or CSV?
Yes. Open the Output tab after the run and export as Excel, CSV, JSON or HTML, or read the dataset through the API.
How many videos can I scrape in one run?
There is no fixed cap in the scraper. Paste hundreds of links at once; they are processed 5 at a time, so bigger lists take longer.
Is it legal to scrape TikTok videos?
The scraper only collects publicly available data. You are responsible for complying with TikTok's terms and with privacy laws such as GDPR and LGPD. Personal data needs a legitimate reason to be collected and processed.
Why did I get a row with an error field?
The link was not a TikTok video (or a short link had expired), the video is private or deleted, or TikTok gave no data after 5 tries. Error rows are not charged. Check the link and run it again.
Can it download TikTok videos?
No. It returns the video's stats, caption, music, cover image link and author data, not the video file.
Can I get the comments of a video?
Not with this scraper. Use TikTok Comments Scraper for comment text, likes and replies.
Related scrapers
- TikTok Comments Scraper (Text, Likes, Replies, Users)
- TikTok Profile Stats Scraper (Followers, Likes, Bio)
- Instagram Posts Scraper (Reels, Likes, Views, Captions)
- YouTube Video Details Scraper (Views, Likes, Comments)
- YouTube Shorts Scraper (Channels & Hashtags)
Extrator de Vídeos do TikTok (PT-BR)
Cole links de vídeos do TikTok e receba visualizações, curtidas, comentários, compartilhamentos, salvamentos, legenda, hashtags, data, música e seguidores do autor. Sem login. Você paga só por vídeo retornado.