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 theregion 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.
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 thex-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 theregion 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.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: omitperiod; 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.
