Skip to main content

Scraper API for TikTok

Fetch full user profiles, posted videos, comments and replies, video transcripts, hashtag and music detail, run keyword search across videos/users/hashtags, pull trending videos/hashtags/songs, read TikTok Shop’s best sellers, categories, product search and product detail, and query TikTok’s EU Commercial Content (ad transparency) library. The API handles request signing, anti-bot bypass, and regional proxy routing automatically.

Key Features

Profiles & Videos

Full user profiles with stats and verification, plus posted videos and reposts with cursor pagination.

Comments & Transcripts

Top-level comments, threaded replies, and ASR voice-to-text transcripts with subtitle tracks.

Search

Keyword search across videos, users, and hashtags, plus a general Top-feed search.

Trending

US mobile discovery videos, hashtags and songs. Historical windows and rank-change deltas are unavailable.

Ad Transparency

Search TikTok’s EU Commercial Content Library by keyword or advertiser id.

SDK Support

First-class support via the ScrapeBadger Node.js and Python SDKs.

Supported Regions

TikTok content is region-aware. Use the region query parameter (ISO 3166-1 alpha-2) on any endpoint to route the request through a proxy and signer for that locale. It defaults to US.
Use the /v1/tiktok/regions endpoint to get the full list of supported regions (with locale and country code) programmatically.

Quick Start

Endpoints

TikTok Shop market coverage — US, GB and ID (Tokopedia) are served for product detail, categories, search and best-sellers. The Southeast Asian markets SG, MY, PH, TH, VN and JP are supported via native in-region signing for search, best-sellers and product detail, each in its local currency. Taiwan (region=TW) returns HTTP 200 with availability: "not_operated" and empty results on every Shop endpoint — TikTok operates no Shop marketplace there.

Credit Costs

Authentication

All requests require your API key in the x-api-key header:

Anti-Bot Handling & Notes

TikTok protects its mobile and web APIs with request signing (X-Argus / X-Ladon / X-Gorgon / X-Khronos), device trust, and per-IP reputation scoring. ScrapeBadger clears these automatically — you never need to manage signatures, device registration, proxies, or sessions. Requests are routed through proxies matched to the region you request.
Trending hashtags and trending songs (/v1/tiktok/trending/hashtags, /v1/tiktok/trending/songs) are served via an mobile signer path. They are ranked by real usage (view counts, distinct-creator counts) rather than the deprecated Creative Center trend lists.
Public followers, following and liked lists use account-free guest requests. TikTok can expose only a subset; hidden/private data returns 403 and temporary upstream failures return 503.

Next Steps

Get User Profile

Full API reference for fetching a TikTok user profile

Get Video Detail

Retrieve full metadata for a specific TikTok video

ScrapeBadger is an independent tool and is not affiliated with, endorsed by, or sponsored by TikTok. “TikTok” is a trademark of TikTok Ltd. (a ByteDance company), used here only to describe the platform this scraper is designed to work with.

Guest access and pagination

Public content uses guest web and mobile providers; you do not need a TikTok account. Public followers/following and reposts support pagination. Liked lists are available only when the profile exposes them publicly. Hidden/private data returns 403, temporarily unavailable data returns 503, and an expired continuation cursor returns 410. Pass cursors unchanged with the same resource and region; guest continuation state lasts up to 15 minutes and expires when its guest session is replaced or the service restarts. Social lists reflect the subset TikTok exposes to that guest; they are not a guaranteed complete follower export. Web and mobile responses share the documented models, but optional native-only fields may be null. A populated metadata response does not guarantee that a media URL is downloadable: TikTok may reject even a fresh CDN URL with 403. Media links are upstream references, not a guaranteed download service. Mobile hashtag/song recommendations are not historical Creative Center rankings: omit period; only US is currently verified. For video downloads, fetch video detail and use its matching video.video.media_headers with play_addr or download_addr. These anonymous CDN headers are optional: null means usable media authorization was not obtained. Refresh detail when links expire.