Skip to content

Export Spotify playlists using the Web API. Analyze them in the Jupyter notebook.


Notifications You must be signed in to change notification settings


Repository files navigation

Build Status Binder

Export your Spotify playlists for analysis or just safekeeping:

This is a hard fork of the original Exportify repo. I've simplified and updated the code, instituted rate limiting so exporting large or all playlists actually works, gotten rid of the outdated tests, set up automatic deployment to github pages, fixed a parsing bug, enhanced the set of features, added logout functionality, and provided an ipython notebook to do something interesting with the data.

Export Format

Track data is exported in CSV format with the following fields:

  • Spotify ID
  • Artist IDs
  • Track Name
  • Album Name
  • Artist Name(s)
  • Release Date
  • Duration (ms)
  • Popularity
  • Added By
  • Added At
  • Genres
  • Danceability
  • Energy
  • Key
  • Loudness
  • Mode
  • Speechiness
  • Acousticness
  • Instrumentalness
  • Liveness
  • Valence
  • Tempo
  • Time Signature


Run the Jupyter Notebook or launch it in Binder to get a variety of plots about the music in a playlist including:

  • Most common artists
  • Most common genres
  • Release date distribution
  • Popularity distribution
  • Comparisons of Acousticness, Valence, etc. to normal
  • Time signatures and keys
  • All songs plotted in 2D to indicate relative similarities


Developers wishing to make changes to Exportify should use a local web server. For example, using Python (in the Exportify repo dir):

python -m http.server

Then open http://localhost:8000.


  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -m "message")
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request