Skip to main content

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

Project description

SpotiFLAC Python Module

PyPI - Version PyPI - Python Version Pepy Total Downloads

Integrate SpotiFLAC directly into your Python projects. Perfect for building custom Telegram bots, automation tools, bulk downloaders, jellyfin downloader musics or web interfaces.

Looking for a standalone app?

SpotiFLAC (Desktop)

Download music in true lossless FLAC from Tidal, Qobuz & Amazon Music for Windows, macOS & Linux

SpotiFLAC (Mobile)

SpotiFLAC for Android & iOS — maintained by @zarzet


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",
    output_dir="./downloads"
)

New use:

> spotiflac url ./out --service tidal spoti --use-artist-subfolders

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",
    output_dir="./MusicLibrary",
    services=["qobuz", "amazon", "tidal", "spoti", "youtube"],
    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 spoti youtube 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 spoti youtube 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", "spoti", "youtube", "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)

Want to support the project?

If this software is useful and brings you value, consider supporting the project by buying me a coffee. Your support helps keep development going.

Ko-fi

API Credits

Song.link · hifi-api · dabmusic.xyz · spotidownloader · SpotubeDL · afkarxyz

[!TIP]

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spotiflac-0.2.13.tar.gz (50.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

spotiflac-0.2.13-py3-none-any.whl (60.6 kB view details)

Uploaded Python 3

File details

Details for the file spotiflac-0.2.13.tar.gz.

File metadata

  • Download URL: spotiflac-0.2.13.tar.gz
  • Upload date:
  • Size: 50.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for spotiflac-0.2.13.tar.gz
Algorithm Hash digest
SHA256 8aae311a0821a2e6f9556ad7f725f9d1b7142215fa2d8e6badb9b634480723f8
MD5 d32c8991c89b04f627a7235f22edcbf2
BLAKE2b-256 8185d14020946f7e8e237052626f8bf36c19ea8ab6dadb461260c9f35c0e8d8a

See more details on using hashes here.

File details

Details for the file spotiflac-0.2.13-py3-none-any.whl.

File metadata

  • Download URL: spotiflac-0.2.13-py3-none-any.whl
  • Upload date:
  • Size: 60.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for spotiflac-0.2.13-py3-none-any.whl
Algorithm Hash digest
SHA256 f387dfe34be2b7e5e49e5eb47eb82627bf1ecd2731a26ccd23652b15cc629962
MD5 2df59f933fba9ba62ed85f99d744f3aa
BLAKE2b-256 92223890fbe277015ec32daa7c1fa098e950c5dbe2c9c3a654df762473f16078

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page