Douyin API
Read videos, comments, creator profiles, search and the hot search board from Douyin over REST: 11 live endpoints, one API key and one JSON envelope. Below are all of them and a real request and response.
A new account gets 50 trial calls; after that, successful calls are billed from a prepaid balance. See pricing.
11 Douyin API endpoints
Parameters, response fields and code samples for each are in the API reference.
- Douyin video detail
GET /v1/raw/douyin/videoMetadata and engagement metrics for one video.Required: item_id - Douyin video comments
GET /v1/raw/douyin/commentsComment tree for a video, cursor-paginated, up to 50 per page.Required: item_id - Douyin creator profile
GET /v1/raw/douyin/creatorCreator profile with followers, likes, post count and verification.Required: user_id - Douyin comment replies
GET /v1/raw/douyin/comment_repliesReplies under one comment, cursor-paginated, up to 50 per page, with reply target, IP region and likes.Required: item_id, comment_id - Douyin search
GET /v1/raw/douyin/searchKeyword search over videos and image posts as unified records (same ids as video detail); pass the previous cursor and search_id to page.Required: keyword - Douyin user search
GET /v1/raw/douyin/user_searchKeyword search for creators with nickname, sec_uid, followers, likes and verification, about 12 per page.Required: keyword - Douyin live search
GET /v1/raw/douyin/live_searchKeyword search for live rooms with title, current and total viewers, likes and host, about 15 per page.Required: keyword - Douyin product reviews
GET /v1/raw/douyin/goods_commentsBuyer reviews of a Douyin shop product with rating, text, SKU, tags and seller reply, 20 per page.Required: goods_id - Douyin creator videos
GET /v1/raw/douyin/creator_videosPosts a creator published, pinned ones first and then newest first (or most popular first), about 20 a page, as the same records as video detail (same ids). Pass the previous page's cursor back to continue; stop when has_more is false. A creator without posts, or one that does not exist, answers empty and is not charged.Required: user_id - Douyin hot search board
GET /v1/raw/douyin/hot_searchDouyin's hot search board: its pinned entry and about 50 ranked words, with rank, heat, views, related video count, label (new, hot, first, exclusive, challenge, debunk), time it entered and cover. The whole board in one answer, not paginated. - Douyin hashtag videos
GET /v1/raw/douyin/challenge_videosPosts under one hashtag, as the same records as video detail (same ids), about 10 a page; sort by relevance, most liked or latest. Pass the previous page's cursor back to continue; stop when has_more is false. A hashtag that does not exist answers 404 and one without posts answers empty, neither charged.Required: challenge_id
A request and its response
Douyin video detail(GET /v1/raw/douyin/video). The sample comes from the endpoint catalog, not live data; a full response also carries request_id and meta.
curl 'https://api.qovia.ai/v1/raw/douyin/video?item_id=7681194457378688292' \ -H "Authorization: Bearer $QOVIA_KEY"
{
"data": {
"id": "soc_dou_3f9a1c27b0e4",
"src": "social",
"platform": "douyin",
"lang": "zh-CN",
"text": "新能源车续航实测,冬天打几折…",
"author": {
"uid_hash": "a19c04e7d2b3",
"followers": 482100,
"nickname": "车评老王",
"uid": "108800000001",
"sec_uid": "MS4wLjABAAAAexampleCreatorSecUid0000000000000001",
"unique_id": "chepinglaowang"
},
"metrics": {
"likes": 120384,
"comments": 8217,
"shares": 5093,
"saves": 14022,
"plays": 2310000
},
"extra": {
"video_dur_s": 47,
"topic": "#新能源",
"source_id": "7681000000000000001",
"published_at": "2026-10-18T19:30:55+08:00",
"topics": [
"新能源",
"冬季续航"
],
"content_type": "video",
"cover_url": "https://p3-sign.douyinpic.com/tos-cn-i-0813/example~tplv-dy-resize-origshort-autoq-75:330.jpeg",
"url": "https://www.douyin.com/video/7681000000000000001"
},
"prov": {
"hash": "0x527bcbac1d09e4f6",
"ts": "2026-10-20T09:12:41+08:00",
"source": "live"
}
}
}Use Douyin data from an AI tool
Qovia is also an MCP server. Run this in Claude Code. Finding and reading endpoints needs no key; to call them, set up your API key as in the MCP docs. Cursor and VS Code setups are there too.
claude mcp add --transport http qovia https://api.qovia.ai/mcpFAQ
How do I call the Douyin API?
Send a GET request to https://api.qovia.ai, for example /v1/raw/douyin/…, with your API key in an Authorization: Bearer header. A success is HTTP 200 with request_id, data and meta. This page lists all 11 endpoints, and each one's parameters are in the API reference.
Does Douyin have an official API?
Douyin, the Chinese version of TikTok, has an open platform for approved apps acting with their users' permission; it generally does not expose public data such as any video's comments, search results or the hot list. Qovia serves that public data through one API key.
What Douyin data can I get?
Video details, comments and comment replies, creator profiles and their videos, general, user and live search, the hot search board, hashtag videos and Douyin Shop product reviews. Xingtu creator data for brand deals is on the Douyin Xingtu page.
Do I need a Douyin account or cookies?
No. All you need is a Qovia API key: no accounts, cookies, proxies or request signing to maintain.
How is it billed?
Prepaid and per call: only successful calls that return data are charged, and empty results, errors and timeouts are not. Every response says what it cost (meta.charged_usd). Each endpoint's price is in the API reference.
Can I use it from Claude, Cursor or other AI tools?
Yes. Qovia is also an MCP server (https://api.qovia.ai/mcp): add it to Claude Code, Cursor or VS Code with your API key and the AI finds the endpoint, pulls the data and summarises it.
What should I keep in mind when using the data?
Qovia provides a data API service and claims no ownership of the underlying content. Use the data under applicable law and Douyin's platform rules; see our terms of service.
Your agent only knows what you give it
Give it Douyin, Xiaohongshu (RedNote), WeChat and product reviews: structured, per call, nothing charged for failures.