Skip to content
Export Spotify playlists using the Web API. Analyze them in the Jupyter notebook.
Jupyter Notebook JavaScript Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Create FUNDING.yml Sep 19, 2019
.gitignore Added genre analysis. Ran in to bug where some genres could be empty … Jun 23, 2019
CNAME Rename laterCNAME to CNAME Sep 19, 2019
LICENSE Initial commit May 14, 2015 cleaned up last few links to app.html Sep 19, 2019
exportify.js increased settimeout in logout from 1000ms to 1500ms because with the… Sep 19, 2019
favicon.png working through understanding/modifying the javascript Jun 22, 2019
index.html Update index.html Sep 22, 2019
requirements.txt added analysis of the additional columns and some neat dimensionality… Jun 27, 2019
screenshot.png Update screenshot.png May 24, 2015
style.css added spinner back to my javascript, displayed before table loads. cl… Sep 14, 2019

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, 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
You can’t perform that action at this time.