A commandline tool to synchronize your Spotify playlists to Music Player Daemon
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Wesley Kerfoot d2663ee4ef
Merge pull request #6 from weskerfoot/dependabot/pip/httplib2-0.18.0
4 years ago
spotify_mpd_sync Print repr() of track if it failed for some reason 5 years ago
.gitignore Initial commit 5 years ago
LICENSE.md Add LICENSE 5 years ago
README.md update readme 5 years ago
requirements.txt Bump httplib2 from 0.12.3 to 0.18.0 4 years ago
setup.py Update setup.py version 5 years ago



Please note that this won't work without Spotify Premium because Spotify limits web API access to non-free accounts.

This also requires you to have set up mopidy-spotify in order to play spotify tracks.

  • Install from PyPI with pip3 install --user spotify-mpd-sync

  • Go to https://developer.spotify.com/dashboard/applications and create an application. Call it whatever you want.

  • Go to "Edit Settings" in your newly created app, then add http://localhost:8080 as a redirect URI and hit "Save" (You may choose a different one by setting SPOTIPY_REDIRECT_URI in your environment if localhost:8080 is unavailable)

  • Find your spotify username here

  • You will have to set up some environment variables in order to run the app.

export SPOTIFY_USERNAME="The username you got above"
export SPOTIPY_CLIENT_ID="Your app's client ID"
export SPOTIPY_CLIENT_SECRET="Your app's client secret"
export SPOTIPY_REDIRECT_URI="http://localhost:8080"
  • Now you can run spotsync -H my_mpd_host -P 6600 where my_mpd_host is the host you are running MPD on (host defaults to localhost and port defaults to 6600 if you do not include it)

  • If this is the first time you are running it, it will direct you to a page in your browser to grant permission for the app you just created to access your private spotify playlist. You only need to do this once, and then your credentials will be cached.

  • You will be prompted to grant permission to the app, once that's done, it will cache the credentials locally and you should be able to just run spotsync.