explaingit

jiji262/douyin-downloader

Analysis updated 2026-05-18

8,456PythonAudience · developerComplexity · 3/5LicenseSetup · moderate

TLDR

A Python command-line tool that downloads Douyin (Chinese TikTok) videos, photos, music, and full creator profiles without watermarks, with deduplication and browser fallback for blocked pages.

Mindmap

mindmap
  root((douyin-downloader))
    What it downloads
      Videos without watermarks
      Photo posts and collections
      Music and live streams
      Full creator profiles
    Key features
      SQLite deduplication
      Browser fallback for blocks
      Concurrent downloads
      Download integrity checks
    Configuration
      YAML config file
      CLI arguments
      Cookie-based auth
      Docker support
    Use cases
      Back up creator content
      Archive favorite posts
      Monitor new uploads
      Collect comments
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Back up an entire Douyin creator's video and photo archive to your local drive without watermarks.

USE CASE 2

Set up a recurring download job that checks a profile for new posts and saves only content you have not downloaded yet.

USE CASE 3

Record a Douyin live stream to a local file while it is happening.

USE CASE 4

Collect all comments from a set of Douyin posts and save them as JSON for analysis.

What is it built with?

PythonSQLitePlaywrightFastAPIDockerYAML

How does it compare?

jiji262/douyin-downloaderfunstory-ai/babeldocstamparm/maltrail
Stars8,4568,4578,439
LanguagePythonPythonPython
Setup difficultymoderatemoderatemoderate
Complexity3/52/53/5
Audiencedeveloperresearcherops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires valid Douyin session cookies obtained by running a helper script after logging into Douyin in a browser.

Licensed under Apache 2.0, which allows free use, modification, and distribution including for commercial purposes, as long as you include the license notice.

In plain English

Douyin Downloader is a Python tool for saving content from Douyin, which is the Chinese version of TikTok. If you have ever wanted to back up videos, photo posts, music, or entire creator profiles from Douyin without the platform's watermark stamped on them, this tool handles all of that from the command line or a config file. You point it at a Douyin link, a user profile, or a list of links in a YAML config file, and it fetches the content at the highest available quality. It automatically picks the watermark-free version of each video when one exists. Downloads run several at a time by default, and if a file gets interrupted, an integrity check catches the broken download and cleans it up so you are not left with partial files. To avoid downloading the same thing twice, the tool keeps a SQLite database that tracks what has already been saved. This matters especially for batch profile downloads, where you might run the tool repeatedly to catch new posts from a creator over time. You can also set time filters so it only grabs content posted within a date range. Some Douyin pages block automated requests after a certain point. The tool handles this by optionally launching a real browser session in the background, pausing so you can solve any verification challenge manually, and then continuing the download once the page is accessible. This fallback keeps large batch jobs from stalling. Beyond videos and photos, it can record live streams, collect comments from posts, and pull hot-search or keyword-search results. There is also an optional REST API server mode, so other programs can trigger downloads without running the command-line tool directly. A desktop app called Douzy, currently in closed beta, wraps the same backend with a visual interface where you paste a link and watch progress in real time. Setup requires Python 3.8 or later, a requirements install, and Douyin session cookies. The cookies step is the trickiest part: you log into Douyin in a browser and then run a helper script that captures those cookies automatically. Docker deployment is also supported if you prefer a containerized setup.

Copy-paste prompts

Prompt 1
I want to download all videos from a Douyin user profile using douyin-downloader. Show me a minimal config.yml that downloads their posts without watermarks and skips files I already have.
Prompt 2
My douyin-downloader batch job keeps getting blocked by Douyin pagination. How do I enable browser fallback mode so it opens a real browser and waits for me to solve the CAPTCHA?
Prompt 3
I want to run douyin-downloader on a schedule to pick up new posts from a creator each day. What config settings and command do I need for incremental downloads that stop when they hit already-saved content?
Prompt 4
How do I deploy douyin-downloader with Docker and mount my config and download folder so the container can read cookies and write files to the host?

Frequently asked questions

What is douyin-downloader?

A Python command-line tool that downloads Douyin (Chinese TikTok) videos, photos, music, and full creator profiles without watermarks, with deduplication and browser fallback for blocked pages.

What language is douyin-downloader written in?

Mainly Python. The stack also includes Python, SQLite, Playwright.

What license does douyin-downloader use?

Licensed under Apache 2.0, which allows free use, modification, and distribution including for commercial purposes, as long as you include the license notice.

How hard is douyin-downloader to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is douyin-downloader for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub jiji262 on gitmyhub

Verify against the repo before relying on details.