Export your Spotify playlists using the Web API by clicking on the link below:
https://rawgit.com/watsonbox/exportify/master/exportify.html
As many users have noted, there is no way to export/archive playlists from the Spotify client for safekeeping. This application provides a simple interface for doing that using the Spotify Web API.
No data will be saved - the entire application runs in the browser.
Click 'Get Started', grant Exportify read-only access to your playlists, then click the 'Export' button to export a playlist.
Click 'Export All' to save a zip file containing a CSV file for each playlist in your account. This may take a while when many playlists exist and/or they are large.
Once playlists are saved, it's also pretty straightforward to re-import them into Spotify. Open up the CSV file in Excel, for example, select and copy the spotify:track:xxx
URIs, then simply create a playlist in Spotify and paste them in.
Track data is exported in CSV format with the following fields:
- Spotify URI
- Track Name
- Artist Name
- Album Name
- Disc Number
- Track Number
- Track Duration (ms)
- Added By
- Added At
Developers wishing to make changes to Exportify should use a local web server. For example, using Python (in the Exportify repo dir):
python -m SimpleHTTPServer
Then open http://localhost:8000/exportify.html.
-
The CSV export uses the HTML5 download attribute which is not supported in all browsers. Where not supported the CSV will be rendered in the browser and must be saved manually.
-
According to Spotify documentation, "Folders are not returned through the Web API at the moment, nor can be created using it".
-
It has been pointed out that due to the large number of requests required to export all playlists, rate limiting errors may sometimes be encountered. Features will soon be added to make handling these more robust, but in the meantime these issues can be overcome by creating your own Spotify application.
- Fork it ( https://github.com/watsonbox/exportify/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request