https://github.com/arrowar/spotdown
A lightweight command-line tool to download songs and playlists from Spotify URLs via YouTube, automatically embedding cover art.
https://github.com/arrowar/spotdown
download-music downloader mp3 playwright python python36 scraping spotify spotify-api yt-dlp
Last synced: 9 months ago
JSON representation
A lightweight command-line tool to download songs and playlists from Spotify URLs via YouTube, automatically embedding cover art.
- Host: GitHub
- URL: https://github.com/arrowar/spotdown
- Owner: Arrowar
- License: gpl-3.0
- Created: 2025-09-07T13:08:30.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-09-09T09:28:09.000Z (9 months ago)
- Last Synced: 2025-09-10T10:20:23.883Z (9 months ago)
- Topics: download-music, downloader, mp3, playwright, python, python36, scraping, spotify, spotify-api, yt-dlp
- Language: Python
- Homepage:
- Size: 70.3 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## π Project Status & Info
[](https://pypi.org/project/spotdown)
[](https://github.com/Arrowar/spotdown/commits)
[](https://github.com/Arrowar/spotdown/issues)
[](https://github.com/Arrowar/spotdown/blob/main/LICENSE)
## π Support the Project
[](https://www.paypal.com/donate/?hosted_button_id=UXTWMT8P6HE2C)
## π Download & Install
[](https://github.com/Arrowar/spotdown/releases/latest/download/spotdown_win.exe)
[](https://github.com/Arrowar/spotdown/releases/latest/download/spotdown_mac)
[](https://github.com/Arrowar/spotdown/releases/latest/download/spotdown_linux_latest)
[](https://github.com/Arrowar/spotdown/releases/latest/download/spotdown_linux_previous)
---
*β‘ **Quick Start:** `pip install spotdown && spotdown`*
## π Table of Contents
- [β¨ Features](#features)
- [π οΈ Installation](#οΈinstallation)
- [βοΈ Setup](#setup)
- [βοΈ Configuration](#configuration)
- [π» Usage](#usage)
## Features
- π΅ **Download individual songs** from Spotify
- π **Download entire playlists** with ease
- π **No authentication required** - uses web scraping
- π¨ **Automatic cover art embedding** (JPEG format)
- β‘ **Simple command-line interface** - just run `spotdown`!
## Installation
### Method 1: PyPI (Recommended)
```bash
pip install spotdown
```
That's it! You can now run `spotdown` from anywhere in your terminal.
### Method 2: From Source
If you prefer to install from source:
```bash
git clone https://github.com/Arrowar/spotdown.git
cd spotdown
pip install -r "requirements.txt"
python run.py
```
### Prerequisites
The following dependencies will be automatically installed:
- **Python 3.8+**
## Setup
1. Go to the [Spotify Developer Dashboard](https://developer.spotify.com/dashboard/)
2. Log in and create a new application
3. Copy your **Client ID** and **Client Secret**
4. Create a file named `.env` in the SpotDown directory with the following content:
```
SPOTIPY_CLIENT_ID=your_client_id_here
SPOTIPY_CLIENT_SECRET=your_client_secret_here
```
5. Save the file. SpotDown will automatically load these credentials.
## Configuration
SpotDown uses a JSON configuration file with the following structure:
```json
{
"DEFAULT": {
"debug": false,
"clean_console": true,
"show_message": true
},
"DOWNLOAD": {
"allow_metadata": true,
"auto_first": false,
"quality": "320K",
"thread": 5
},
"SEARCH": {
"limit": 5,
"exclude_emoji": false
}
}
```
### Configuration Options
#### DEFAULT Settings
- **`debug`**: Enable/disable debug mode (detailed logging)
- **`clean_console`**: Clear console output for a cleaner interface
- **`show_message`**: Display informational messages during execution
#### DOWNLOAD Settings
- **`allow_metadata`**: Enable downloading of thumbnails and embedding metadata in the final file.
- **`auto_first`**: Automatically select the first search result.
- **`quality`**: Audio quality (320K recommended for best quality).
- **`thread`**: Number of concurrent downloads for batch operations.
#### SEARCH Settings
- **`limit`**: Maximum number of results shown for each search
- **`exclude_emoji`**: Exclude emojis from search results
## Usage
### Starting SpotDown
Simply run the following command in your terminal:
```bash
spotdown
```
The interactive interface will guide you through the download process.
### Download Individual Songs
1. Run `spotdown`
2. Paste the Spotify song URL when prompted
3. The script will automatically:
- Extract song information
- Search for the best quality version
- Download as MP3 with embedded cover art
### Download Playlists
1. Run `spotdown`
2. Paste the Spotify playlist URL when prompted
3. All songs in the playlist will be downloaded automatically
### Example Usage
```bash
$ spotdown
π΅ Welcome to SpotDown!
Please paste your Spotify URL: https://open.spotify.com/track/4iV5W9uYEdYUVa79Axb7Rh
π Processing: Song Name - Artist Name
β¬οΈ Downloading...
β
Download complete!
```
## To Do
- [ ] Support for additional music platforms
- [ ] Album art quality selection
- [ ] Custom output directory configuration
## Disclaimer
This software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and noninfringement.
**Important**: This tool is intended for educational purposes and personal use only. Users are responsible for ensuring they comply with applicable laws and platform terms of service. The developers do not encourage or condone piracy or copyright infringement.
---
**Made with β€οΈ for music lovers**
*If you find this project useful, consider starring it! β*