Integrate SpotiFLAC directly into your Python projects. Perfect for building custom Telegram bots, automation tools, bulk downloaders, or web interfaces.
Looking for a standalone app? > Check out the CLI tool or the GUI tool.
pip install SpotiFLAC
Import the module and start downloading immediately:
from SpotiFLAC import SpotiFLAC
# Simple Download
SpotiFLAC(
url="[https://open.spotify.com/track/4cOdK2wGLETKBW3PvgPWqT](https://open.spotify.com/track/4cOdK2wGLETKBW3PvgPWqT)",
output_dir="./downloads"
)You can customize the download behavior, prioritize specific streaming services, and organize your files automatically into folders.
from SpotiFLAC import SpotiFLAC
SpotiFLAC(
url="[https://open.spotify.com/album/41MnTivkwTO3UUJ8DrqEJJ](https://open.spotify.com/album/41MnTivkwTO3UUJ8DrqEJJ)",
output_dir="./MusicLibrary",
services=["qobuz", "amazon", "tidal", "deezer"],
filename_format="{year} - {album}/{track}. {title}",
use_artist_subfolders=True,
use_album_subfolders=True,
loop=60 # Retry duration in minutes
)Program can be downloaded for Windows, Linux (x86 and ARM) and MacOS. The downloads are available under the releases.
Program can also be ran by downloading the python files and calling python launcher.py with the arguments.
./SpotiFLAC-Windows.exe [url]
[output_dir]
[--service tidal qobuz deezer amazon]
[--filename-format "{title} - {artist}"]
[--use-track-numbers] [--use-artist-subfolders]
[--use-album-subfolders]
[--loop minutes]chmod +x SpotiFLAC-Linux-arm64
./SpotiFLAC-Linux-arm64 [url]
[output_dir]
[--service tidal qobuz deezer amazon]
[--filename-format "{title} - {artist}"]
[--use-track-numbers] [--use-artist-subfolders]
[--use-album-subfolders]
[--loop minutes]| Parameter | Type | Default | Description |
|---|---|---|---|
url |
str |
Required | The Spotify URL (Track, Album, or Playlist) you want to download. |
output_dir |
str |
Required | The destination directory path where the audio files will be saved. |
services |
list |
["tidal", "deezer", "qobuz", "amazon"] |
Specifies which services to use and their priority order. |
filename_format |
str |
"{title} - {artist}" |
Format for naming downloaded files. See placeholders below. |
use_track_numbers |
bool |
False |
Prefixes the filename with the track number. |
use_artist_subfolders |
bool |
False |
Automatically organizes downloaded files into subfolders by artist. |
use_album_subfolders |
bool |
False |
Automatically organizes downloaded files into subfolders by album. |
loop |
int |
None |
Duration in minutes to keep retrying failed downloads. |
When customizing the filename_format string, you can use the following dynamic tags:
{title}- Track title{artist}- Track artist{album}- Album name{track}- Track number{date}- Full release date (e.g., YYYY-MM-DD){year}- Release year (e.g., YYYY){position}- Playlist position{isrc}- Track ISRC code{duration}- Track duration (MM:SS)
Song.link · hifi-api · dabmusic.xyz · yoinkify.lol
Tip
Star Us, You will receive all release notifications from GitHub without any delay ~