Parse a Douyin link
Whether a Douyin link or pasted share text is a video, an account, a hashtag or a collection, with its id and canonical address. Free.
/resolve-url Utilities https://api.fetchlayer.dev/douyin/resolve-url Headers
Authorization string required Bearer token — your FetchLayer API key.
Parameters
url string required Any Douyin link — video, image post, profile, hashtag, collection, or a v.douyin.com share link — or 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
resolve-url
Parse a Douyin link
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.
kind string video, user, hashtag or collection.
id string The video id, sec_uid, hashtag id or collection id.
canonicalUrl string The canonical address.
Request
curl -X POST "https://api.fetchlayer.dev/douyin/resolve-url" \
-H "Authorization: Bearer ss-your-key" \
-H "Content-Type: application/json" \
-d '{"url":"https://www.douyin.com/video/7665908051974704410"}'Response
{
"transport": "douyin",
"fetchedAt": "2026-10-15T15:54:02.874Z",
"notes": [],
"kind": "video",
"id": "7665908051974704410",
"canonicalUrl": "https://www.douyin.com/video/7665908051974704410"
}