Douyin Downloader V2: Batch Download TikTok Videos & More

Discover Douyin Downloader V2.0 โ€“ the ultimate open-source tool for batch downloading Douyin (Chinese TikTok) videos, image notes, collections, music, and favorites without watermarks. Features progress bars, SQLite deduplication, browser fallback for pagination blocks, concurrent downloads, retry logic, Docker support, and optional OpenAI video transcription. Perfect for researchers, content creators, and personal archives. Easy config-driven setup with automatic cookie capture.

Douyin Downloader V2.0: The Complete Guide to Batch Downloading Chinese TikTok Content

What is Douyin Downloader?

Douyin Downloader V2.0 is a powerful, open-source Python tool designed for batch downloading content from Douyin (China's TikTok). With 7.2k GitHub stars and active development, this tool supports videos, image notes, collections, music, favorites, and profile batch downloads โ€“ all without watermarks.

Key Features

โœ… Multi-format support: Videos, image-notes, collections, music, favorites โœ… No watermarks: Automatically selects clean video sources โœ… Batch profile downloads: Posts, likes, mixes, music from any user โœ… Browser fallback: Handles pagination blocks with manual CAPTCHA support โœ… SQLite deduplication: Never download duplicates across modes โœ… Concurrent downloads: Configurable threading (default 5) โœ… Progress bars: Rich progress display with quiet mode โœ… Retry logic: Exponential backoff (1s, 2s, 5s) โœ… Docker ready: One-command deployment โœ… Video transcription: Optional OpenAI Whisper integration โœ… Incremental downloads: Resume where you left off โœ… Time filtering: Download by date range

Quick Start (5 Minutes)

# 1. Clone & install
pip install -r requirements.txt

# 2. Copy config
cp config.example.yml config.yml

# 3. Auto-capture cookies
python -m tools.cookie_fetcher --config config.yml

# 4. Run!
python run.py -c config.yml

Minimal Config Example

link:
  - https://www.douyin.com/user/MS4wLjABAAAAxxxx
path: ./Downloaded/
mode:
  - post
  - like
thread: 8
database: true
browser_fallback:
  enabled: true
  headless: false

Real-World Use Cases

1. Creator Archive

Download all posts + likes from your favorite creators:

mode: [post, like]
number:
  post: 0  # unlimited
  like: 0

2. Music Collection

Extract original audio tracks:

link: https://www.douyin.com/music/7341234567890123456

3. Research Dataset

Full profile crawl with transcription:

mode: [post, like, mix]
transcript:
  enabled: true
  model: gpt-4o-mini-transcribe

Advanced Features

Cross-Mode Deduplication

Same aweme_id won't download twice across post/like/mix modes.

Browser Fallback

When APIs block pagination (common after ~20 posts), automatically launches browser for manual scrolling + CAPTCHA solving.

Output Structure

Downloaded/
โ””โ”€โ”€ AuthorName/
    โ”œโ”€โ”€ post/
    โ”‚   โ””โ”€โ”€ 2024-02-07_Title_aweme123/
    โ”‚       โ”œโ”€โ”€ video.mp4
    โ”‚       โ”œโ”€โ”€ cover.jpg
    โ”‚       โ”œโ”€โ”€ music.mp3
    โ”‚       โ”œโ”€โ”€ data.json
    โ”‚       โ””โ”€โ”€ transcript.txt
    โ”œโ”€โ”€ like/
    โ””โ”€โ”€ mix/

Docker Deployment

docker build -t douyin-downloader .
docker run -v $(pwd)/config.yml:/app/config.yml -v $(pwd)/Downloaded:/app/Downloaded douyin-downloader

Troubleshooting

"Only 20 posts downloaded?"

browser_fallback:
  enabled: true
  headless: false  # Manual verification needed

"Expired cookies?"

python -m tools.cookie_fetcher --config config.yml

Why Choose This Tool?

  • Production-ready: CI/CD, comprehensive testing
  • Actively maintained: Recent commits (Mar 2026)
  • Feature-complete: Handles edge cases other tools miss
  • MIT License: Free for personal/commercial use

โš ๏ธ Legal Disclaimer

For personal archiving, research, and learning only. Respect platform ToS, copyrights, and privacy rights.

GitHub: jiji262/douyin-downloader

โญ Star it if you found this useful!