- Integration with Spotify's UI
- Download and embed metadata, including lyrics
- Download canvas videos
- Generate M3U for albums and playlists
- Controllable playback speed
- Automatic conversion to MP3 and many other formats
- Download and extract the
.zip
package of the latest release - Right click the
DownloadFFmpeg.ps1
file, and select "Run with PowerShell". If it prompts about execution policy, press A to allow, then wait for it to finish. - Open Spotify, then run
Injector.exe
. If it works, a download button will appear on Spotify's top bar (you may click on it to change settings) - After that, any song you play will be downloaded to the selected save path
You may need to disable or whitelist Soggfy in your anti-virus for it to work.
If the injector crashes because missing DLLs, you need to install the MSVC Redistributable package.
- Songs are only downloaded if you play them from start to finish, without seeking (pausing is fine).
- Quality depends on the account you are using: 160Kb/s or 320Kb/s for free and premium accounts respectively. Note that you may need to change the streaming quality to "Very high" on Spotify settings. This only applies to the original OGGs.
- If you are converting to AAC and care about quality, read this: High quality AAC
- You could get banned by using this. Please consider using alt accounts or keeping backups (see Exportify and SpotMyBackup).
- Last supported Spotify client version: 1.1.78.765
Soggfy works by intercepting and dumping OGG streams in real time (hence ogg dumper -> s_ogg_fy). Note that this is different from recording the audio output - this actually gets you a copy of the original OGG files, with no loss in quality. They are then optionally converted and embedded with metadata, depending on settings.
- XSpotify and spotifykeydumper - The main source of inspiration for this project
- Spicetify - Used during development of the UI integration code
- abba23's spotify-adblock - For the built-in ad/telemetry blocker
- Ghidra and x64dbg - Tools for reversing and debugging the client