Skip to main content

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

Project description

spotDL

spotDL

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

The fastest, easiest, and most accurate command-line music downloader

What spotDL does

  1. Downloads music from YouTube as an MP3 file
  2. Applies basic metadata gathered from Spotify such as:
    • Track Name
    • Track Number
    • Album
    • Album Cover
    • Genre
    • and more!

⚠ We have dropped the active development of spotDL v2 due to support and maintainability. No focused efforts will be made to resolve v2 specific issues.

Prerequisites

  • Python 3.6.1 or above (added to PATH)
  • FFmpeg 4.2 or above (added to PATH)

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

Installing FFmpeg

Installing spotDL

  • Recommended Stable Version:

    pip install spotdl
    
  • Dev Version: (NOT STABLE)

    pip install https://codeload.github.com/spotDL/spotify-downloader/zip/dev
    

If you have trouble installing spotdl take a look at the extended installation guide here or ask for help in our discord server

On Termux

curl -L https://raw.githubusercontent.com/spotDL/spotify-downloader/master/termux/setup_spotdl.sh | sh

Usage

  • To download a song, run

    spotdl [trackUrl]
    

    example:

    spotdl https://open.spotify.com/track/0VjIjW4GlUZAMYd2vXMi3b
    
  • To download an album, run

    spotdl [albumUrl]
    

    example:

    spotdl https://open.spotify.com/album/4yP0hdKOZPNshxUOjY0cZj
    
  • To download a playlist, run

    spotdl [playlistUrl]
    

    example:

    spotdl https://open.spotify.com/playlist/37i9dQZF1E8UXBoz02kGID
    
  • To download all songs from an artist run

    spotdl [artistUrl]
    

    example:

    spotdl https://open.spotify.com/artist/1fZAAHNWdSM5gqbi9o5iEA
    
  • To search for and download a song, run, with quotation marks

    spotdl '[songQuery]'
    

    example:

    spotdl 'The Weeknd - Blinding Lights'
    

    Note: This is not accurate and often causes errors.

  • To resume a failed/incomplete download, run

    spotdl [pathToTrackingFile]
    

    example:

    spotdl 'The Weeknd - Blinding Lights.spotdlTrackingFile'
    

    Note: .spotdlTrackingFiles are automatically created when a download starts and deleted on completion

  • You can queue up multiple download tasks by separating the arguments with spaces

    spotdl [songQuery1] [albumUrl] [songQuery2] ... (order does not matter)
    

    example:

    spotdl 'The Weeknd - Blinding Lights' https://open.spotify.com/playlist/37i9dQZF1E8UXBoz02kGID ...
    

    Note: spotDL downloads up to 4 songs in parallel, so for a faster experience, download albums and playlist, rather than tracks.

  • To download songs with different output format run

    spotdl [songUrl] --output-format mp3/m4a/flac/opus/ogg
    

    example:

    spotdl [songUrl] --output-format opus
    
  • To use ffmpeg binary that is not on PATH run

    spotdl [songUrl] --ffmpeg path/to/your/ffmpeg.exe
    

    example:

    spotdl [songUrl] --ffmpeg C:\ffmpeg\bin\ffmpeg.exe
    
  • To ignore your ffmpeg version run

    spotdl [songUrl] --ignore-ffmpeg-version
    

pipx Isolated Environment Alternative

For users who are not familiar with pipx, it can be used to run scripts without installing the spotDL package and all the dependencies globally with pip. (Effectively skipping over the spotDL Installation step)

First, you will need to install pipx by running:

python3 -m pip install --user pipx
python3 -m pipx ensurepath

Next, you can jump directly to running spotDL with:

pipx run spotdl ...

Contributor Guide

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.

Contributors

contributors

Authors

  1. @ritiek for creating and maintaining spotDL for 4 years
  2. @rocketinventor for figuring out YouTube Music querying
  3. @MikhailZex for, never mind...

License

MIT

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

spotdl-3.6.1.tar.gz (35.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

spotdl-3.6.1-py3-none-any.whl (39.6 kB view details)

Uploaded Python 3

File details

Details for the file spotdl-3.6.1.tar.gz.

File metadata

  • Download URL: spotdl-3.6.1.tar.gz
  • Upload date:
  • Size: 35.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.2.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for spotdl-3.6.1.tar.gz
Algorithm Hash digest
SHA256 78464e459f14cd129bc5aedd2700bfdc6f4273c6f64093706e49950845c8342d
MD5 e515c7a2cc8b910400c47442c017bce1
BLAKE2b-256 b264de1f3d9b19522d3883aad0a3c369e3004e6e1ed85485500a2c243893d9ba

See more details on using hashes here.

File details

Details for the file spotdl-3.6.1-py3-none-any.whl.

File metadata

  • Download URL: spotdl-3.6.1-py3-none-any.whl
  • Upload date:
  • Size: 39.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.2.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for spotdl-3.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6bbb8c678e6cb321e483207adc44c7fa2926c125f5d45ffb4ab190dc7edb436a
MD5 bacd78869b2f27d6ff4490c46ee72c80
BLAKE2b-256 b561ae0a54bdd7c2a353ca7aa4e879e1b76de2cb636e7f5643a9f4cb7258c987

See more details on using hashes here.

Supported by

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