{"adoption": {"forks": 1488, "observed_at": "2026-08-28T04:10:31.548504+00:00", "stars": 9507}, "canonical_url": "https://ross.abutalabs.com/products/douyin-downloader", "card": {"archived": false, "artifact_type": "cli-tool", "description": "A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖音批量下载工具，去水印，支持视频、图集、合集、音乐(原声)。", "domain": ["media", "social-media", "developer-tools"], "enriched": true, "function": ["web-scraping", "cli", "gui", "file-upload"], "health_score": 100, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["jiji262/douyin-downloader"], "name": "jiji262/douyin-downloader", "platform": ["python", "cli", "cross-platform"], "pushed_at": "2026-08-26T02:38:35+00:00", "repo": "jiji262/douyin-downloader", "stars": 9507, "tags": ["douyin", "tiktok", "youtube", "video-downloader", "watermark-removal", "batch-download", "sqlite-deduplication", "automation", "command-line", "desktop"], "topics": [], "urls": [], "use_cases": ["download douyin videos without watermark", "batch download all videos from a douyin profile", "download douyin image galleries and collections", "save douyin background music or original audio", "download tiktok videos and photos", "download youtube videos and playlists", "sync my douyin favorites and likes locally"], "what_it_is": "A Python-based Douyin (TikTok China) downloader that fetches videos, image galleries, collections, and music without watermarks, supporting both single links and full profile batch downloads. It includes progress display, retries, SQLite-based deduplication, and a companion desktop GUI app (Douzy) that also handles TikTok and YouTube.", "when_to_avoid": ["you need a general-purpose downloader for many other sites", "you need a library to embed in your own application rather than a tool", "you require official API access or guaranteed availability if douyin changes its endpoints"], "when_to_choose": ["you need watermark-free douyin/tiktok media downloads in bulk", "you want profile-wide or favorites batch archiving with deduplication", "you prefer a scriptable CLI plus an optional desktop GUI"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/douyin-downloader", "repo": "jiji262/douyin-downloader", "role": "main", "score": 96}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:31.548504+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:22:00.852829+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19606e9450f6b1eb813bb3eb5c75cc44c6d0aa49567aa0f8da2b2c6a04e68875", "fetched_at": "2026-08-28T04:10:31.548504+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jiji262/douyin-downloader"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:31.548504+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:22:00.852829+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19606e9450f6b1eb813bb3eb5c75cc44c6d0aa49567aa0f8da2b2c6a04e68875", "fetched_at": "2026-08-28T04:10:31.548504+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jiji262/douyin-downloader"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:22:00.852829+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19606e9450f6b1eb813bb3eb5c75cc44c6d0aa49567aa0f8da2b2c6a04e68875", "fetched_at": "2026-08-28T04:10:31.548504+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jiji262/douyin-downloader"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:10:31.548504+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:31.548504+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:31.548504+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:22:00.852829+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19606e9450f6b1eb813bb3eb5c75cc44c6d0aa49567aa0f8da2b2c6a04e68875", "fetched_at": "2026-08-28T04:10:31.548504+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jiji262/douyin-downloader"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:31.548504+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:31.548504+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:22:00.852829+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19606e9450f6b1eb813bb3eb5c75cc44c6d0aa49567aa0f8da2b2c6a04e68875", "fetched_at": "2026-08-28T04:10:31.548504+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jiji262/douyin-downloader"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:31.548504+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:31.548504+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:31.548504+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:22:00.852829+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19606e9450f6b1eb813bb3eb5c75cc44c6d0aa49567aa0f8da2b2c6a04e68875", "fetched_at": "2026-08-28T04:10:31.548504+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jiji262/douyin-downloader"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:31.548504+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:31.548504+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:22:00.852829+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19606e9450f6b1eb813bb3eb5c75cc44c6d0aa49567aa0f8da2b2c6a04e68875", "fetched_at": "2026-08-28T04:10:31.548504+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jiji262/douyin-downloader"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:22:00.852829+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19606e9450f6b1eb813bb3eb5c75cc44c6d0aa49567aa0f8da2b2c6a04e68875", "fetched_at": "2026-08-28T04:10:31.548504+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jiji262/douyin-downloader"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:22:00.852829+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19606e9450f6b1eb813bb3eb5c75cc44c6d0aa49567aa0f8da2b2c6a04e68875", "fetched_at": "2026-08-28T04:10:31.548504+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jiji262/douyin-downloader"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:22:00.852829+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19606e9450f6b1eb813bb3eb5c75cc44c6d0aa49567aa0f8da2b2c6a04e68875", "fetched_at": "2026-08-28T04:10:31.548504+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jiji262/douyin-downloader"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 85, "rhythm": 99}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1196, "days_push": 8, "days_rel": 8, "gap_med": 5.0, "n_releases_24m": 5}, "score": 96, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}