{"id":24703324,"url":"https://github.com/davidchalifoux/spotify-charts-ripper","last_synced_at":"2025-10-09T09:30:35.419Z","repository":{"id":212865283,"uuid":"487348070","full_name":"davidchalifoux/spotify-charts-ripper","owner":"davidchalifoux","description":"Python script for automatically downloading Spotify Charts data.","archived":false,"fork":false,"pushed_at":"2023-03-05T15:36:00.000Z","size":31501,"stargazers_count":3,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-04T00:02:31.449Z","etag":null,"topics":["python","scrapping","selenium","spotify"],"latest_commit_sha":null,"homepage":"","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/davidchalifoux.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}},"created_at":"2022-04-30T18:06:32.000Z","updated_at":"2024-11-19T04:36:46.000Z","dependencies_parsed_at":"2023-12-16T21:47:42.078Z","dependency_job_id":null,"html_url":"https://github.com/davidchalifoux/spotify-charts-ripper","commit_stats":null,"previous_names":["davidchalifoux/spotify-charts-ripper"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/davidchalifoux/spotify-charts-ripper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidchalifoux%2Fspotify-charts-ripper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidchalifoux%2Fspotify-charts-ripper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidchalifoux%2Fspotify-charts-ripper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidchalifoux%2Fspotify-charts-ripper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/davidchalifoux","download_url":"https://codeload.github.com/davidchalifoux/spotify-charts-ripper/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidchalifoux%2Fspotify-charts-ripper/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001135,"owners_count":26083022,"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-09T02:00:07.460Z","response_time":59,"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":["python","scrapping","selenium","spotify"],"created_at":"2025-01-27T05:54:53.483Z","updated_at":"2025-10-09T09:30:34.810Z","avatar_url":"https://github.com/davidchalifoux.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Demo of the script running](screencast.gif)\n\n# Spotify Charts Data Ripper\n\nThis script downloads the Spotify daily top songs in the USA from Jan 1st 2017 to today. It uses [Selenium](https://www.selenium.dev/) and the [Spotify Charts](https://charts.spotify.com/) website. Each day's data is placed in your downloads folder in CSV format.\n\n_You must have Google Chrome installed. However, you can modify the code to use any major browser you prefer._\n\n# How to use\n\n- Clone the repository\n- Install dependencies using PIP\n  - `pip install -U selenium`\n  - `pip install webdriver-manager`\n  - `pip install pandas`\n  - `pip install python-dotenv`\n- Create a `.env` file with the following variables:\n  - `SPOTIFY_USERNAME` (Your Spotify username or email)\n  - `SPOTIFY_PASSWORD` (Your Spotify password)\n- Run `python main.py`\n\n# Troubleshooting\n\nErrors can happen if the script tries to click the download button before the page finishes loading. If you run into issues with it, either modify the starting date or increase the `time.sleep()` time.\n\n# Visualization\n\nYou can use this data to make some pretty interesting visualizations. Here is an example of a bar race chart showing the most streamed tracks per day: https://public.flourish.studio/story/1429985/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidchalifoux%2Fspotify-charts-ripper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavidchalifoux%2Fspotify-charts-ripper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidchalifoux%2Fspotify-charts-ripper/lists"}