Registry / data / spotifysaver

spotifysaver

JSON →
library0.7.5pypypi✓ verified 80d ago

Download Spotify tracks/albums/playlists with metadata via YouTube Music, designed for Jellyfin libraries. Current version 0.7.5, requires Python 3.9-3.12. Development is active with regular releases.

pip install spotifysaver
INSTALL
IMPORT
SIG · SPOTIFYSAVER
S
spotifysaver
datapythonv0.7.5
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

check_ffmpeg_installed
from spotifysaver import check_ffmpeg_installed
from spotifysaver import SpotifySaver
subprocess
from spotifysaver import subprocess
from spotifysaver import SpotifySaver

Download a Spotify track by URL.

from spotifysaver import SpotifySaver import os # Initialize with Spotify API credentials (set in .env or environment) os.environ['SPOTIFY_CLIENT_ID'] = os.environ.get('SPOTIFY_CLIENT_ID', 'your_client_id') os.environ['SPOTIFY_CLIENT_SECRET'] = os.environ.get('SPOTIFY_CLIENT_SECRET', 'your_client_secret') saver = SpotifySaver() saver.download('https://open.spotify.com/track/4cOdK2wGLETKBW3PvgPWqT')
spotifysaver --version
Debug
Known issues
gotchaThe SpotifySaver class requires valid Spotify API credentials. Set SPOTIFY_CLIENT_ID and SPOTIFY_CLIENT_SECRET in environment variables or .env file before calling download().
fix
Set environment variables or run `spotifysaver init` to create .env file interactively.
affects: >=0.1.5
breakingIn v0.6.0, the default download format changed from m4a to opus. If you rely on m4a output, you must explicitly set format='m4a' when initializing SpotifySaver or in config.
fix
Specify format='m4a' in constructor or set in .env: SPOTIFYSAVER_FORMAT=m4a.
affects: >=0.6.0
deprecatedThe CLI command `spotifysaver download` is deprecated in favor of `spotifysaver run` (v0.5.0+).
fix
Use `spotifysaver run <url>` instead.
affects: >=0.5.0
gotchaPlaylist downloads create a single directory without subdirectories per artist/album. If you need subdirectories, consider using the API and handling paths manually.
fix
No built-in workaround; feature request pending.
affects: >=0.3.0
gotchaIf you run the API server (`spotifysaver serve`), the web UI is served on port 8000 by default. Ensure that port is not in use.
fix
Change port with `spotifysaver serve --port 8080` or set SERVER_PORT in .env.
affects: >=0.6.0
Upgrade
Version history
0.7.5latest on PyPI · released Nov 23, 2025
Audit
Dependencies
yt-dlprequiredRequired for downloading audio from YouTube Music
mutagenrequiredRequired for embedding metadata into audio files
uvicornoptionalRequired for running the built-in API server
Agent activity
13 hits · last 30 days
node
12
OpenAI (training)
1
Resources
spotifysaver — pip install spotifysaver · libregistry