Skip to content
douyin

v0.1.0

Initial release of douyin-cli on the any-cli/kit framework.

The first release, rebuilt on the any-cli/kit framework. Each read operation is declared once and exposed three ways: as a CLI subcommand, over HTTP (douyin serve), and over MCP (douyin mcp).

Read commands

  • douyin hot: the hot-search billboard (抖音热搜), with --tab realtime|video|music|star
  • douyin video <url-or-id>: one video record
  • douyin user <secuid-or-url>: a public profile, addressed by sec_uid
  • douyin posts <secuid-or-url>: a user's public videos, paged
  • douyin comments <url-or-id>: top-level comments under a video
  • douyin search <query...>: mixed video and user hits

Plus douyin raw <url> (dump an endpoint's body untouched), douyin serve, douyin mcp, douyin completion, and douyin version.

Open and walled

  • The realtime hot-search word billboard is open and returns real data from any IP, with no API key and no signing.
  • The other billboard tabs (video, music, star) and the signed surfaces (video, user, posts, comments, search) are implemented against the signed www.douyin.com/aweme/v1/web/* API, with a reimplemented a_bogus signature and a fresh msToken. From a non-China or datacenter IP they are anti-bot-walled and exit 4 (needs auth) cleanly; they serve from a China IP or a warm browser session. The tool never fakes data and never crashes on a wall.

Output

Table output at a terminal, JSONL when piped, plus json, markdown, csv, tsv, url, and raw. --fields, --template, and -n/--limit shape the stream.

Distribution

Pure-Go binary, CGO_ENABLED=0. One tag push fans out to archives for Linux, macOS, Windows, and FreeBSD, Linux packages (deb, rpm, apk), a multi-arch GHCR image (ghcr.io/tamnd/douyin), and the Homebrew and Scoop package managers.