Music download CLI that matches Spotify tracks, albums, and playlists to audio sources and saves tagged files locally.
$pip install spotdl
Agent Compatibility
JSON Output
Agent Skill
MCP Support
AI Analysis
spotDL is a Spotify-centric music downloader that matches tracks, albums, artists, and playlists to YouTube or other configured audio providers, then saves tagged audio files locally. It also supports metadata export, playlist sync, URL lookup, and a browser-based web mode.
What It Enables
- Download tracks, albums, playlists, artists, liked songs, and saved albums from Spotify links or search terms, with album art, lyrics, and metadata embedded in the output files.
- Export Spotify-derived metadata and matched download URLs to
.spotdlfiles or stdout, then reuse that data in later download or archive workflows. - Keep a local music folder in sync with a Spotify playlist or album by fetching newly added songs and removing tracks that disappeared upstream.
Agent Fit
- Non-interactive subcommands and predictable file outputs make it workable for batch jobs that archive playlists or refresh a local music mirror.
save --save-file -provides JSON that an agent can parse, but most other commands emit human-oriented logs or plain URLs instead of structured machine output.- Best fit is narrow and task-specific: it works when the job is downloading or syncing music files, not as a broad media or service automation surface.
Caveats
- Downloads come from YouTube or other configured providers rather than Spotify itself, so matches, availability, and audio quality can vary.
- Some workflows require Spotify OAuth or cookie files, and the
webcommand opens a browser-based UI instead of staying fully headless.