Skip to main content

A Python script that exports all of your Spotify playlists.

Project description

spotify-backup CI

Fork of caseychu/spotify-backup

Python CLI tool that exports all of your Spotify playlists and/or liked songs into CSV file

installation

  • pre-requisites: Python >=3.7, pip
  • command to install: pip install spotify-backup (dependency-free)

usage

  • get your Spotify OAuth Token here
    • required scopes: user-read-private, user-library-read, playlist-read-private
  • execute spotify-backup <OUTPUT FILE> --dump playlists,liked --token <YOUR TOKEN>
    • example: spotify-backup my_backup.csv --dump playlists,liked --token SOME_VERY_LONG_TOKEN

output format

<PLAYLIST NAME>,<TRACK URI>,<COMMA-SEPARATED TRACK ARTISTS>,<ALBUM NAME>,<TRACK NAME>

output example

Liked Songs,spotify:track:7eMlLQXY5QICXuafv4haUg,"Massive Attack, Azekel",Ritual Spirit,Ritual Spirit
Liked Songs,spotify:track:53Zvj4xbSFKwSJeXjyocHK,Boy Harsher,Careful,Fate
Liked Songs,spotify:track:1IP0wkv3Hj7cPE159G9c2O,"PRO8L3M, Brodka",Fight Club,Żar
test,spotify:track:4u3cJaAUcmp4qPKUUcxXZv,UNKLE,War Stories,Mistress (feat Alicia Temple)
test,spotify:track:0MabrxpL9vrCJeOjGMnGgM,"Perturbator, Greta Link",The Uncanny Valley,Venger (feat. Greta Link)
test,spotify:track:0FoR0PrLkw6t64waJX3qT5,"Brodka, A_GIM",Wszystko czego dziś chcę (z serialu Rojst na Showmax),Wszystko czego dziś chcę (z serialu Rojst na Showmax)
test,spotify:track:5b2ACxzxhGeLPDr500fQzy,"deadmau5, Rob Swire",Ghosts 'n' Stuff,Ghosts 'N' Stuff - Radio Edit
test,spotify:track:4oezx4rQJnIBpKurukB2gN,trentemøller,Moan,Moan - Trentemøller Remix - Radio Edit
test,spotify:track:1itVstaGVBLPXqlv50HvDn,Goldfrapp,Ride A White Horse,Ride a White Horse - Serge Santiágo Re-Edit

options

usage: spotify-backup [-h] [--token TOKEN] --dump {liked,playlists,playlists,liked,playlists,liked} [-d] file

Exports your Spotify playlists and/or Liked songs to CSV file.

positional arguments:
  file                  output filename

optional arguments:
  -h, --help            show this help message and exit
  --token TOKEN         Spotify OAuth token; requires `playlist-read-private` and `user-library-read` scopes; to get it, visit
                        https://developer.spotify.com/console/get-playlists/ may also use SPOTIFY_OAUTH_TOKEN env var
  --dump {liked,playlists,playlists,liked,playlists,liked}
                        dump playlists or liked songs, or both (default: playlists)
  -d, --debug           Enable more verbose logging

known issues

  • collaborative playlists and playlist folders don't show up in the API, sadly.
  • tool downloads everything into memory before writing to file, need to rewrite client and use streaming / generators

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spotify-backup-0.0.2.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

spotify_backup-0.0.2-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file spotify-backup-0.0.2.tar.gz.

File metadata

  • Download URL: spotify-backup-0.0.2.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.6 CPython/3.9.5 Linux/5.8.0-1033-azure

File hashes

Hashes for spotify-backup-0.0.2.tar.gz
Algorithm Hash digest
SHA256 f1c2b0fe15c8593e64a998bcd5251779ad10623fcd9a5f8fd5f1d7e70dee2dce
MD5 1e58158b4a5ced925a00cfe99085ef28
BLAKE2b-256 14fa0e9404cdd4f4696d0b1cfc92fc41c8fda226497c78eb1b2a840dae92135b

See more details on using hashes here.

File details

Details for the file spotify_backup-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: spotify_backup-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 6.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.6 CPython/3.9.5 Linux/5.8.0-1033-azure

File hashes

Hashes for spotify_backup-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d01692b7c9d4b5b6031f8de581c6388605afd6aee55dbd9e292c06d6a7d4ca71
MD5 c0752777a111afedb86a51e67ef087ac
BLAKE2b-256 ff39f81355d6465266424ab853c4e48a0855e69c47befc74f6bfb3087f12ba8a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page