skillfed

spotdl

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

spotdl v4.5.2 290.3K downloads/30d#7,991 on PyPI25,782
Permissive license MIT Active released

What it is and what it does

spotDL is a command-line tool that fetches songs from Spotify playlists and downloads them from YouTube, automatically embedding album art, lyrics, and metadata into the resulting audio files. It supports multiple operations: downloading individual tracks or entire playlists, syncing directories to keep them in sync with playlist changes, saving metadata without downloading, and updating metadata on existing files.

The tool depends on a large ecosystem of music and web libraries—Spotify API clients (spotipy, spotipyfree), YouTube downloaders (yt-dlp, ytmusicapi), metadata handlers (mutagen), and a web interface built on FastAPI and Jinja2. It requires FFmpeg for audio processing and recommends Deno for reliable YouTube access. The package is actively maintained, supports Python 3.10 through 3.14, and has no known security vulnerabilities.

Use it for:

  • Backup Spotify playlists as local files with full metadata and album art intact.
  • Keep a local music directory synchronized with a Spotify playlist, automatically downloading new additions and removing deleted tracks.
  • Download individual songs from Spotify for offline listening without a premium subscription.
  • Batch-update metadata and album art on existing music files using the `meta` operation.
  • Access a web interface for downloading single songs when command-line usage is inconvenient.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

spotDL downloads songs from Spotify playlists on YouTube, embedding album art, lyrics, and metadata into the files.

Yes, if you accept the legal responsibility for downloading music and have or can install FFmpeg and Deno. spotDL is actively maintained, has low install friction, carries no known vulnerabilities, and offers a mature feature set for playlist backup and sync. The MIT license is permissive. Install it if offline Spotify access is your goal; skip it if you need lossless audio or have legal concerns about YouTube-sourced downloads.

Install

spotdl on PyPI

pip

pip install spotdl

uv

uv add spotdl

poetry

poetry add spotdl

Installing spotdl

Before you install

Low friction install with a pure Python wheel. Actively maintained with a recent release; however, it requires external system dependencies (FFmpeg mandatory, Deno recommended) that must be installed separately or via spotDL's own download commands.

License in practice

MIT license permits free use, modification, and distribution with minimal restrictions, making it safe for personal and commercial projects.

Quickstart

pip install spotdl
spotdl download "https://open.spotify.com/track/..."
# or for a playlist:
spotdl download "https://open.spotify.com/playlist/..."

FFmpeg is required; install via `spotdl --download-ffmpeg` or system package manager. Deno is strongly recommended for reliable YouTube downloads, especially for videos marked 'made for kids'.

Verify before relying

  • Whether the 128 kbps bitrate from regular YouTube accounts is acceptable for your use case, or if 256 kbps (YouTube Music premium) is necessary.
  • Legal status of downloading copyrighted music in your jurisdiction—spotDL disclaims responsibility for user actions.

Package facts

License MIT (permissive)
Python support supports the current Python release (<3.15,>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 21 — beautifulsoup4, datastar-py, fastapi, jinja2, mutagen, platformdirs, pydantic, pykakasi, python-multipart, python-slugify, rapidfuzz, requests, rich, soundcloud-v2, spotipy, spotipyfree, syncedlyrics, uvicorn, websockets, yt-dlp, ytmusicapi
Maintenance actively maintained — 25 days since the last release
Last repo commit
First released
Downloads 290,310/month — #7,991 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: spotdl-4.5.2-py3-none-any.whl

Keywords: downloader, music, spotdl, spotify

Intended Audience :: End Users/DesktopLicense :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: MultimediaTopic :: Multimedia :: Sound/AudioTopic :: Utilities

Tags

spotify playlist downloaderyoutube music downloaderbatch download spotify songsspotify to mp3download spotify with metadataplaylist sync downloadermusic metadata tagger
music-downloaderspotify-integrationcli-tool

More Utilities packages