Spicetify extension that downloads music using SpotDL
Install SpiceDL from Spicetify marketplace or releases
You can execute python backend by running following commands
cd api-python-multiplatform
pip install -r requirements.txt
pip install spotdl
python app.pyOr click standalone prebuilt package for your platform.
The API server will start and show a system tray icon. Right-click the icon to access settings.
- 🎵 Adds "Download with SpiceDL" button to track, album, and playlist context menus
- 📊 Download status page (accessible from profile menu)
- ⚙️ Extension settings page for API configuration
- 🌍 Multi-language support (English, Japanese, Spanish, Italian, French, Russian, Chinese)
- 🔄 Real-time download progress tracking
- Integrates with SpiceDL API server to manage downloads
- 🚀 REST API to receive Spotify URLs and download using spotDL
- 📈 Download progress tracking
- 🖥️ GUI settings window (download folder, port settings, etc.)
- 🔔 System tray icon (multi-platform support: Windows, macOS, Linux)
-
Start a download:
- Right-click on any track, album, or playlist in Spotify
- Select "Download with SpiceDL" (or "Download Album/Playlist with SpiceDL")
- The download will start automatically
-
Check download status:
- Click on your profile menu in Spotify
- Select "Download Status"
- View all active, completed, and failed downloads
- Cancel downloads if needed
-
Configure settings:
- Click on your profile menu in Spotify
- Select "SpiceDL Settings"
- Configure API server host and port (default:
127.0.0.1:5985)
- Make sure the API server is running (
python api/app.py) - Check that the API server port matches the extension settings (default: 5985)
- Verify Spicetify is properly installed:
spicetify --version
- Ensure spotDL is installed:
pip install spotdl - Check API server logs for errors
- Verify the download folder is writable
- Check if port 5985 is already in use
- Verify Python dependencies are installed:
pip install -r api/requirements.txt - On Linux, ensure system tray is available (some desktop environments may not support it)
Contributions are welcome! Please feel free to submit a Pull Request.
