TikTok Video Scraper API - Stats, Hashtags, Sound avatar

TikTok Video Scraper API - Stats, Hashtags, Sound

Pricing

from $2.00 / 1,000 videos

Go to Apify Store
TikTok Video Scraper API - Stats, Hashtags, Sound

TikTok Video Scraper API - Stats, Hashtags, Sound

Paste TikTok video URLs and get 30+ fields each: exact play, like, comment, share and save counts, hashtags, sound, duration and the creator. No login. Deleted videos cost nothing.

Pricing

from $2.00 / 1,000 videos

Rating

0.0

(0)

Developer

Blackcube

Blackcube

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 minutes ago

Last modified

Share

TikTok Suite  •  6 Actors, one codebase, one row billed once
TikTok Scraper API
Videos, Creators, Exact Stats
TikTok Video Scraper API
➤ You are here
TikTok Creator Profile Scraper API
Followers, Bio Link
TikTok Follower Count Tracker API
Daily Growth
TikTok Hashtag Scraper API
Videos by Tag, Exact Stats
TikTok Search Scraper API
Keyword Video Search

More from this account: YouTube Transcript Suite · Website Contact & Email Suite · Career Site & ATS Jobs Suite · Google News Suite · Keyword Research Suite · Shopify Store Intelligence Suite · eBay Data Suite · Amazon Reviews Suite · Reddit · Meta Ad Library · Vinted · Trustpilot Review Intelligence Suite · App Store & Google Play Reviews Suite · Telegram Channel Intelligence Suite · Business Reviews Suite · Amazon Product Data Suite · Google Sheets Suite · Snapchat Suite · LinkedIn Public Data Suite · Instagram Suite · Contact Validation Suite

The TikTok suite

Paste TikTok video URLs and get 30+ fields for each one. No login, no cookies, no proxy to configure. Failures are free — a deleted video, a private account or a handle that does not exist costs nothing and returns a row saying which.

Exact numbers, not rounded ones. TikTok's page says 1.5M followers; this returns 1,466,634.

Quick start

  1. Press Start — the defaults are a working run.
  2. Replace them with your own video URLs (share links, tracking parameters and bare IDs all work).
  3. Take the dataset as JSON, CSV or Excel, or via the API.

What people use it for

  • Creator vetting before a paid collaboration. Exact follower and like counts, account age, verification and the bio link for a shortlist of handles — the numbers a rate card is argued over, not the rounded ones on the page.
  • Campaign reporting. Feed in the video URLs from a campaign and get plays, likes, comments, shares and saves per clip, re-run on a schedule to watch them move.
  • Competitor and sound tracking. Which sound a clip used, whether it was original, the hashtags, and TikTok's own content labels for the clip.
  • Follower-growth monitoring. Put a list of creators on a daily cron and pay only for the ones whose counts changed.
  • Feeding an AI agent or workflow. One flat schema for both videos and creators, so an agent does not need two endpoints and two output shapes.

What a video row looks like

{
"type": "video",
"id": "7106594312292453675",
"url": "https://www.tiktok.com/@tiktok/video/7106594312292453675",
"description": "how many frogs did you find? 🐸 check out tiktok's #Minecraft community today! @Gorillo",
"createdAt": "2026-06-07T20:15:29.000Z",
"duration": 24,
"contentLabels": ["Video Games", "Games", "Entertainment"],
"hashtags": ["minecraft"],
"language": "en",
"locationCreated": "US",
"playCount": 578000,
"diggCount": 98800,
"commentCount": 1343,
"shareCount": 358,
"collectCount": 58486,
"music": { "title": "original sound", "authorName": "TikTok", "original": true },
"author": {
"uniqueId": "tiktok",
"nickname": "TikTok",
"verified": true,
"followerCount": 95534839,
"videoCount": 1495
}
}

contentLabels is TikTok's own classification of the clip, not ours — it is what the platform files the video under, which is why it is worth having.

What it costs

You pay forPrice
Each video delivered$2.00 per 1,000 videos
Each creator profile delivered$2.00 per 1,000 profiles
Add-on: full creator profile resolved for a video's author$8.00 per 1,000 creators

Free, always: a deleted, private or region-locked video, a handle that does not exist, a malformed URL, every error row, the coverage row and the run summary — and on a monitoring schedule, every row whose numbers did not move. A run that reads nothing costs nothing.

The add-on is charged once per creator per run, never per video, and only after that creator's profile has actually been read. It never consumes your row budget, so asking for creator detail can't cost you videos.

Set Cost ceiling (USD) to stop any run before it passes a number you choose; the free summary row reports what the run actually spent.

Limits, stated plainly

Videos by URL and creators by handle are read straight from TikTok's own page data — no proxy, no login, and honest failure modes.

Hashtag and search feeds work differently, and every listing in this suite accepts them: TikTok renders those lists in the browser, so the Actor opens the public page in a real Chromium and reads the list the page loads for itself. It still signs nothing and logs in to nothing. A feed target therefore takes a few seconds longer than a video URL, and returns videos in the order TikTok shows them — TikTok's ranking, not a complete archive of the tag.

TikTok rate-limits those feed requests. A single run is served normally; several fired back to back against the same tag or query can be refused, and a refused feed returns free rows rather than a failure. If you are scheduling feeds, space the runs out rather than bursting them.

