https://github.com/GuillemCastro/spotify-dl
A command-line utility to download songs and playlists directly from Spotify
https://github.com/GuillemCastro/spotify-dl
download-playlists download-songs flac mp3 music playlist songs spotify spotify-dl yt-dlp
Last synced: about 1 month ago
JSON representation
A command-line utility to download songs and playlists directly from Spotify
- Host: GitHub
- URL: https://github.com/GuillemCastro/spotify-dl
- Owner: GuillemCastro
- License: mit
- Created: 2020-10-22T22:12:04.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2025-08-13T04:39:51.000Z (about 2 months ago)
- Last Synced: 2025-08-28T08:29:48.574Z (about 1 month ago)
- Topics: download-playlists, download-songs, flac, mp3, music, playlist, songs, spotify, spotify-dl, yt-dlp
- Language: Rust
- Homepage:
- Size: 254 KB
- Stars: 158
- Watchers: 9
- Forks: 26
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# 🎵 spotify-dl
A command line utility to download songs, podcasts, playlists and albums directly from Spotify.
> [!IMPORTANT]
> A Spotify Premium account is required.> [!CAUTION]
> Usage of this software may infringe Spotify's terms of service or your local legislation. Use it under your own risk.## 🚀 Features
- Download individual tracks, podcasts, playlists or full albums.
- Built with Rust for speed and efficiency.
- Supports metadata tagging and organized file output.## ⚙️ Installation
You can install it using `cargo`, `homebrew`, from source or using a pre-built binary from the releases page.
### From crates.io using `cargo`
```
cargo install spotify-dl
```### Using homebrew (macOs)
```
brew tap guillemcastro/spotify-dl
brew install spotify-dl
```### From source
```
cargo install --git https://github.com/GuillemCastro/spotify-dl.git
```## 🧭 Usage
```
spotify-dl 0.9.0
A commandline utility to download music directly from SpotifyUSAGE:
spotify-dl.exe [FLAGS] [OPTIONS] ...FLAGS:
-F, --force Force download even if the file already exists
-h, --help Prints help information
-V, --version Prints version informationOPTIONS:
-d, --destination The directory where the songs will be downloaded
-f, --format The format to download the tracks in. Default is flac. [default: flac]
-t, --parallel Number of parallel downloads. Default is 5. [default: 5]ARGS:
... A list of Spotify URIs or URLs (songs, podcasts, playlists or albums)
```Songs, playlists and albums must be passed as Spotify URIs or URLs (e.g. `spotify:track:123456789abcdefghABCDEF` for songs and `spotify:playlist:123456789abcdefghABCDEF` for playlists or `https://open.spotify.com/playlist/123456789abcdefghABCDEF?si=1234567890`).
## 📋 Examples
- Download a single track:
```bash
spotify-dl https://open.spotify.com/track/TRACK_ID
```- Download a playlist:
```
spotify-dl -u YOUR_USER -p YOUR_PASS https://open.spotify.com/playlist/PLAYLIST_ID
```Save as MP3 to a custom folder:
```
spotify-dl --format flac --destination ~/Music/Spotify https://open.spotify.com/album/ALBUM_ID
```## 📄 License
spotify-dl is licensed under the MIT license. See [LICENSE](LICENSE).