{"repo":"Evil0ctal/Douyin_TikTok_Download_API","free":true,"listed":false,"github":"https://github.com/Evil0ctal/Douyin_TikTok_Download_API","clone":"git clone https://github.com/Evil0ctal/Douyin_TikTok_Download_API.git","description":"🚀「Douyin_TikTok_Download_API」是一个开箱即用的高性能异步抖音、快手、TikTok、Bilibili数据爬取工具，支持API调用，在线批量解析及下载。","language":"Python","stars":19373,"topics":["api","async","crawler","douyin","douyin-api","douyin-scraper","douyin-tiktok-api","douyin-tiktok-download","fastapi","no-watermark","online-parsing","python","pywebio","scraper","spider","tiktok","tiktok-api","tiktok-scraper","tiktok-signature","web-scraping"],"license":"Apache-2.0","category":"scraper","readme_excerpt":"<div align=\"center\">\n<a href=\"https://douyin.wtf/\" alt=\"logo\" ><img src=\"https://raw.githubusercontent.com/Evil0ctal/Douyin_TikTok_Download_API/main/logo/logo192.png\" width=\"120\"/></a>\n</div>\n<h1 align=\"center\">Douyin_TikTok_Download_API(抖音/TikTok API)</h1>\n\n<div align=\"center\">\n\n[English](./README.en.md) | [简体中文](./README.md)\n\n🚀「Douyin_TikTok_Download_API」是一个开箱即用的高性能异步[抖音](https://www.douyin.com)|[TikTok](https://www.tiktok.com)|[Bilibili](https://www.bilibili.com)数据爬取工具，支持API调用，在线批量解析及下载。\n\n[![GitHub license](https://img.shields.io/github/license/Evil0ctal/Douyin_TikTok_Download_API?style=flat-square)](LICENSE)\n[![Release Version](https://img.shields.io/github/v/release/Evil0ctal/Douyin_TikTok_Download_API?style=flat-square)](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/releases/latest)\n[![GitHub Star](https://img.shields.io/github/stars/Evil0ctal/Douyin_TikTok_Download_API?style=flat-square)](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/stargazers)\n[![GitHub Fork](https://img.shields.io/github/forks/Evil0ctal/Douyin_TikTok_Download_API?style=flat-square)](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/network/members)\n[![GitHub issues](https://img.shields.io/github/issues/Evil0ctal/Douyin_TikTok_Download_API?style=flat-square)](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/issues)\n[![GitHub closed issues](https://img.shields.io/github/issues-closed/Evil0ctal/Douyin_TikTok_Download_API?style=flat-square)](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/issues?q=is%3Aissue+is%3Aclosed)\n![GitHub Repo size](https://img.shields.io/github/repo-size/Evil0ctal/Douyin_TikTok_Download_API?style=flat-square&color=3cb371)\n<br>\n[![PyPI v](https://img.shields.io/pypi/v/douyin-tiktok-scraper?style=flat-square&color=%23a8e6cf)](https://pypi.org/project/douyin-tiktok-scraper/)\n[![PyPI wheel](https://img.shields.io/pypi/wheel/douyin-tiktok-scraper?style=flat-square&color=%23dcedc1)](https://pypi.org/project/douyin-tiktok-scraper/#files)\n[![PyPI dm](https://img.shields.io/pypi/dm/douyin-tiktok-scraper?style=flat-square&color=%23ffd3b6)](https://pypi.org/project/douyin-tiktok-scraper/)\n[![PyPI pyversions](https://img.shields.io/pypi/pyversions/douyin-tiktok-scraper?color=%23ffaaa5&style=flat-square)](https://pypi.org/project/douyin-tiktok-scraper/)\n<br>\n[![API status](https://img.shields.io/website?down_color=lightgrey&label=API%20Status&down_message=API%20offline&style=flat-square&up_color=%23dfb9ff&up_message=online&url=https%3A%2F%2Fapi.douyin.wtf%2Fdocs)](https://api.douyin.wtf/docs)\n[![TikHub-API status](https://img.shields.io/website?down_color=lightgrey&label=TikHub-API%20Status&down_message=API%20offline&style=flat-square&up_color=%23dfb9ff&up_message=online&url=https%3A%2F%2Fapi.tikhub.io%2Fdocs)](https://api.tikhub.io/docs)\n<br>\n[![爱发电](https://img.shields.io/badge/爱发电-evil0ctal-blue.svg?style=flat-square&color=ea4aaa&logo=github-sponsors)](https://afdian.net/@evil0ctal)\n[![Kofi](https://img.shields.io/badge/Kofi-evil0ctal-orange.svg?style=flat-square&logo=kofi)](https://ko-fi.com/evil0ctal)\n[![Patreon](https://img.shields.io/badge/Patreon-evil0ctal-red.svg?style=flat-square&logo=patreon)](https://www.patreon.com/evil0ctal)\n\n</div>\n\n## 赞助商\n\n这些赞助商已付费放置在这里，**Douyin_TikTok_Download_API** 项目将永远免费且开源。如果您希望成为该项目的赞助商，请查看我的 [GitHub 赞助商页面](https://github.com/sponsors/evil0ctal)。\n\n<p align=\"center\">\n  <a href=\"https://tikhub.io/?utm_source=github.com/Evil0ctal/Douyin_TikTok_Download_API&utm_medium=marketing_social&utm_campaign=retargeting&utm_content=carousel_ad\">\n    <img style=\"border-radius:20px\" width=\"845\" height=\"845\" alt=\"TikHub IO_Banner zh\" src=\"https://github.com/user-attachments/assets/18ce4674-83b3-4312-a5d8-a45cf7cef7b2\">\n  </a>\n</p>\n\n[TikHub](https://tikhub.io/?utm_source=github.com/Evil0ctal/Douyin_TikTok_Download_API&utm_medium=marketing_social&utm_campaign=retargeting&utm_content=carousel_ad) 提供超过 700 个端点，可用于从 14+ 个社交媒体平台获取与分析数据 —— 包括视频、用户、评论、商店、商品与趋势等，一站式完成所有数据访问与分析。\n\n通过每日签到，可以获取免费额度。可以使用我的注册邀请链接：[https://user.tikhub.io/users/signup?referral_code=1wRL8eQk](https://user.tikhub.io/users/signup?referral_code=1wRL8eQk&utm_source=github.com/Evil0ctal/Douyin_TikTok_Download_API&utm_medium=marketing_social&utm_campaign=retargeting&utm_content=carousel_ad) 或 邀请码：`1wRL8eQk`，注册并充值即可获得`$2`额度。\n\n[TikHub](https://tikhub.io/?utm_source=github.com/Evil0ctal/Douyin_TikTok_Download_API&utm_medium=marketing_social&utm_campaign=retargeting&utm_content=carousel_ad) 提供以下服务：\n\n- 丰富的数据接口\n- 每日签到免费获取额度\n- 高质量的API服务\n- 官网：[https://tikhub.io/](https://tikhub.io/?utm_source=github.com/Evil0ctal/Douyin_TikTok_Download_API&utm_medium=marketing_social&utm_campaign=retargeting&utm_content=carousel_ad)\n- GitHub地址：[https://github.com/TikHubIO/](https://github.com/TikHubIO/)\n\n\n## 👻介绍\n\n> 🚨如需使用私有服务器运行本项目，请参考：[部署准备工作](./README.md#%EF%B8%8F%E9%83%A8%E7%BD%B2%E5%89%8D%E7%9A%84%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C%E8%AF%B7%E4%BB%94%E7%BB%86%E9%98%85%E8%AF%BB), [Docker部署](./README.md#%E9%83%A8%E7%BD%B2%E6%96%B9%E5%BC%8F%E4%BA%8C-docker), [一键部署](./README.md#%E9%83%A8%E7%BD%B2%E6%96%B9%E5%BC%8F%E4%B8%80-linux)\n\n本项目是基于 [PyWebIO](https://github.com/pywebio/PyWebIO)，[FastAPI](https://fastapi.tiangolo.com/)，[HTTPX](https://www.python-httpx.org/)，快速异步的[抖音](https://www.douyin.com/)/[TikTok](https://www.tiktok.com/)数据爬取工具，并通过Web端实现在线批量解析以及下载无水印视频或图集，数据爬取API，iOS快捷指令无水印下载等功能。你可以自己部署或改造本项目实现更多功能，也可以在你的项目中直接调用[scraper.py](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/blob/Stable/scraper.py)或安装现有的[pip包](https://pypi.org/project/douyin-tiktok-scraper/)作为解析库轻松爬取数据等.....\n\n*一些简单的运用场景：*\n\n*下载禁止下载的视频，进行数据分析，iOS无水印下载（搭配[iOS自带的快捷指令APP](https://apps.apple.com/cn/app/%E5%BF%AB%E6%8D%B7%E6%8C%87%E4%BB%A4/id915249334)\n配合本项目API实现应用内下载或读取剪贴板下载）等.....*\n\n## 🔊 V4 版本备注\n\n- 感兴趣一起写这个项目的给请加微信`Evil0ctal`备注github项目重构，大家可以在群里互相交流学习，不允许发广告以及违法的东西，纯粹交朋友和技术交流。\n- 本项目使用`X-Bogus`算法以及`A_Bogus`算法请求抖音和TikTok的Web API。\n- 由于Douyin的风控，部署完本项目后请在**浏览器中获取Douyin网站的Cookie然后在config.yaml中进行替换。**\n- 请在提出issue之前先阅读下方的文档，大多数问题的解决方法都会包含在文档中。\n- 本项目是完全免费的，但使用时请遵守：[Apache-2.0 license](https://github.com/Evil0ctal/Douyin_TikTok_Download_API?tab=Apache-2.0-1-ov-file#readme)\n\n## 🔖TikHub.io API\n\n[TikHub.io](https://tikhub.io/?utm_source=github.com/Evil0ctal/Douyin_TikTok_Download_API&utm_medium=marketing_social&utm_campaign=retargeting&utm_content=carousel_ad) 提供超过 700 个端点，可用于从 14+ 个社交媒体平台获取与分析数据 —— 包括视频、用户、评论、商店、商品与趋势等，一站式完成所有数据访问与分析。\n\n如果您想支持 [Douyin_TikTok_Download_API](https://github.com/Evil0ctal/Douyin_TikTok_Download_API) 项目的开发，我们强烈建议您选择 [TikHub.io](https://tikhub.io/?utm_source=github.com/Evil0ctal/Douyin_TikTok_Download_API&utm_medium=marketing_social&utm_campaign=retargeting&utm_content=carousel_ad)。\n\n#### 特点：\n\n> 📦 开箱即用\n\n简化使用流程，利用封装好的SDK迅速开展开发工作。所有API接口均依据RESTful架构设计，并使用OpenAPI规范进行描述和文档化，附带示例参数，确保调用更加简便。\n\n> 💰 成本优势\n\n不预设套餐限制，没有月度使用门槛，所有消费按实际使用量即时计费，并且根据用户每日的请求量进行阶梯式计费，同时可以通过每日签到在用户后台获取免费的额度，并且这些免费额度不会过期。\n\n> ⚡️ 快速支持\n\n我们有一个庞大的Discord社区服务器，管理员和其他用户会在服务器中快速的回复你，帮助你快速解决当前的问题。\n\n> 🎉 拥抱开源\n\nTikHub的部分源代码会开源在Github上，并且会赞助一些开源项目的作者。\n\n#### 注册与使用：\n\n通过每日签到，可以获取免费额度。可以使用我的注册邀请链接：[https://user.tikhub.io/users/signup?referral_code=1wRL8eQk](https://user.tikhub.io/users/signup?referral_code=1wRL8eQk&utm_source=github.com/Evil0ctal/Douyin_TikTok_Download_API&utm_medium=marketing_social&utm_campaign=retargeting&utm_content=carousel_ad) 或 邀请码：`1wRL8eQk`，注册并充值即可获得`$2`额度。\n\n#### 相关链接：\n\n- 官网：[https://tikhub.io/](https://tikhub.io/?utm_source=github.com/Evil0ctal/Douyin_TikTok_Download_API&utm_medium=marketing_social&utm_campaign=retargeting&utm_content=carousel_ad)\n- API 文档：[https://api.tikhub.io/docs](https://api.tikhub.io/docs)\n- GitHub：[https://github.com/TikHubIO/](https://github.com/TikHubIO/)\n- Discord：[https://discord.com/invite/aMEAS8Xsvz](https://discord.com/invite/aMEAS8Xsvz)\n\n## 🖥演示站点: 我很脆弱...请勿压测(·•᷄ࡇ•᷅ ）\n\n> 😾演示站点的在线下载功能已关闭，并且由于Cookie原因，Douyin的解析以及API服务在Demo站点无法保证可用性。\n\n🍔Web APP: [https://douyin.wtf/](https://douyin.wtf/)\n\n🍟API Document: [https://douyin.wtf/docs](https://douyin.wtf/docs)\n\n🌭TikHub API Document: [https://api.tikhub.io/docs](https://api.tikhub.io/docs)\n\n💾iOS Shortcut(快捷指令): [Shortcut release](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/discussions/104?sort=top)\n\n📦️桌面端下载器(仓库推荐)：\n\n- [Johnserf-Seed/TikTokDownload](https://github.com/Johnserf-Seed/TikTokDownload)\n- [HFrost0/bilix](https://github.com/HFrost0/bilix)\n- [Tairraos/TikDown - [需更新]](https://github.com/Tairraos/TikDown/)\n\n## ⚗️技术栈\n\n* [/app/web](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/blob/main/app/web) - [PyWebIO](https://www.pyweb.io/)\n* [/app/api](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/blob/main/app/api) - [FastAPI](https://fastapi.tiangolo.com/)\n* [/crawlers](https://github.com/Evil0ctal/Douyin_TikTok_Download_API/blob/main/crawlers) - [HTTPX](https://www.python-httpx.org/)\n\n> ***/crawlers***\n\n- 向不同平台的API提交请求并取回数据，处理后返回字典(dict)，支持异步。\n\n> ***/app/api***\n\n- 获得请求参数并使用`Crawlers`相关类处理数据后以JSON形式返回，视频下载，配合iOS快捷指令实现快速调用，支持异步。\n\n> ***/app/web***\n\n- 使用`PyWebIO`制作的简易Web程序，将网页输入的值进行处理后使用`Crawlers`相关类处理接口输出相关数据在网页上。\n\n***以上文件的参数大多可在对应的`config.yaml`中进行修改***\n\n## 💡项目文件结构\n\n```\n./Douyin_TikTok_Download_API\n├─app\n│  ├─api\n│  │  ├─endpoints\n│  │  └─models\n│  ├─download\n│  └─web\n│      └─views\n└─crawlers\n  ├─bilibili\n  │  └─web  \n  ├─douyin\n  │  └─web\n  ├─hybrid\n  ├─tiktok\n  │  ├─app\n  │  └─web\n  └─utils\n```\n\n## ✨支持功能：\n\n- 网页端批量解析(支持抖音/TikTok混合解析)\n- 在线下载视频或图集。\n- 制作[pip包](https://pypi.org/project/douyin-tiktok-scraper/)方便快速导入你的项目\n- [iOS快捷指令快速调用API](https://apps.apple.com/cn/app/%E5%BF%AB%E6%8D%B7%E6%8C%87%E4%BB%A4/id915249334)实现应用内下载无水印视频/图集\n- 完善的API文档([Demo/演示](https://api.douyin.wtf/docs))\n- 丰富的API接口：\n  - 抖音网页版API\n    \n    - [x] 视频数据解析\n    - [x] 获取用户主页作品数据\n    - [x] 获取用户主页喜欢作品数据\n    - [x] 获取用户主页收藏作品数据\n    - [x] 获取用户主页信息\n    - [x] 获取用户合辑作品数据\n    - [x] 获取用户直播流数据\n    - [x] 获取指定用户的直播流数据\n    - [x] 获取直播间送礼用户排行榜\n    - [x] 获取单个视频评论数据\n    - [x] 获取指定视频的评论回复数据\n    - [x] 生成msToken\n    - [x] 生成verify_fp\n    - [x] 生成s_v_web_id\n    - [x] 使用接口网址生成X-Bogus参数\n    - [x] 使用接口网址生成A_Bogus参数\n    - [x] 提取单个用","default_branch":"main","files":94,"tree":[".github/ISSUE_TEMPLATE/bug_report.md",".github/ISSUE_TEMPLATE/bug_report_CN.md",".github/ISSUE_TEMPLATE/feature_request.md",".github/ISSUE_TEMPLATE/feature_request_CN.md",".github/workflows/codeql-analysis.yml",".github/workflows/docker-image.yml",".github/workflows/readme.yml",".gitignore","Dockerfile","LICENSE","Procfile","README.en.md","README.md","Screenshots/BT_Linux_Panel_Deploy_1.png","Screenshots/BT_Linux_Panel_Deploy_2.png","Screenshots/api_image_result.png","Screenshots/api_video_result.png","Screenshots/benchmarks/Douyin_API.png","Screenshots/benchmarks/Douyin_API_Douyin_wtf.png","Screenshots/benchmarks/TikTok_API.png","Screenshots/benchmarks/TikTok_API_Douyin_wtf.png","Screenshots/benchmarks/info","Screenshots/home.png","Screenshots/home_en.png","Screenshots/multi_results.png","Screenshots/multi_results_en.png","Screenshots/single_result.png","Screenshots/single_result_en.png","Screenshots/tiktok_API.png","Screenshots/v3_screenshots/Home.png","Screenshots/v3_screenshots/Home_en.png","Screenshots/v3_screenshots/info","app/api/endpoints/bilibili_web.py","app/api/endpoints/douyin_web.py","app/api/endpoints/download.py","app/api/endpoints/hybrid_parsing.py","app/api/endpoints/ios_shortcut.py","app/api/endpoints/tiktok_app.py","app/api/endpoints/tiktok_web.py","app/api/models/APIResponseModel.py","app/api/router.py","app/main.py","app/web/app.py","app/web/views/About.py","app/web/views/Document.py","app/web/views/Downloader.py","app/web/views/EasterEgg.py","app/web/views/ParseVideo.py","app/web/views/Shortcuts.py","app/web/views/ViewsUtils.py","bash/install.sh","bash/update.sh","chrome-cookie-sniffer/README.md","chrome-cookie-sniffer/background.js","chrome-cookie-sniffer/manifest.json","chrome-cookie-sniffer/popup.html","chrome-cookie-sniffer/popup.js","config.yaml","crawlers/base_crawler.py","crawlers/bilibili/web/config.yaml","crawlers/bilibili/web/endpoints.py","crawlers/bilibili/web/models.py","crawlers/bilibili/web/utils.py","crawlers/bilibili/web/web_crawler.py","crawlers/bilibili/web/wrid.py","crawlers/douyin/web/abogus.py","crawlers/douyin/web/config.yaml","crawlers/douyin/web/endpoints.py","crawlers/douyin/web/models.py","crawlers/douyin/web/utils.py","crawlers/douyin/web/web_crawler.py","crawlers/douyin/web/xbogus.py","crawlers/hybrid/hybrid_crawler.py","crawlers/tiktok/app/app_crawler.py","crawlers/tiktok/app/config.yaml","crawlers/tiktok/app/endpoints.py","crawlers/tiktok/app/models.py","crawlers/tiktok/web/config.yaml","crawlers/tiktok/web/endpoints.py","crawlers/tiktok/web/models.py","crawlers/tiktok/web/utils.py","crawlers/tiktok/web/web_crawler.py","crawlers/utils/api_exceptions.py","crawlers/utils/deprecated.py","crawlers/utils/logger.py","crawlers/utils/utils.py","daemon/Douyin_TikTok_Download_API.service","docker-compose.yml","logo/logo.txt","logo/logo192.png","logo/logo500.png","requirements.txt","start.py","start.sh"],"storefront":"/r/Evil0ctal","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Evil0ctal/Douyin_TikTok_Download_API/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}