Skip to content

CaptSolo/spotify-downloader-csv

 
 

Repository files navigation

spotDL v4 - CSV

spotDL - CSV finds songs from Spotify playlists on YouTube and downloads them - along with album art, lyrics and metadata - using Spotify metadata from a CSV file.

MIT License Python version Discord


This version (spotDL v4 - CSV) is an experiment that removes Spotify API calls and retrieves song metadata from a CSV file instead.

See USAGE.md for more information about using it.

If installation instructions do not work for you or require improvements, please open a new issue about it.


Installation

Install this package from GitHub:

pip install uv

git clone https://github.com/CaptSolo/spotify-downloader-csv/ && cd spotify-downloader-csv
uv sync

If you do not have git installed you can also download spotify-downloader-csv code as a ZIP file (by clicking the Download ZIP link) and unarchive it. Then install spotdl:

uv sync

To update, pull the latest changes and re-sync:

git pull
uv sync

Installing FFmpeg

FFmpeg is required for spotDL. If using FFmpeg only for spotDL, you can simply install FFmpeg to your spotDL installation directory: spotdl --download-ffmpeg

If you want to install FFmpeg system-wide, follow these instructions:

  • Windows Tutorial
  • OSX - brew install ffmpeg
  • Linux - sudo apt install ffmpeg or use your distro's package manager

Usage

Using SpotDL without options:

uv run spotdl [urls]

General usage:

uv run spotdl [operation] [options] QUERY

There are different operations spotDL can perform. The default is download, which simply downloads the songs from YouTube and embeds metadata.

uv run spotdl download [CSV_file]

The query for spotDL is usually a list of Spotify URLs, but for some operations like sync, only a single link or file is required. For a list of all options use uv run spotdl -h

Supported operations

This part of documentation may need updating because spotDL v4 CSV does not use the Spotify API (it uses metadata from a CSV file instead) and thus may not perform all the same operations that can be performed using the original spotDL.

  • save: Saves only the metadata from Spotify without downloading anything.

    • Usage: spotdl save [query] --save-file {filename}.spotdl
  • web: Starts a web interface instead of using the command line. However, it has limited features and only supports downloading individual songs.

  • url: Get user-friendly URL for each song from the query.

    • Usage: spotdl url [query]
  • sync: Updates directories. Compares the directory with the current state of the playlist. Newly added songs will be downloaded and removed songs will be deleted. No other songs will be downloaded and no other files will be deleted.

    • Usage: spotdl sync [query] --save-file {filename}.spotdl

      This creates a new sync file. To update the directory in the future, use:

      spotdl sync {filename}.spotdl

  • meta: Updates metadata for the provided song files.

Music Sourcing and Audio Quality

spotDL uses YouTube as a source for music downloads. This method is used to avoid any issues related to downloading music from Spotify.

Note Users are responsible for their actions and potential legal consequences. We do not support unauthorized downloading of copyrighted material and take no responsibility for user actions.

Audio Quality

spotDL downloads music from YouTube and is designed to always download the highest possible bitrate; which is 128 kbps for regular users and 256 kbps for YouTube Music premium users.

Check the Audio Formats page for more info.

Credits

This version of spotdl is built on the excellent work of spotdl developers and community:

License

This project is Licensed under the MIT License.

About

Download your Spotify playlists and songs (from YouTube if a match is found) using a CSV file exported from Spotify.

Resources

License

Code of conduct

Contributing

Stars

26 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 99.6%
  • Other 0.4%