docs/installation.md
spotDL is a free and open-source tool that downloads your Spotify playlists & music
The fastest, easiest, and most accurate command-line music downloader
This is our recommended installation method.
If you are on Windows, install Visual C++ Redistributable (link below) and then proceed to install Python & FFmpeg.
We recommend installing the latest version of Python
When installing Python, ensure to select "Add to PATH".
If you are not on Windows (e.g. OSX/UNIX), replace
pipwithpip3andpythonwithpython3in all commands.
First, open a terminal. On Windows: Command Prompt, macOS: "Terminal", *UNIX: Bash or Zsh.
Verify you have installed Python correctly via python -V. Ensure you have v3.7 or greater.
Next, install spotDL by typing the following:
pip install spotdl
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 recommend the above option, but if you want to install FFmpeg system-wide,
brew install ffmpegsudo apt install ffmpeg or use your distro's package managerIf you require further help, ask in our Discord Server
We strongly recommend installing Deno. spotDL uses yt-dlp for YouTube downloads, and some videos require Deno to download successfully. Without Deno, spotDL may fail to download some songs, including videos marked as "made for kids".
If using Deno only for spotDL, install Deno to your spotDL directory:
spotdl --download-deno
If you want to install Deno system-wide instead, follow the official Deno installation guide.
You can download the latest version from the Releases Tab
The Web UI will start by default if no arguments are passed to the command line (after double-clicking, for example).
To use the command line interface, just open your terminal and run
./spotdl-vX.X.X operation [urls].
spotDL provides a Docker image.
Install Docker: https://docs.docker.com/engine/installation/
Install Docker Compose: https://docs.docker.com/compose/install/
Docker documentation: https://docs.docker.com/
Build docker image docker build -t spotdl .
List spotdl options: docker run --rm spotdl --help
Download a song:
docker run --rm -v $(pwd):/music spotdl download https://open.spotify.com/track/0VjIjW4GlUZAMYd2vXMi3b
If you bind-mount a host directory like $(pwd):/music, that directory must be writable by the
container UID/GID.
Pull docker image from Docker hub: docker pull spotdl/spotify-downloader
Download a song using Docker image:
docker run --rm -v $(pwd):/music spotdl/spotify-downloader download https://open.spotify.com/track/0VjIjW4GlUZAMYd2vXMi3b
Create a Docker container
docker create \
--name=spotdl \
-v <path to data>:/music \
spotdl/spotify-downloader
export PUID=$(id -u)
export PGID=$(id -g)
docker compose builddocker compose run --rm spotdl download https://open.spotify.com/track/0VjIjW4GlUZAMYd2vXMi3bDocker Compose stores downloads in the named volume spotdl_music:/music.
docker compose up --no-start spotdl
mkdir -p downloads
docker compose cp spotdl:/music/. ./downloads/
We have a dedicated Termux installation script:
curl -L https://raw.githubusercontent.com/spotDL/spotify-downloader/master/scripts/termux.sh | sh
You can find the AUR Package here
spotDL downloads files to the folder where you ran spotDL from.
Open pwsh/powershell/cmd/terminal/similar in the folder you want files to download to, or cd to the desired folder.
Windows Shortcut: Navigate to the folder you want the files to download to.
SHIFT + RIGHT CLICK, then select "Open PowerShell window here"