https://github.com/invzfnc/spotify-downloader
Downloads Spotify playlists in high quality without login.
https://github.com/invzfnc/spotify-downloader
downloader m4a metadata music no-login playlist python python3 spotify spotify-playlist
Last synced: 3 months ago
JSON representation
Downloads Spotify playlists in high quality without login.
- Host: GitHub
- URL: https://github.com/invzfnc/spotify-downloader
- Owner: invzfnc
- License: mit
- Created: 2025-01-30T03:58:03.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-12-17T05:20:28.000Z (6 months ago)
- Last Synced: 2025-12-20T18:47:48.278Z (6 months ago)
- Topics: downloader, m4a, metadata, music, no-login, playlist, python, python3, spotify, spotify-playlist
- Language: Python
- Homepage: https://youtu.be/xHsE06ov59A
- Size: 193 KB
- Stars: 154
- Watchers: 7
- Forks: 26
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
### spotify-dl - Spotify Playlist Downloader
Downloads Spotify playlists in high quality without login by matching each track and downloading it from YouTube Music.
[YouTube video](https://youtu.be/xHsE06ov59A) demonstrating usage (binaries)
## Features
- No premium subscription required
- No login required
- Lightweight
- Downloads in higher bitrate (around 300 kbps)
- With embed metadata (title, artist, album and album art, etc)
## Warning
This program uses YouTube Music as the source for music downloads, there is a chance of mismatching.
> This program is for **educational purposes only**. Users are responsible for complying with YouTube Music and Spotify's terms of service.
## Usage
This program requires **ffmpeg** to work. Install [ffmpeg](https://ffmpeg.org/download.html) and add the folder where `ffmpeg.exe` is located to PATH/system environment variables.
Unlike most downloader, this program **does not** require a Spotify Developers account.
### Using Binaries (Windows Only)
1. Download the latest binaries from the [release section](https://github.com/invzfnc/spotify-downloader/releases).
2. Extract the files and navigate to the extracted folder.
3. Open command prompt/terminal and run the program with your playlist URL.
```sh
spotify-dl.exe playlist_url
```
**Available Options**
- To get help on available options:
```sh
spotify-dl.exe --help
```
- To specify where to store downloaded files:
```sh
spotify-dl.exe -o path playlist_url
```
- To change audio format (for example mp3):
```sh
spotify-dl.exe -f mp3 playlist_url
```
- To set how many songs are matched at the same time (default: 3. *P.S. There is no hard limit set, but please don't go wild*)
```sh
spotify-dl.exe -c 5 playlist_url
```
- To enable yt-dlp's [`--download-archive`](https://github.com/yt-dlp/yt-dlp?tab=readme-ov-file#video-selection) option
> Download only videos not listed in the archive file. Record the IDs of all downloaded videos in it.
```sh
spotify-dl.exe --download_archive FILE playlist_url
```
- To save as ` - .` instead of the default ` - .`:
```sh
spotify-dl.exe --title-first playlist_url
```
### Using Source Code
1. Clone the repository.
```sh
git clone https://github.com/invzfnc/spotify-downloader.git
cd spotify-downloader
```
2. Create and activate a virtual environment (Optional but recommended), then install required dependencies.
```sh
# using uv
uv sync
# Windows
.venv\Scripts\activate
# Linux/MacOS
source .venv/bin/activate
```
```sh
# using pip
python -m venv venv
# Windows
venv\Scripts\activate.bat
# Linux/MacOS
source venv/bin/activate
python -m pip install -r requirements.txt
```
3. Run the program with your playlist URL.
```sh
python -m spotify-dl playlist_url
```
**Available Options**
- To get help on available options:
```sh
python -m spotify-dl --help
```
- To specify where to store dowloaded files:
```sh
python -m spotify-dl -o path playlist_url
```
- To change audio format (for example mp3):
```sh
python -m spotify-dl -f mp3 playlist_url
```
- To set how many songs are matched at the same time (default: 3. *P.S. There is no hard limit set, but please don't go wild*)
```sh
python -m spotify-dl -c 5 playlist_url
```
- To enable yt-dlp's [`--download-archive`](https://github.com/yt-dlp/yt-dlp?tab=readme-ov-file#video-selection) option
> Download only videos not listed in the archive file. Record the IDs of all downloaded videos in it.
```sh
python -m spotify-dl --download_archive FILE playlist_url
```
- To save as ` - .` instead of the default ` - .`:
```sh
python -m spotify-dl --title-first playlist_url
```
## Issues
If you have encountered problems, please read the [guidelines](CONTRIBUTING.md#reporting-issuesasking-questions) for detailed instructions on how to open an issue.
## Contributing
Contributions are welcome! If you'd like to contribute, please read our [CONTRIBUTING.md](CONTRIBUTING.md) guide for details on how to get started.
## Credits
Icon designed by [exia098](https://www.artstation.com/exia098).
## License
This software is licensed under the [MIT License](https://github.com/invzfnc/spotify-downloader/blob/main/LICENSE) © [Cha](https://github.com/invzfnc)