This listing simply starts on video URLs instead; the Hashtag and Search listings are the same engine pointed at a feed by default.

Comment threads and follower lists are still not sold: those load from an endpoint that needs a signed token this Actor does not mint. Every video row already carries its exact comment count.

Use it from n8n, MCP, the API or a schedule

Built to be called by a workflow, not only from the Store form. The Actor is vonsensey/tiktok-video-scraper-api; every snippet below sends {}, which runs the defaults shown on the form — replace it with your own input.

n8n

Install the Apify community node (@apify/n8n-nodes-apify under Settings → Community Nodes, or search "Apify" on n8n Cloud). Add Apify → Run Actor with Actor vonsensey/tiktok-video-scraper-api and your input JSON, then Apify → Get Dataset Items on the run's defaultDatasetId and pipe the rows anywhere. For scheduled runs, the On new Apify Event trigger fires when a run of this Actor finishes.

MCP (Claude, Cursor, VS Code, any MCP client)

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=vonsensey/tiktok-video-scraper-api",
"headers": {
"Authorization": "Bearer <YOUR_APIFY_TOKEN>"
}
}
}
}

Your agent then calls vonsensey/tiktok-video-scraper-api as a tool with the same input the form takes and reads the dataset back.

REST API (one call, rows in the response)

curl -X POST "https://api.apify.com/v2/acts/vonsensey~tiktok-video-scraper-api/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" -d '{}'

Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("vonsensey/tiktok-video-scraper-api").call(run_input={})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row)

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('vonsensey/tiktok-video-scraper-api').call({});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Make, Zapier, LangChain, CrewAI

The Apify app in Make and Zapier has a Run an Actor module: pick vonsensey/tiktok-video-scraper-api. In LangChain and CrewAI the Apify tool wrappers take the same Actor id. A daily schedule needs nothing but the Console: Schedules → Create → this Actor → cron, and the dataset fills on its own.

Use cases

  • Vet a creator before a paid collaboration. Exact follower, following, like and video counts, the date the account was created, verification and organisation flags, and the link in the bio — the numbers a rate card is argued over, not the rounded ones on the page.
  • Report on a campaign. Feed in the video URLs and get plays, likes, comments, shares and saves per clip, plus duration, dimensions and the language and country the clip was posted from.
  • Track sounds and hashtags. The sound with its author and whether it was original, every hashtag and mention parsed out of the caption, and TikTok's own content, advertising and AI-generated labels for the clip.
  • Discover by tag or phrase. A hashtag or a search query is opened in a real browser and the videos it lists come back as ordinary video rows — billed per video delivered, never per search.
  • Monitor follower growth on a cron. Put a list of creators on a daily schedule; a creator whose numbers moved is billed as a full row and one whose numbers did not is billed as a cheaper target check.

Run it on a schedule

A one-off pull answers a question; a schedule answers it every day without you. Open Schedules in the Apify Console, point a cron at this Actor, and the dataset keeps filling on its own — no server, no cron box, no babysitting. Everything here is built to be re-run: you are billed per row delivered, and the FAQ below says exactly what a scheduled run that finds nothing new costs.

FAQ

Do I need a TikTok login or cookies?

No. Nothing here signs in, sends a cookie or uses a session. Videos by URL and creators by handle are read straight from the page's own data with no proxy. A hashtag or search feed is rendered in the browser, so for those the Actor opens the public page in a real Chromium and reads the list the page loads for itself — it still signs nothing. If TikTok serves no feed you get a free row saying so, and Force proxy under Advanced is there for the retry.

Are the follower and view counts the real numbers?

Yes, and that is the difference worth knowing about. TikTok's page shows a rounded number — 1.5M followers. The exact value sits in a different object on the same page: 1,466,634. This Actor reads the exact ones, which is the only way to see that a creator gained 238 followers.

Does a hashtag or a search give me every video there is?

No, and it does not pretend to. A feed returns the videos in the order TikTok shows them — TikTok's own ranking, not a complete archive of the tag or the query.

Can I get comments, follower lists or a creator's whole back catalogue?

No. Those load from endpoints that need a signed token this Actor does not mint, so no listing in this suite sells them. Every video row already carries its exact comment count.

What does a deleted, private or region-locked video cost?

Nothing. You get a free error row saying which of them it was and the run keeps going — a list of fifty URLs where three were deleted still delivers forty-seven. "All of these were deleted" is a correct answer, not a failure, so the run still succeeds.

Will a schedule bill me for numbers that did not move?

Not at the full rate. With Monitor: only bill what changed on, a video or creator whose numbers moved is billed as a row; one whose numbers did not is delivered free and marked unchanged, and the page fetched to prove it is billed once as a target checked — half the price of the row it stands in for. A page that was blocked, removed or unparseable is free either way.

Will I be charged twice if the same video appears twice in my list?

No. A video reached through a share link and through its canonical URL is one row and one charge, and a creator resolved in full is charged once per run however many of their videos are in it.


Something wrong, or a field you need that is missing? Open an issue on the Issues tab — it is read and it gets fixed. If this saved you time, a rating on the Store page helps the next person find it.