sfotipy
Spotify Music Downloader - Download music from Spotify playlists, albums, and tracks as MP3 with metadata, cover art, and watermark.
made by Ren - Discord: wtf_renn
Installation
pip install sfotipy
Requirements
- Python 3.9+
- FFmpeg installed and in your PATH
Usage
Interactive Mode
sfotipy
Opens a menu to configure settings and download music.
Direct Mode
sfotipy https://open.spotify.com/track/4iV5W9uYEdYUVa79Axb7Rh
sfotipy https://open.spotify.com/playlist/37i9dQZF1DXcBWIGoYBM5M
sfotipy https://open.spotify.com/album/1DFixLWuPmc35TjJb6Wqeq
Options
| Flag | Description |
|---|---|
-p, --path |
Download path |
-q, --quality |
Audio quality: 0 (auto), 128, 192, 256, 320 kbps |
-s, --source |
Audio source: auto, soundcloud, youtube-music, youtube |
-l, --lyrics |
Download lyrics |
-o, --output-template |
Filename template (e.g. "{track_number}. {artist} - {title}") |
-w, --workers |
Number of parallel download workers (1-8, default: 3) |
--overwrite |
Re-download existing tracks |
--dry-run |
Preview what would be downloaded without downloading |
-V, --verbose |
Enable verbose/debug output |
-v, --version |
Show version |
Features
- Download tracks, playlists, albums, and episodes from Spotify
- Automatic metadata (title, artist, album, cover art)
[Sfotipy]watermark in filename- Multiple audio sources with fallback (YouTube Music → YouTube → SoundCloud)
- Parallel downloads with configurable worker count
- Real-time progress display with per-song progress bars
- ESC to pause with continue/exit option
- Lyrics download support (synced + plain)
- Resume interrupted downloads
- Low-quality track detection with per-track choices
- Automatic update checking from PyPI
License
MIT
Metadata
Release files for sfotipy 1.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sfotipy-1.6.0.tar.gz | 52.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sfotipy-1.6.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 101.0 kB
Release files / sfotipy-1.6.0.tar.gz
| Download URL | sfotipy-1.6.0.tar.gz |
|---|---|
| Size | 52.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9cbb10f7701865be4b45eebd4e600665c9e72de8d227d27196dcbe1834a0cf28
|
|
BLAKE2b-256 checksum How to use checksums |
5193d1b0a108eb3f0f929bd2e1f84370a3d3bf6e8d84999d6776bad423f820f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / sfotipy-1.6.0-py3-none-any.whl
| Download URL | sfotipy-1.6.0-py3-none-any.whl |
|---|---|
| Size | 48.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b4f693df98208ed76bba5114799d294ef4c767796ef20d6588a9160b9e89bb2d
|
|
BLAKE2b-256 checksum How to use checksums |
cda2e657e9fe8e9f24445a49ec8b4696e54a01c8176bdee91cacd8cb13cc7e30
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|