An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

          



Logo

### 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)

Latest release version
Total downloads

## 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)