{"id":33174857,"url":"https://github.com/tmerten/spotify-ripper","last_synced_at":"2025-11-20T20:02:01.448Z","repository":{"id":28042484,"uuid":"31538235","full_name":"tmerten/spotify-ripper","owner":"tmerten","description":"Command-line ripper for Spotify","archived":false,"fork":false,"pushed_at":"2015-03-07T14:22:59.000Z","size":129,"stargazers_count":76,"open_issues_count":0,"forks_count":155,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-05-22T21:34:44.503Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":false,"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/tmerten.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}},"created_at":"2015-03-02T11:59:39.000Z","updated_at":"2024-05-02T05:51:04.000Z","dependencies_parsed_at":"2022-07-31T21:48:09.170Z","dependency_job_id":null,"html_url":"https://github.com/tmerten/spotify-ripper","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tmerten/spotify-ripper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmerten%2Fspotify-ripper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmerten%2Fspotify-ripper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmerten%2Fspotify-ripper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmerten%2Fspotify-ripper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tmerten","download_url":"https://codeload.github.com/tmerten/spotify-ripper/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmerten%2Fspotify-ripper/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285503668,"owners_count":27182913,"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-11-20T02:00:05.334Z","response_time":54,"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":[],"created_at":"2025-11-16T02:00:34.327Z","updated_at":"2025-11-20T20:02:01.443Z","avatar_url":"https://github.com/tmerten.png","language":"Python","funding_links":[],"categories":["Other"],"sub_categories":[],"readme":"# spotify-ripper\n\nA fork of [spotify-ripper](https://github.com/robbeofficial/spotifyripper) that uses [pyspotify](https://github.com/mopidy/pyspotify) v2.x\n\nSpotify-ripper is a small ripper script for Spotify that rips Spotify URIs to MP3 files and includes ID3 tags and cover art.\n\n**Note that stream ripping violates the libspotify's ToS**\n\n## Features\n\n* real-time VBR or CBR ripping from spotify PCM stream\n\n* writes id3 tags (including album covers)\n\n* creates files and directories based on the following structure artist/album/artist - song.mp3\n\n* optionally skip existing files\n\n* accepts tracks, playlists, albums, and artist URIs\n\n* search for tracks using Spotify queries\n\n* options for interactive login (no password in shell history) and relogin using previous credentials\n\n* option to remove tracks from playlist after successful ripping\n\n## Usage\n\n```shell\nusage: ripper [-h] [-b {160,320,96}] [-c] [-d DIRECTORY] [-u USER]\n              [-p PASSWORD] [-l] [-m] [-o] [-v VBR]\n              uri\n\nRips Spotify URIs to MP3s with ID3 tags and album covers\n\npositional arguments:\n  uri                   Spotify URI (either URI, a file of URIs or a search query)\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -b {160,320,96}, --bitrate {160,320,96}\n                        Bitrate rip quality [Default=320]\n  -c, --cbr             Lame CBR encoding [Default=VBR]\n  -d DIRECTORY, --directory DIRECTORY\n                        Base directory where ripped MP3s are saved [Default=cwd]\n  -u USER, --user USER  Spotify username\n  -p PASSWORD, --password PASSWORD\n                        Spotify password [Default=ask interactively]\n  -l, --last            Use last login credentials\n  -m, --pcm             Saves a .pcm file with the raw PCM data\n  -o, --overwrite       Overwrite existing MP3 files [Default=skip]\n  -v VBR, --vbr VBR     Lame VBR encoding quality setting [Default=0]\n  -r, --remove-from-playlist\n                        Delete tracks from playlist after successful ripping [Default=no]\n\nExample usage:\n    rip a single file: ./ripper.py -u user -p password spotify:track:52xaypL0Kjzk0ngwv3oBPR\n    rip entire playlist: ./ripper.py -u user -p password spotify:user:username:playlist:4vkGNcsS8lRXj4q945NIA4\n    search for tracks to rip: /ripper.py -l -b 160 -o \"album:Rumours track:'the chain'\"\n```\n\n## Installation\n\n### Prerequisites\n\n* [libspotify](https://developer.spotify.com/technologies/libspotify)\n\n* [pyspotify](https://github.com/mopidy/pyspotify)\n\n* a Spotify binary [app key](https://devaccount.spotify.com/my-account/keys/) (spotify_appkey.key)\n\n* [lame](http://lame.sourceforge.net)\n\n* [eyeD3](http://eyed3.nicfit.net)\n\n* [colorama](https://pypi.python.org/pypi/colorama)\n\n### Mac OS X\n\nRecommend approach uses [homebrew](http://brew.sh/) and [pyenv](https://github.com/yyuu/pyenv)\n\n```bash\n$ git clone https://github.com/jrnewell/spotify-ripper.git\n$ cd spotify-ripper\n$ brew install homebrew/binary/libspotify\n$ sudo ln -s /usr/local/opt/libspotify/lib/libspotify.12.1.51.dylib \\\n    /usr/local/opt/libspotify/lib/libspotify\n$ pip install --pre pyspotify\n$ brew install lame\n$ pip install eyeD3 --allow-external eyeD3 --allow-unverified eyeD3\n$ pip install colorama\n$ pyenv rehash\n```\n\nDownload an application key file `spotify_appkey.key` from `https://devaccount.spotify.com/my-account/keys/` (requires a Spotify Premium Account) and move to the `spotify-ripper` directory.\n\n### Ubuntu/Debian\n\nRecommend approach uses [pyenv](https://github.com/yyuu/pyenv)\n\n```bash\n$ git clone https://github.com/jrnewell/spotify-ripper.git\n$ cd spotify-ripper\n$ sudo apt-get install lame build-essential libffi-dev\n$ wget https://developer.spotify.com/download/libspotify/libspotify-12.1.51-Linux-x86_64-release.tar.gz # (assuming 64-bit)\n$ cd libspotify-12.1.51-Linux-x86_64-release/\n$ sudo make install prefix=/usr/local\n$ cd ..\n$ pip install --pre pyspotify\n$ pip install eyeD3 --allow-external eyeD3 --allow-unverified eyeD3\n$ pip install colorama\n$ pyenv rehash\n```\n\nDownload an application key file `spotify_appkey.key` from `https://devaccount.spotify.com/my-account/keys/` (requires a Spotify Premium Account) and move to the `spotify-ripper` directory.\n\n## License\n\n[MIT License](http://en.wikipedia.org/wiki/MIT_License)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftmerten%2Fspotify-ripper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftmerten%2Fspotify-ripper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftmerten%2Fspotify-ripper/lists"}