Get one video in full
One Douyin video or image post in full by id, link or share text: caption, exact like, comment, share and save counts, author with exact follower count, music, hashtags, media and the collection it belongs to. 1 credit.
/video-detail Videos https://api.fetchlayer.dev/douyin/video-detail Headers
Authorization string required Bearer token — your FetchLayer API key.
Parameters
video string required A video or image post: its id (7665908051974704410), a douyin.com or iesdouyin.com link, a v.douyin.com share link, or pasted share text containing one.
format string optional json or markdown, lowercase; any other value is a 400. Over MCP, markdown returns the result rendered as text; the REST API accepts it and returns JSON. (default: json)
timeoutMs integer optional Time limit for the whole request, in milliseconds (1000–120000); a value outside that range is a 400. Where possible a partial answer comes back with a note; a request with nothing to return yet fails with a 503 you can retry, marked with the response header X-Timeout-Source: caller.
Response Fields
video-detail
Get one video in full
transport string The data source: always the platform id, "douyin".
fetchedAt string When the data was read (ISO 8601).
notes string[] Caveats you can act on, such as older videos existing beyond the list. Empty when there are none.
video object The video. One that does not exist or is not public is a 404.
video.id string The video id, which every route that takes a video accepts.
video.url string Link to the video on douyin.com.
video.kind string "video", or "images" for an image post.
video.description string The caption.
video.createdAt string When it was posted (ISO 8601); createTime is the same moment in unix seconds.
video.durationMs number | null Length of a video, in milliseconds.
video.hashtags object[] { name, id } for each hashtag; the id works with hashtag-detail.
video.stats object likes, comments, shares and saves — exact integers. plays is always null: Douyin does not publish play counts.
video.author object uid, secUid, uniqueId (抖音号), nickname, avatarUrl, followerCount, verification and profileUrl. followerCount is exact here.
video.music object | null { id, title, author } of the sound.
video.coverUrl string | null Cover image. Douyin’s media links expire after a while.
video.playUrl string | null The video stream. Expires after a while.
video.imageUrls string[] The images of an image post; empty for a video.
video.isAd boolean Whether Douyin marks it as an ad.
video.pinned boolean Whether the author pinned it to their profile.
video.collection object | null The collection (合集) it belongs to: { id, name, episode }, or null. The id works with collection-videos.
video.shareUrl string | null Douyin’s share link for it.
Request
curl -X POST "https://api.fetchlayer.dev/douyin/video-detail" \
-H "Authorization: Bearer ss-your-key" \
-H "Content-Type: application/json" \
-d '{"video":"https://www.douyin.com/video/7665908051974704410"}'Response
{
"transport": "douyin",
"fetchedAt": "2026-10-15T15:54:02.000Z",
"notes": [
"Douyin does not publish play counts, so stats.plays is always null."
],
"video": {
"id": "7665908051974704410",
"url": "https://www.douyin.com/video/7665908051974704410",
"kind": "video",
"description": "1-8合集《这是我的世界》第一季|异世界篇 …",
"createdAt": "2026-07-24T01:58:31.000Z",
"createTime": 1784858311,
"durationMs": 2574891,
"hashtags": [
{
"name": "这是我的世界",
"id": "1587906243760205"
}
],
"stats": {
"likes": 356766,
"comments": 6899,
"shares": 90087,
"saves": 176104,
"plays": null
},
"author": {
"uid": "593384953094045",
"secUid": "MS4wLjABAAAAYOEVkUXnngwqKUvaFEGdZWxDxUD6cEbk7zYTJGMrqPA",
"uniqueId": "Mom2024017",
"nickname": "林杉导演AIGC",
"followerCount": 397848,
"verification": null,
"profileUrl": "https://www.douyin.com/user/MS4wLjABAAAAYOEVkUXnngwqKUvaFEGdZWxDxUD6cEbk7zYTJGMrqPA"
},
"music": {
"id": "7665909117738830598",
"title": "@林杉导演AIGC创作的原声",
"author": "林杉导演AIGC"
},
"width": 2208,
"height": 936,
"imageUrls": [],
"isAd": false,
"pinned": false,
"collection": {
"id": "7640462496620349491",
"name": "原创AI《这是我的世界》第一季|异世界篇",
"episode": 11
}
}
}