Skip to content

Latest commit

 

History

History
7156 lines (7142 loc) · 473 KB

README.md

File metadata and controls

7156 lines (7142 loc) · 473 KB

spotify-playlist-archive Workflow status Save the Children

Daily snapshots of public Spotify playlists

Spotify's playlists are great. I like that they're updated once in a while - change is good! I don't like, however, that it's impossible to see older versions. How am I supposed to remember the name of that song I really liked? Apparently, I'm not alone: [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14].

Since Spotify won't take snapshots of our favorite playlists, let's do it ourselves!

Quick start

There are two options for browsing the archive:

  1. https://spotifyplaylistarchive.com/
  2. Use the autogenerated list below

To add a playlist to the archive, see these instructions.

To recreate an old version of a playlist:

  1. Use https://spotifyplaylistarchive.com/ to find the snapshot you want
  2. Use the "Copy track URLs" button to copy the URLs to your clipboard
  3. Paste them into a Spotify playlist via the Spotify web or desktop app

How it works

This repository uses a script to scrape Spotify playlists and publish them back to the repo. The script is run daily via GitHub Actions.

The script determines which playlists to scrape by looking at the file names in playlists/registry. Files get regenerated as follows: a pretty version of each playlist gets dumped in playlists/pretty, new tracks are added to the files in playlists/cumulative, and a plaintext version of each playlist is written to playlists/plain. The plain version is sorted alphabetically, rather than by track number, so that it only changes when tracks are added or removed, making Git History a nice way to visualize how the playlist evolves over time.

Aliases

Aliases are alternative playlists names. They're useful for avoiding naming collisions when archiving personalized playlists, which have the same name for every user. To add an alias, add a single line containing the desired name to playlists/registry/<playlist_id>.

Playlists (7093)