# Douyin_TikTok_Download_API [Health: Active]

**Category:** 🌐 Social Media  
**Repository:** https://github.com/Evil0ctal/Douyin_TikTok_Download_API  
**GitHub Stars:** 20925  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/douyin-tiktok-download-api

## Description
自托管的抖音、TikTok、B 站数据采集与无水印视频下载 API，支持 AI agent 通过 MCP 调用与离线语音转文字，Docker 一键部署。| Self-hosted TikTok, Douyin & Bilibili scraper and no-watermark video downloader — async REST API, MCP server for AI agents, CLI and web console, plus offline speech-to-text for downloaded videos. Self-healing identity pool, PostgreSQL archive, one docker compose up.

## Claude Desktop Quick Installation
Remote MCP endpoint (confidence: high). Install path detected from listing signals. Add as a URL/SSE server in your client:

```json
"mcpServers": {
  "douyin-tiktok-download-api": {
    "url": "https://api.tikhub.io/?utm_source=douyin_tiktok_download_api&amp;utm_medium=referral&amp;utm_campaign=sponsor&amp;utm_content=readme_docs"
  }
}
```

## Documentation

## What Douyin_TikTok_Download_API does

Douyin_TikTok_Download_API provides a self-hosted data layer for Douyin, TikTok, and Bilibili. AI agents can operate it through MCP, while applications can use the REST API and people can use the web console or CLI. The project is intended to run on your own machine rather than depend on a hosted account, quota, or intermediary service.

Its collection scope includes posts, author information, comments, sounds, hashtags, live rooms, trending boards, and search results. It can also download videos and image albums without a watermark by selecting a clean stream already published by the platform. Downloaded videos can be converted to text locally with offline speech-to-text.

## How it works

A Docker Compose deployment brings up the self-hosted application. The service uses a self-maintaining identity pool: a headless browser creates guest identities, and the pool replenishes usable identities when their number falls. Requests are scheduled across health tiers with identity rotation, per-identity concurrency control, token buckets for identity-and-endpoint combinations, and endpoint circuit breakers.

Collection requests are asynchronous by default. The API returns a task identifier with HTTP 202, while a `wait` query option can switch a request back to synchronous behavior. Parsed results are retained in PostgreSQL, with Redis used as part of the v5 runtime. This archive allows collected content to remain available even if it is later removed from the source platform.

The console exposes operational views for identities, scheduling, requests, downloads, the archive, API documentation, and MCP. API keys support scopes and roles and are managed through the console.

## Setup and configuration

The simplest deployment path is Docker Compose:

```bash
docker compose up
```

The project targets Python 3.12 or newer. Running it locally gives the operator control of the application, stored data, identity pool, and API access. The project also publishes a Docker image and provides a public demonstration instance for evaluation.

The MCP interface is part of the application rather than a separate hosted dependency. After deployment, use the service's MCP documentation and console to connect an agent to the running instance. The web console supports English and Simplified Chinese interfaces.

## Tools and capabilities

- Collect Douyin, TikTok, and Bilibili posts, authors, and comments.
- Retrieve sounds, hashtags, live rooms, trending boards, and search results.
- Download watermark-free videos and image albums.
- Convert downloaded video to text without sending it to an external speech service.
- Archive parsed results in PostgreSQL.
- Submit asynchronous jobs and inspect their operational state through the console.
- Let AI agents invoke the service through MCP.

## Limitations and notes

The public demo is read-only and is intended for testing the interface rather than as a production dependency. Demo requests are not written to its request log or archive. It applies a shared limit of 30 requests per 10 seconds; exceeding that limit triggers a 10-second refusal period. The instance may be unavailable, reset, or disabled without notice.

The service depends on the source platforms, their access behavior, and the health of its identity pool. Self-hosting avoids dependence on the public demo, but the operator remains responsible for deployment, storage, API-key access, and platform-appropriate use of collected material.

_Full upstream README: https://allmcps.com/mcp/douyin-tiktok-download-api/readme_

