/spotify-downloader

Download your Spotify playlists and songs along with album art and metadata (from YouTube if a match is found).

Primary LanguagePythonMIT LicenseMIT

spotDL v4

Download your Spotify playlists and songs along with album art and metadata

MIT License PyPI version GitHub commits since latest release (by date) PyPi downloads Contributors Discord

A new and improved version of spotDL: still the fastest, easiest and most accurate command-line music downloader


Read the documentation on ReadTheDocs!


Prerequisites

YouTube Music must be available in your country for spotDL to work. This is because we use YouTube Music to filter search results. You can check if YouTube Music is available in your country, by visiting YouTube Music.

Installation

Refer to our Installation Guide for more details

  • Python (Recommended)
    • spotDL can be installed by running pip install spotdl.

    On some systems you might have to change pip to pip3.

Other options

  • Prebuilt Executable
    • You can download the latest version from from the Releases Tab
  • On Termux
    • curl -L https://raw.githubusercontent.com/spotDL/spotify-downloader/master/scripts/termux.sh | sh
  • Arch
    • There is an Arch User Repository (AUR) package for spotDL.
  • Docker
    • Build image:

      docker build -t spotdl .
    • Launch container with spotDL parameters (see section below). You need to create mapped volume to access song files

      docker run --rm -v $(pwd):/music spotdl download [trackUrl]

Installing FFmpeg

If using FFmpeg only for spotDL, you can install FFmpeg to your local directory.
spotdl --download-ffmpeg will download FFmpeg to your spotDL installation directory.

We reccomend the above option, but if you want to install FFmpeg system-wide,

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

Usage

To get started right away:

spotdl download [urls]

To start the Web UI:

spotdl web

You can run spotDL as a package if running it as a script doesn't work:

python -m spotdl [urls]

Further information can be found in our documentation

Read the documentation on ReadTheDocs!


Contributing

Interested in contributing? Check out our CONTRIBUTING.md to find resources around contributing along with a guide on how to set up a development environment.

License

This project is Licensed under the MIT License.