Douyin

Douyin capabilities in one place: video/image post parsing (watermark-free extraction) and automated comment publishing (server-side signing only, no browser needed).

/api/douyin/

Service Description

The Douyin service offers two capabilities: video / image-post parsing, where a share link is all it takes to get the watermark-free video or gallery URLs and related information; and comment publishing, which posts a plain-text top-level comment under a given video.

Both channels require project signature authentication. All Douyin anti-bot parameters are handled server-side: video parsing uses an anonymous ttwid plus a retry strategy, and comment publishing runs Douyin's official JS in a patched environment on the server to generate the required signature. Callers need neither a browser nor their own implementation of the signing algorithm.

The comment endpoint is subject to strict anti-bot controls: keep the call rate low and back off on failures, and avoid re-submitting to the same video within a short window.

Response Format

Every endpoint returns the same JSON envelope; the payload is always inside data:

{
  "code": 10000,
  "msg": "成功",
  "data": { ... }
}
  • code: business status code. 10000 means success; anything else is an error — see the Error Codes page for the full list.
  • msg: a human-readable message you can show to end users, but never use it for program logic.
  • data: the payload; usually null on error. Each endpoint's Response section lists its data fields.

Judge success by code, not by the HTTP status code. View all error codes

Video Parsing

Douyin video / image & text post parsing Signature Required

Parse Douyin share content into directly downloadable video / image & text post data.

POST /api/douyin/video/parse Total calls: 0

Parse Douyin Content

Parse a Douyin video or image & text post and return the watermark-free URL and other information.

Required: three input formats are supported — ① the full share text ② a link (v.douyin.com short link or www.douyin.com/video/xxx) ③ a numeric-only aweme_id

  • The request body is an application/x-www-form-urlencoded form.
  • Test with real, accessible share content; a failed parse is reported as an external service error.
Response Common envelope
Field Type Description
title string Video/post title
cover string Cover image URL
duration float Duration (seconds); null for image posts
medias array Video download list; empty array for image posts
medias[].format string Quality label (e.g. 1080P)
medias[].url string Watermark-free video URL
medias[].file_size int File size (bytes, may be null)
images array Image download list; empty array for videos
images[].format string Image label (e.g. Image 1)
images[].url string Original image URL
images[].file_size int File size (usually null)
Example response
{
  "title": "示例视频标题",
  "cover": "https://p3-sign.douyinpic.com/cover.jpg",
  "duration": 15.0,
  "medias": [
    {"format": "1080P", "url": "https://v3-dy.douyinvod.com/xxx.mp4", "file_size": 1234567}
  ],
  "images": []
}
XiaoYingAPI · Unified API Aggregation Service