{"id":16322542,"url":"https://github.com/luispadron/youtube-subscription-importer","last_synced_at":"2025-06-26T15:34:20.884Z","repository":{"id":71954126,"uuid":"99154506","full_name":"luispadron/YouTube-Subscription-Importer","owner":"luispadron","description":"Imports subscriptions from one YouTube account to another using Python 3.","archived":false,"fork":false,"pushed_at":"2017-08-08T01:19:24.000Z","size":8,"stargazers_count":15,"open_issues_count":1,"forks_count":8,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-06-23T15:59:16.753Z","etag":null,"topics":["google","google-api","python3","subscriptions","youtube","youtube-api"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/luispadron.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,"publiccode":null,"codemeta":null}},"created_at":"2017-08-02T19:41:41.000Z","updated_at":"2024-07-15T21:39:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"8a2f4eb4-93c5-46dc-b7fe-3d86b9bcc308","html_url":"https://github.com/luispadron/YouTube-Subscription-Importer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/luispadron/YouTube-Subscription-Importer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luispadron%2FYouTube-Subscription-Importer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luispadron%2FYouTube-Subscription-Importer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luispadron%2FYouTube-Subscription-Importer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luispadron%2FYouTube-Subscription-Importer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/luispadron","download_url":"https://codeload.github.com/luispadron/YouTube-Subscription-Importer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luispadron%2FYouTube-Subscription-Importer/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262095154,"owners_count":23258102,"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":["google","google-api","python3","subscriptions","youtube","youtube-api"],"created_at":"2024-10-10T22:51:14.641Z","updated_at":"2025-06-26T15:34:20.855Z","avatar_url":"https://github.com/luispadron.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Subscription Importer\n\nImports subscriptions from an xml/rss feed file into a youtube account. This is useful for transferring youtube subscriptions from one youtube account to another.\n\n## Usage\n\n1. Get the properly formatted xml file from the account you wish to transfer subscriptions from\n\n\t- Go to Subscriptions\n\t- Go to Manage Subscriptions\n\t- Scroll to end of page\n\t- Click Export Subscriptions next to Export to RSS readers\n\n2. Get authenticated, since this requires access to your google account you must generate the correct `client_secrets.json` file\n\n\t- Create project in the [Developer Console](https://console.developers.google.com/apis/dashboard)\n\t- Next register for YouTube API, go to the project you just created and in the [Developer Console](https://console.developers.google.com/apis/dashboard). \n\t- Go to the [API Library](https://console.developers.google.com/apis/library) and turn __YouTube Data API__ to __ON__.\n\t- Download JSON credentials, go to __Credentials__ if not created already, create one must be __OAuth 2.0__. Select the created credential and click on __Download JSON__.\n\t- Rename the downloaded JSON file to `client_secrets.json` and drag into this root directory, must be in the same folder as `subscribe.py`.\n\t\n3. Make sure all required packages are installed before running\n\n\tTo do this I recommend using a [virtual environment](https://virtualenv.pypa.io/en/stable/). \n\t\n\t```bash\n\t$ virtualenv -p python3 env\n\t$ source env/bin/activate\n\t$ pip install -r requirements.txt\n\t\n\t```\n\n4. Run the script\n\t\n\tTo do this either drag the exported xml file from step 1 into this root directory and name it `subscriptions.xml` or run the script with this argument \n\t\n\t```bash\n\t$ python3 subscribe.py --xml /path/to/xml/file.xml\n\t```\n\t\n\t\n\t\n## Limitations\n\nThere is a request cap every few hours, I believe the cap is around ~70 subscriptions per few hours. So you may have to run the script several times before being able to fully import everything. I have not yet figured out a way around this.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluispadron%2Fyoutube-subscription-importer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fluispadron%2Fyoutube-subscription-importer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluispadron%2Fyoutube-subscription-importer/lists"}