Download your Spotify playlists, albums, and tracks for free!
This script takes a Spotify link (album, playlist, or track) and downloads the corresponding audio directly from YouTube, converting it with ffmpeg.
- 🔗 Paste a Spotify link (playlist / album / track) and let the script do the rest
- 📂 Downloads full playlists, albums, or single tracks
- 🎶 Converts audio to MP3 format using
ffmpeg - 🎨 Beautiful colored console output with progress bars
- 🖥️ Modern PyQt6 GUI - Clean, modern desktop interface
- 🌐 Web Interface - Gradio-based web UI for browser access
- ⚡ Simple setup with automated installation scripts
- 🖥 Cross-platform support: Windows, macOS, Linux
- 🔄 Multiple extraction methods - Tries different approaches to fetch track lists
- ✅ Error handling - Automatically retries failed downloads
Make sure you have the following before starting:
- Python 3.10+
- ffmpeg (required for MP3 conversion)
- Internet connection (to fetch from Spotify + YouTube)
git clone https://github.com/Daniel-191/collaborative
cd collaborative-
Windows: Double-click
install.bator run:install.bat
-
macOS/Linux (Terminal):
chmod +x install.sh ./install.sh
-
Manual Installation:
pip install -r requirements.txt
You'll need ffmpeg installed and accessible in your system PATH.
-
Windows:
- Download ffmpeg from ffmpeg.org/download.html
- Extract the downloaded ZIP file to a folder
- Add ffmpeg to your system PATH:
- Open System Properties → Environment Variables
- Under System Variables, find and edit Path
- Add the path to ffmpeg's
binfolder - Click OK to save
- Restart your command prompt and verify with:
ffmpeg -version
Need help? Watch this tutorial for guidance: https://www.youtube.com/watch?v=jZLqNocSQDM&t=33s
-
macOS (Homebrew):
brew install ffmpeg
-
Linux (Debian/Ubuntu):
sudo apt update sudo apt install ffmpeg
-
Linux (Fedora):
sudo dnf install ffmpeg
-
Linux (Arch):
sudo pacman -S ffmpeg
This application offers three different interfaces:
Launch the modern desktop application:
- Double-click
run_gui.pyw - Or run:
python run_gui.pyw
Launch the web-based interface:
python main.py
# or
python3 main.pyAccess through your browser at http://localhost:7860
For terminal users:
python cli.py "https://open.spotify.com/playlist/..."When prompted, paste a Spotify link:
- Track →
https://open.spotify.com/track/...→ downloads the song - Album →
https://open.spotify.com/album/...→ downloads all songs in the album - Playlist →
https://open.spotify.com/playlist/...→ downloads the entire playlist
The script will:
- Extract track information from Spotify
- Search for each track on YouTube
- Download the best audio match
- Convert to MP3 format
- Save to the
downloaded/folder
- ✅ Windows
- ✅ macOS
- ✅ Linux
This project uses the following Python packages:
| Package | Purpose |
|---|---|
| yt-dlp | YouTube downloading |
| requests | HTTP requests to Spotify |
| colorama | Colored terminal output |
| urllib3 | HTTP client utilities |
| gradio | Web interface |
| PyQt6 | Desktop GUI framework |
External Dependencies:
- FFmpeg - Audio conversion (must be installed separately)
Warning
This project is for educational purposes only. Downloading copyrighted content without permission may violate copyright laws. Please support artists by streaming legally on Spotify or purchasing their music.