TikTok Video Scraper (Views, Likes, Comments, Shares) avatar

TikTok Video Scraper (Views, Likes, Comments, Shares)

Pricing

from $1.40 / 1,000 video scrapeds

Go to Apify Store
TikTok Video Scraper (Views, Likes, Comments, Shares)

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

Julio Barcellos Rangel

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

22 days ago

Last modified

Security

Limited permissions

Share

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 formExample
Video URLhttps://www.tiktok.com/@charlidamelio/video/7137423965982592302
Photo (slideshow) URLhttps://www.tiktok.com/@user/photo/...
Short linkhttps://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?

FieldWhat it meansExample
inputThe line from your listhttps://www.tiktok.com/@charlidamelio/video/7137423965982592302
videoIdTikTok video ID7137423965982592302
urlCanonical video linkhttps://www.tiktok.com/@charlidamelio/video/7137423965982592302
descriptionCaption text (empty string when there is none)They rejected my application to Hogwarts…
hashtagsHashtags used in the caption["illusion", "magic", "harrypotter"]
createdAtPublish time (ISO 8601)2022-08-29T22:10:18.000Z
viewsPlay count22000000
likesLike count2100000
commentsComment count18800
sharesShare count17300
savesTimes saved to favorites83191
repostsRepost count0
durationSecondsVideo length in seconds11
widthVideo width in pixels576
heightVideo height in pixels1024
coverCover image URLhttps://p19-common-sign.tiktokcdn-us.com/…
isSlideshowThe post is a photo slideshowfalse
isAdTikTok marks the post as an adfalse
languageCaption language code TikTok detected (un when unknown)en
locationCreatedCountry code where the video was postedUS
categoriesTikTok's content category labels["Pets", "Animals", "Nature"]
authorUsernameAuthor's handlecharlidamelio
authorNameAuthor's display namecharli d’amelio
authorIdAuthor's numeric user ID5831967
authorVerifiedAuthor has the verified badgetrue
authorFollowersAuthor's follower count160300000
authorTotalLikesTotal likes on all the author's videos12400000000
authorVideosNumber of videos on the author's profile3292
musicTitleSound titleStreets x Kiss it better
musicAuthorSound author:p
musicIdTikTok sound ID7090403288818584347
musicOriginalThe sound is an original soundtrue
scrapedAtWhen the row was collected2026-10-11T20:12:30.850Z
errorOnly on error rows: why the video was not returnedVideo 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

  1. Open TikTok Video Scraper in Apify Console (sign in or create an Apify account).
  2. In Videos, paste video URLs, short links or video IDs, one per line. Hundreds at once are fine.
  3. Leave Proxy on the default Apify Proxy unless you have a reason to change it.
  4. Click Start. The log shows how many videos were returned.
  5. Open the Output tab, then click Export to download JSON, CSV, Excel or HTML.
  6. Optional: save the input as a task and schedule it to follow how campaign or influencer videos grow every day.

Input

FieldTypeDefaultDescription
videosarray 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.
proxyobject{"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 planPrice 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 musicId and musicTitle, 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. cover is the cover image link, which is a signed TikTok CDN URL with an x-expires parameter, 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 22000000 views, 2100000 likes and 160300000 author followers, while saves was 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, description is an empty string and hashtags is 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 ApifyClient
client = 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().items
for 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.

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.


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.