{"id":16235912,"url":"https://github.com/lukethacoder/spotify-playlist-backup","last_synced_at":"2025-10-14T06:31:43.796Z","repository":{"id":42184646,"uuid":"510614877","full_name":"lukethacoder/spotify-playlist-backup","owner":"lukethacoder","description":"🎵 Scheduled Python script to backup your personal Spotify playlists incase the platform ever goes down (or you just like having your data).","archived":false,"fork":false,"pushed_at":"2023-05-17T23:45:03.000Z","size":624,"stargazers_count":11,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-06T16:45:10.664Z","etag":null,"topics":["cron","spotify","spotify-api","spotify-backup","spotify-developers"],"latest_commit_sha":null,"homepage":"https://blog.lukesecomb.digital/article/spotify-playlist-backup-using-github-actions","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/lukethacoder.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":"2022-07-05T06:31:42.000Z","updated_at":"2025-02-18T01:17:20.000Z","dependencies_parsed_at":"2024-10-27T20:53:42.410Z","dependency_job_id":"83a5333d-53f0-42cc-8656-2ce4025d0472","html_url":"https://github.com/lukethacoder/spotify-playlist-backup","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/lukethacoder/spotify-playlist-backup","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukethacoder%2Fspotify-playlist-backup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukethacoder%2Fspotify-playlist-backup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukethacoder%2Fspotify-playlist-backup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukethacoder%2Fspotify-playlist-backup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lukethacoder","download_url":"https://codeload.github.com/lukethacoder/spotify-playlist-backup/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukethacoder%2Fspotify-playlist-backup/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279018110,"owners_count":26086281,"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","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cron","spotify","spotify-api","spotify-backup","spotify-developers"],"created_at":"2024-10-10T13:28:05.981Z","updated_at":"2025-10-14T06:31:43.781Z","avatar_url":"https://github.com/lukethacoder.png","language":"Python","readme":"![](./docs/banner.jpg)\n\nScheduled Python script to backup your personal Spotify playlists incase the platform ever goes down (or you just like having your data).\n\n## Environemnt Variables\n\nYou can get Spotify `CLIENT_ID` and `CLIENT_SECRET` values from setting up your own [Spotify Developer Application](https://developer.spotify.com/dashboard/applications). Make sure `http://localhost:3000/callback` is set as a Redirect URI.\n\n![](./docs/spotify-developer-app-dashboard.jpg)\n\n\n```\n# .env file\n# Values from your Spotify Developer Application\nSPOTIFY_CLIENT_ID=laboriselitutenimdoculpa\nSPOTIFY_CLIENT_SECRET=laboriselitutenimdoculpa\n\n# Your Spotify Username\nSPOTIFY_USERNAME=12345678910\n\n# Your Spotify Password\nSPOTIFY_PASSWORD=abcdefghijklmnopqrstuvwxyz\n\n# Comma separated list of usernames of playlist authors.\n# This allows you to back up other peoples playlists (that you follow) if you want.\n# if left blank, all of your followed/created playlists will be backed up.\nSPOTIFY_OWNER_IDS=snoopdogg,drdre,spotify\n```\n\n## Run the script\n\n```cmd\npython script.py\n```\n\n\u003e Under the hood this is running a headless browser to authenticate your user. Once the access token has been fetched, it is then used to query for your playlists and subsequently the tracks within those playlists.\n\n## Github Action Setup\n\nBefore your Github Action will run successfully, you must setup the above `.env` variables correctly within the repo.\n\n![](./docs/github-actions-secrets-setup.jpg)\n\nOnce setup, you can manually run the job via the `Actions` tab.\n\n### Automated CRON Job\n\nBy default, the CRON Job Github Action is disabled. To enable this within your repo, open the `.github/workflows/python-app.yml` file and uncomment the schedule code block.\n\n```yaml\non:\n  # schedule:\n  #   - cron: '0 3 * * 2'\n  workflow_dispatch:\n    inputs:\n      logLevel:\n        description: 'Log level'\n        required: true\n        default: 'warning' \n        type: choice\n        options:\n        - info\n        - warning\n        - debug \n```\n\n\u003e You can use the [crontab](https://crontab.guru/) tool to calculate when and how often you want to run the Github Action.","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukethacoder%2Fspotify-playlist-backup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flukethacoder%2Fspotify-playlist-backup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukethacoder%2Fspotify-playlist-backup/lists"}