{"id":13624331,"url":"https://github.com/anatolykopyl/youtube-cdl","last_synced_at":"2025-06-10T17:07:38.894Z","repository":{"id":128235407,"uuid":"356655378","full_name":"anatolykopyl/youtube-cdl","owner":"anatolykopyl","description":"📼 Bulk youtube subscription download","archived":false,"fork":false,"pushed_at":"2021-04-16T16:07:47.000Z","size":388,"stargazers_count":73,"open_issues_count":0,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-03T22:51:11.048Z","etag":null,"topics":["command-line","command-line-tool","data-hoarder","python","python3","youtube","youtube-api","youtube-dl","youtube-downloader"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anatolykopyl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2021-04-10T17:49:14.000Z","updated_at":"2025-02-18T07:45:30.000Z","dependencies_parsed_at":"2023-07-11T13:18:11.819Z","dependency_job_id":null,"html_url":"https://github.com/anatolykopyl/youtube-cdl","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anatolykopyl%2Fyoutube-cdl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anatolykopyl%2Fyoutube-cdl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anatolykopyl%2Fyoutube-cdl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anatolykopyl%2Fyoutube-cdl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anatolykopyl","download_url":"https://codeload.github.com/anatolykopyl/youtube-cdl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anatolykopyl%2Fyoutube-cdl/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259114473,"owners_count":22807244,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["command-line","command-line-tool","data-hoarder","python","python3","youtube","youtube-api","youtube-dl","youtube-downloader"],"created_at":"2024-08-01T21:01:41.416Z","updated_at":"2025-06-10T17:07:38.869Z","avatar_url":"https://github.com/anatolykopyl.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# youtube-cdl\n*Command line tool based on youtube-dl to easily download selected channels from your subscriptions.*\n\n![Screenshot](screenshot.png)\n\nThis tool is very handy if you want to hoard a lot of videos, but not all of them.\n\n## Setup:\n\n1. Clone repo \u0026 install dependencies:\n```bash\ngit clone https://github.com/anatolykopyl/youtube-cdl.git\ncd youtube-cdl\npip install -r requirements.txt\n# If on windows instead run\n# pip install -r windows.txt\n```\n2. Create or select a project in the [API Console](https://console.developers.google.com/). \nComplete the following tasks in the API Console for your project:\n    \n    1. In the [library panel](https://console.developers.google.com/apis/library), \n    search for the YouTube Data API v3. Click into the listing for that API and make \n    sure the API is enabled for your project.\n\n    2. In the [credentials panel](https://console.developers.google.com/apis/credentials), create an **OAuth client ID.** \n            \n        This will need you to configure your consent screen:\n\n        * Only \"App name\", \"User support email\" and \"Developer contact email\" fields are required. \n        * On \"Test users\" step add yourself (your email address).\n\n        After you've set up your consent screen go back to the \"Credentials\" tab\n        and create OAuth Client ID credentials.\n\n        Set the application type to Desktop App.\n\n        Download the JSON file that contains your OAuth 2.0 credentials. The file \n        has a name like client_secret_CLIENTID.json, where CLIENTID is the client ID \n        for your project.\n\n3. Rename the downloaded file to `client_secrets.json` and put it in the project root.\n\n4. Run the script:\n```bash\npython main.py\n```\n\n## Usage:\n\n* Run the script and go through your subscriptions one by one:\n```bash\npython main.py\n```\n\n* Specify format [like in youtube-dl](https://github.com/ytdl-org/youtube-dl#user-content-format-selection-examples):\n```bash\npython main.py -f 'bestaudio/best'\n```\n\n* Download all the videos from all channels you're subscribed to:\n```bash\npython main.py -a\n```\n\n* Download into a specified directory:\n```bash\npython main.py -o path/to/dir\n```\n\nWhen you go through all of your subscriptions and mark all of them as `y/n` your selections \nwill be saved in `download_list.json`. \n\nIf for some reason you stopped the script, you can \ncontinue downloading without going through all of your subscriptions again by running \n`python main.py -i download_list.json`. \n\nOr if you made a mistake while going through the channels you can just edit `download_list.json` \nand rerun with it passed as an argument.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanatolykopyl%2Fyoutube-cdl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanatolykopyl%2Fyoutube-cdl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanatolykopyl%2Fyoutube-cdl/lists"}