Skip to content

ShuShuzinhuu/SpotiFLAC-Module-Version

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

212 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SpotiFLAC Python Module

PyPI version Python Versions

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.


Installation

pip install SpotiFLAC

Quick Start

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"
)

Advanced Configuration

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
)

CLI program usage

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.

Windows example usage:

./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]

Linux / Mac example usage:

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]

API Reference

SpotiFLAC() Parameters

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.

Filename Format Placeholders

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)

API Credits

Song.link · hifi-api · dabmusic.xyz · yoinkify.lol

Tip

Star Us, You will receive all release notifications from GitHub without any delay ~

About

Get Spotify tracks in true FLAC from Tidal, Qobuz, Amazon Music & Deezer — no account required.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages

  • Python 100.0%