Douyin API
Twenty-seven endpoints for public Douyin — China's short-video app — covering video detail and statistics, comments, creators, sounds, hashtags, live rooms, the trending board and a full search suite. Each one a single POST returning structured JSON. No Douyin login, no China business entity, no scraping stack to keep alive.
50 free credits on signup. No card, no login, no China entity.
{ "data": { "user": { "sec_uid": "MS4wLjABAAAAPCnTQLqza4Xqu-uO7KZHcKuILkO7RRz2oapyOC04AQ0", "uid": "68310389333", "short_id": "71158770", "nickname": "李子柒", "signature": "李家有女,人称子柒。联系邮箱:[email protected]", "follower_count": 48552206, "following_count": 1, "aweme_count": 774, "total_favorited": 255335221, "favoriting_count": 0, "avatar": "https://p3-pc.douyinpic.com/aweme/1080x1080/aweme-avatar/mosaic-legacy_330b002fd56a93e8b6f1.jpeg", "is_verified": false, "gender": 0 } }, "response_time": 3120, "credits_used": 1, "credits_remaining": 6999}A real captured response from the creator-profile endpoint. Sign up to run your own.
What is the Scavio Douyin API?
The Scavio Douyin API is a REST API that returns public data from Douyin — China's short-video app, the domestic counterpart to TikTok — as structured JSON. You POST a video id, creator id, hashtag, sound, live room or search keyword to one of 27 endpoints with your API key, and get back captions, engagement counts, creator profiles, comments, sounds, trending words and search results. No Douyin login, no China business entity, and no OAuth. Most calls cost 1 credit; the six search endpoints cost 10.
- 27
- endpoints, all live in production
- 1
- credit per call, 10 for the six search endpoints
- 0
- logins, China entities or access tokens required
Start with these four
They cover most of what people build on Douyin. The full twenty-seven are below.
Video detail
POST /api/v1/douyin/videoCaption, create time, play and cover URLs, dimensions, like/comment/share/collect counts, author, sound and hashtags — the whole short-video object from one id.
Creator profiles
POST /api/v1/douyin/user/profileNickname, signature, follower, following, post and total-like counts, avatar and verification for any public Douyin creator.
Search suite
POST /api/v1/douyin/searchKeyword search across videos, creators, sounds, live and hashtags — six endpoints that return structured, engagement-scored results.
Trends & hashtags
POST /api/v1/douyin/trendingThe live hot-search board plus per-hashtag view and participation counts and a sortable feed of the videos behind them.
All 27 Douyin endpoints
Every route is a POST, returns JSON, and takes the same API key. Each successful call costs 1 credit, except the six search endpoints at 10 credits.
| Endpoint | Returns | Credits |
|---|---|---|
Video detail/api/v1/douyin/video | One video by id — caption, create time, play and cover URLs, dimensions, engagement counts, author, sound and hashtags | 1 |
Video by share URL/api/v1/douyin/video/by-share-url | The same full video object resolved from a short share URL | 1 |
Video statistics/api/v1/douyin/video/statistics | Live play, like, comment, share, collect and download counts for a batch of video ids in one call | 1 |
Video comments/api/v1/douyin/video/comments | Top-level comments — text, like and reply counts, IP region label, author, plus total count and a paging cursor | 1 |
Comment replies/api/v1/douyin/video/comment-replies | The reply thread under one comment, in the same comment shape | 1 |
Related videos/api/v1/douyin/related | A feed of videos related to a given video, each a full video object | 1 |
Creator profile/api/v1/douyin/user/profile | Creator profile — nickname, signature, follower, following, video and total-like counts, avatar and verification | 1 |
Creator posts/api/v1/douyin/user/posts | A creator's posted videos with captions, engagement and media, paged by cursor | 1 |
Creator likes/api/v1/douyin/user/likes | The videos a creator has publicly liked, when the like list is public | 1 |
Followers/api/v1/douyin/user/followers | A creator's follower list — nickname, id, follower count and avatar per user, paged | 1 |
Following/api/v1/douyin/user/following | The accounts a creator follows, in the same user shape, paged | 1 |
Creator live/api/v1/douyin/user/live | A creator's current live room, when they are streaming | 1 |
Hashtag detail/api/v1/douyin/hashtag | Hashtag detail — name, description, cumulative view count, participating-user count and create time | 1 |
Hashtag videos/api/v1/douyin/hashtag/videos | Videos under a hashtag, sortable by comprehensive, most-liked or latest | 1 |
Sound detail/api/v1/douyin/music | Sound detail — title, artist, duration, cover and audio URL | 1 |
Sound videos/api/v1/douyin/music/videos | Videos that use a given sound, each a full video object | 1 |
Live room/api/v1/douyin/live/room | A live room by id or URL — title, host and stream status | 1 |
Trending board/api/v1/douyin/trending | The Douyin hot-search board — ranked trending words with hot value and discussion counts | 1 |
Home feed/api/v1/douyin/home-feed | A page of recommended videos from the Douyin home feed | 1 |
Resolve video id/api/v1/douyin/resolve/video-id | Turn any Douyin video URL into its numeric video id | 1 |
Resolve user id/api/v1/douyin/resolve/user-id | Turn a creator profile URL into its stable user id | 1 |
Search (general)/api/v1/douyin/search | General keyword search returning matching videos with full engagement and author data | 10 |
Search videos/api/v1/douyin/search/videos | Keyword video search, paged | 10 |
Search creators/api/v1/douyin/search/users | Keyword creator search — nickname, follower and like counts, verification and avatar | 10 |
Search sounds/api/v1/douyin/search/music | Keyword sound search — title, artist, duration, cover and audio URL | 10 |
Search live/api/v1/douyin/search/live | Keyword search across live streams | 10 |
Search hashtags/api/v1/douyin/search/hashtags | Keyword hashtag search — name, description, view and user counts | 10 |
50 free credits on signup covers 50 standard calls, or 5 keyword searches, across any mix of endpoints. See plans
Resolve a Douyin video in one call
POST a video id and get back the caption, engagement counts, author, sound and hashtags. The response on the right is a real capture, field names and all.
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
video = client.douyin.video(
aweme_id="7436613508646702348",
)["data"]["video"]
print(video["desc"], video["statistics"]["digg_count"])
print(video["author"]["nickname"], video["author"]["follower_count"])
print(video["video"]["play_url"]) # time-limited link, fetch now{
"data": {
"video": {
"aweme_id": "7436613508646702348",
"desc": "送给所有知道我名字的人 #李子柒绒花 #抖音精选 #非遗守护人",
"create_time": 1731472200,
"media_type": 4,
"share_url": "https://www.iesdouyin.com/share/video/7436613508646702348/",
"author": {
"sec_uid": "MS4wLjABAAAAPCnTQLqza4Xqu-uO7KZHcKuILkO7RRz2oapyOC04AQ0",
"uid": "68310389333",
"nickname": "李子柒",
"follower_count": 56818903,
"total_favorited": 255335221,
"is_verified": false
},
"statistics": {
"digg_count": 11674654,
"comment_count": 544426,
"share_count": 1669658,
"collect_count": 564714
},
"video": {
"play_url": "https://v5-dy-ov-experiment.zjcdn.com/.../video_mp4",
"cover": "https://p3-pc-sign.douyinpic.com/image-cut-tos-priv/....jpeg",
"duration": 747734,
"width": 1920,
"height": 1080
},
"music": {
"music_id": "7436614219480435506",
"title": "@李子柒创作的原声",
"author": "李子柒",
"play_url": "https://sf11-cdn-tos.douyinstatic.com/obj/ies-music/7436614280851688202.mp3"
},
"hashtags": [
{ "hashtag_id": "7436402294968551460", "name": "李子柒绒花" },
{ "hashtag_id": "1568943621383170", "name": "抖音精选" }
]
}
},
"response_time": 4592,
"credits_used": 1,
"credits_remaining": 6999
}Why not the official platform, or your own stack?
Douyin has no open third-party API for public data, and an in-house pipeline is a permanent maintenance line item. Neither is a real substitute.
Douyin Open Platform / building it yourself
- The Douyin Open Platform serves mini-programs and accounts you own, gated behind a China business entity and an ICP filing
- No third-party endpoint for arbitrary public videos, creators, sounds or search
- Building it yourself means owning and babysitting a brittle in-house pipeline that breaks on every change
- Raw output with unresolved ids that you have to turn into usable records yourself
Scavio Douyin API
- One API key, issued at signup — no China entity, no filing, no account
- Any public video, creator, hashtag, sound, live room or search by id or URL
- Clean JSON with resolved ids, engagement counts and media URLs
- Same key and JSON envelope as 30 other Scavio platforms, from 1 credit a call
Scavio returns publicly available data only, and never authenticates as a Douyin user. Douyin is the China app; for the international app, see the separate TikTok API.
What developers build with it
China-market and creator research
Douyin is where Chinese short-video attention actually lives, and it is invisible to Western social APIs. Pull creator profiles, posted videos and engagement into your own database and analyse a market most tools cannot see.
user/profile + user/postsInfluencer discovery and vetting
Search creators by keyword, then read each one's follower, following, post and total-like counts before you reach out. Real numbers, structured, ready to score — no screenshotting a profile tab.
search/users + user/profileTrend and hashtag tracking
Read the hot-search board on a schedule, resolve each hashtag's view and participation counts, and walk the videos behind it sorted by newest or most-liked. Turn a trending topic into a dataset the moment it breaks.
trending + hashtag + hashtag/videosVideo and sound intelligence
Resolve any video to its full object — engagement, dimensions, media and the sound it uses — then pull every other video on that sound. Track how an audio trend spreads across creators.
video + music + music/videosComment mining and sentiment
Fetch a video's top comments and their reply threads, complete with like counts and IP region labels, then feed the text to an LLM for themes, complaints or purchase intent — structured, not a wall of HTML.
video/comments + video/comment-repliesAgent tools and RAG pipelines
Point an agent at the remote MCP server and Douyin becomes a callable tool alongside every other Scavio platform — same key, same JSON envelope, no per-platform glue and no id-resolution to hand-roll.
MCP + RESTHow to get Douyin data as JSON
- 1
Get an API key
Sign up for a Scavio account and copy your key from the dashboard. You get 50 credits free on signup, with no card required.
- 2
POST an id or URL to an endpoint
Send {"aweme_id": "7436613508646702348"} to https://api.scavio.dev/api/v1/douyin/video with an Authorization: Bearer header. Every Douyin endpoint is a POST. Have a URL instead of an id? The resolve endpoints turn a video or profile URL into the id the other endpoints take.
- 3
Read the JSON
The response wraps the data under a data key and adds credits_used and credits_remaining. Text comes back in the original language, mostly Chinese, and media and audio URLs are time-limited — fetch them inside the same run.
Douyin API FAQ
What is the Scavio Douyin API?
+
It is a REST API that returns public Douyin data as structured JSON. Twenty-seven POST endpoints cover video detail and statistics, comments and replies, creator profiles, posts, likes, followers and following, live rooms, hashtags, sounds, the trending board, the home feed, id resolution and a six-endpoint search suite. You authenticate with a Scavio API key and never handle Douyin credentials. Douyin is China's short-video app, separate from TikTok.
Is Douyin the same as TikTok?
+
No. Douyin (抖音) is the China-only app; TikTok is the international app. They are run separately and share no content, creator graph or ids — a creator on one is not the same account on the other. This is the Douyin API, returning China-market data. If you want the international app, Scavio has a separate TikTok API. Pick the one that matches the audience you care about.
Do I need a Douyin account, login, or China business entity?
+
No. Douyin's own open platform is built for mini-programs and accounts you own, and is gated behind a China business entity and an ICP filing — it does not expose arbitrary public videos, creators or search. Scavio needs none of that: sign up, take the key, POST an id or a URL. You never log in and you never handle Douyin credentials.
How much does a Douyin request cost?
+
Twenty-one of the twenty-seven endpoints cost 1 credit per successful call. The six search endpoints — general, videos, creators, sounds, live and hashtags — cost 10 credits each, because search is a heavier operation. New accounts get 50 free credits on signup, one time, with no card. Paid plans start at $30 per month for 7,000 credits.
Can I get video, cover, and sound URLs?
+
Yes. The video object includes the play URL, cover image and dimensions, and the sound object includes its audio URL. These are time-limited signed links — fetch the file inside the same job that requested it rather than storing the URL for later. If you need the media again, request the video again.
What ids does it take, and what if I only have a URL?
+
Videos are keyed by aweme_id, creators by a stable user id, hashtags by a channel id and sounds by a music id. If you only have a share link or a profile URL, call resolve/video-id or resolve/user-id first — they turn a URL into the id every other endpoint accepts — then chain into detail, comments, posts or related.
How reliable is Douyin search?
+
The 21 non-search endpoints are steady. Douyin search is a heavier upstream operation that can transiently fail; when it does, the request is retried automatically, and you are only ever charged for a successful call — a failed search costs you nothing. For high-volume pipelines, build in a light retry and treat search as best-effort rather than guaranteed on the first try.
Can it read private accounts or private like lists?
+
No. Only data Douyin makes publicly available is returned. A private account, or a creator who has hidden their like list, is not accessible — and you are not charged when a request cannot be fulfilled. The API never authenticates as a user.
Is the returned text in Chinese?
+
Mostly, yes. Captions, nicknames, signatures, comments and hashtag names come back in their original language, which on Douyin is predominantly Chinese. The data is clean UTF-8 JSON, so pair it with a translation step in your pipeline if your downstream needs English. Numbers, ids, counts and URLs are language-neutral.
Which languages and tools are supported?
+
Official Python (pip install scavio) and JavaScript/TypeScript (npm i scavio) SDKs, a remote MCP server at mcp.scavio.dev for AI agents, and an n8n community node. Any language can call the REST endpoints directly with an HTTP client — every route is a POST with a JSON body.
Is scraping Douyin data legal?
+
Scavio returns publicly available data and does not access private content or authenticate as a user. You remain responsible for how you use the data, including compliance with Douyin's terms and with privacy law where personal data is involved. Talk to your own counsel for your specific use case.
Explore more of Scavio
TikTok API
The international app — profiles, videos, comments and search as JSON.
Weibo API
China's microblog — users, posts, comments, search and trending.
Kuaishou API
The other major Chinese short-video app, as structured JSON.
Instagram API
Profiles, posts, reels, stories and comments as JSON.
Pricing
Credit packs and plans, with no per-platform surcharge.
MCP server
Every platform as a callable tool for your agents.
Start pulling Douyin data today
50 free credits on signup, no card. Your first request is a POST with a Douyin video id in it.