Intro

spotify_sync is a CLI app written in Python that allows you to download songs from your Spotify account. It is designed to be a 'set and forget' tool for users wanting to keep an offline copy of their songs.

This is achieved by linking your Spotify account to a configuration and then running spotify_sync either manually or on a schedule.

Directly downloading songs from Spotify is currently impossible. To work around this, song metadata is downloaded from Spotify which is then used to match it to a Deezer equivalent. Songs that are successfully matched are then queued for download via the Deemix Api.

Currently, spotify_sync features include:

  • Download of liked songs

  • Download of playlist songs

  • Up-to lossless quality downloads

  • Multi-threaded downloading

  • Scheduling (e.g. cron)

  • Multi-config support; configure and schedule multiple profiles with separate Spotify accounts

  • Backup and restore of config and persistent data

  • Runtime notification support via Pushover

  • Automatic Plex library scanning via Autoscan

Last updated