Skip to content

spotDL

Command-line tool that finds Spotify playlist songs on YouTube and downloads them as MP3 with metadata.spotDL/spotify-downloader

Stars
26.6k
Forks
2.3k
Licence
MIT
Language
Python
Last update
11 days ago
Type
CLI

What it is

spotDL is a command-line program that takes Spotify song, album, or playlist links, looks for matching tracks on YouTube, and downloads them with album art, lyrics, and metadata attached. It is used by people who want offline copies of music they already have in a Spotify playlist. The README says it uses YouTube as the source to avoid issues with downloading directly from Spotify.

  • Download a Spotify playlist into a local music folder with spotdl download
  • Save playlist metadata to a .spotdl file without downloading audio using the save operation
  • Keep a folder in sync with a playlist so new songs are added and removed songs are deleted
  • Get a YouTube URL for each song in a query using the url operation

Great for

  • People comfortable running a command in a terminal who want local copies of Spotify playlists
  • Users who want to keep a folder of songs synced with a playlist using the sync operation
  • Users who want album art, lyrics, and metadata embedded in their files
  • Python users who prefer installing tools with pip

Not ideal for

  • People who want a point-and-click app with no terminal use; the README focuses on the command line and a limited web mode
  • Anyone who needs to respect copyright restrictions in their jurisdiction, since the README places legal responsibility on users
  • Users who need guaranteed match accuracy, since the README describes YouTube matching without quantifying errors
Step-by-step guide: how to use spotDLInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Install with a package manager

    You'll need: Python (version not specified in the README excerpt) · FFmpeg (spotdl --download-ffmpeg can install it into the spotDL directory) · Deno (recommended; spotdl --download-deno installs it)

    Install spotDL with pip

    pip install spotdl

    Install FFmpeg into the spotDL directory

    spotdl --download-ffmpeg

    Install Deno into the spotDL directory

    spotdl --download-deno
  2. 2

    Run it

    • Install spotDL with pip install spotdl.
    • Install FFmpeg with spotdl --download-ffmpeg.
    • Optionally install Deno with spotdl --download-deno.
    • Run spotdl with a Spotify track, album, or playlist URL, for example spotdl [urls].
  3. 3

    Get the most out of it

    • Use the sync operation with a .spotdl save file to keep a folder updated as a playlist changes
    • Use the save operation to back up playlist metadata without downloading audio
    • Use spotdl -h to list all options
    • Read the Audio Formats page in the docs for bitrate and format details

Downloads

Strengths

  • Installs with a single pip command according to the README
  • Embeds album art, lyrics, and metadata in downloaded files
  • Has a sync operation that updates a folder as a playlist changes

Trade-offs

  • Depends on YouTube matching, so some songs may be wrong or fail; the README notes some videos need Deno to download
  • Requires FFmpeg, and the README recommends Deno, adding setup steps
  • Legal responsibility for downloads rests with the user, per the README

How it compares

ProjectStarsTypeLevelUpdatedBest for
spotify-downloader (this)26.6kCLIintermediate11 days agoPeople comfortable running a command in a terminal who want local copies of Spotify playlists
beets15.9kCLIintermediate4 days agoPeople with large music collections that have inconsistent or missing tags
AudioKit11.5kLibraryintermediate3 months agoSwift developers adding synthesizers, effects, or audio analysis to an iOS or macOS app
pear-desktop34kAppbeginner4 days agoPeople who want YouTube Music in a standalone desktop window
YesPlayMusic33.5kAppbeginner27 days agoExisting NetEase Cloud Music users who want a different player interface
ultimatevocalremovergui26.9kAppbeginner30 days agoMusicians who want karaoke or practice backing tracks from existing songs

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.