Douyin, from the command line
A command line for Douyin (抖音), ByteDance's Chinese TikTok. One pure-Go binary, no API key, no login. Reads the hot-search billboard and the signed web API, and serves the same operations over HTTP and MCP.
douyin reads public Douyin data and prints clean, pipeable records. It needs
no API key and no login. It reads the same public web surface a logged-out
browser sees: the open iesdouyin hot-search billboard, and the
www.douyin.com/aweme/v1/web/* endpoints that the page's own JavaScript calls,
signed the way the web client signs them. It serves the same read operations
over HTTP (douyin serve) and MCP (douyin mcp).

douyin hot # hot-search billboard, in rank order
douyin hot --tab video -n 10 # top 10 hot videos
douyin search 美食教程 # mixed video and user search hits
douyin hot | jq -r '.word' # JSONL when piped, ready for jq
Output is a table when you are at a terminal and JSONL when you pipe, so
douyin hot | jq works with no flags.
Some surfaces are walled by IP and region, and the tool is honest about it.
hot (the realtime word billboard) is open from any IP. The other billboard
tabs (video, music, star) and the signed surfaces (video, user,
posts, comments, search) are anti-bot-walled from non-China and
datacenter IPs. They are implemented correctly and serve from a China IP or a
warm browser session, but from elsewhere the command detects the wall and exits
cleanly instead of faking data.
Where to go next
- New here? Read the introduction, then the quick start.
- Installing? See installation for prebuilt binaries, packages, and one-line installers.
- Doing a specific job? The guides are task-oriented walkthroughs.
- Need every flag? The CLI reference is the full surface.