Skip to content

TRPostma/qobuz-dl

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

149 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

qobuz-dl

Search, explore and download Lossless and Hi-Res music from Qobuz. It just works™ (2025).

About this fork

This fork keeps the original qobuz-dl workflow but adds practical proxy support for high-volume and restricted-network setups.

What changed

  • Added --proxy for a single proxy endpoint (recommended for backconnect/rotating gateway proxies).
  • Added --proxy-file for local proxy lists (one proxy URL per line), with automatic per-request rotation.
  • Added SOCKS5 proxy support (socks5://...) via PySocks.
  • Applied proxy handling across API calls, track/cover downloads, Last.fm playlist fetches, and token/bundle bootstrap requests.
  • Added config keys for persistent proxy settings (proxy, proxy_file).

Features

  • Download FLAC and MP3 files from Qobuz
  • Explore and download music directly from your terminal with interactive or lucky mode
  • Download albums, tracks, artists, playlists and labels with download mode
  • Download music from last.fm playlists (Spotify, Apple Music and Youtube playlists are also supported through this method)
  • Queue support on interactive mode
  • Effective duplicate handling with own portable database
  • Support for albums with multiple discs
  • Support for M3U playlists
  • Downloads URLs from text file
  • Extended tags
  • And more

Getting started

You'll need an active subscription

Install this fork from source

Linux / macOS
git clone <your-fork-url>
cd qobuz-dl
python3 -m pip install --upgrade pip
python3 -m pip install -r requirements.txt
python3 -m pip install -e .
Windows
git clone <your-fork-url>
cd qobuz-dl
py -m pip install --upgrade pip
py -m pip install -r requirements.txt
py -m pip install windows-curses
py -m pip install -e .

Run qobuz-dl and enter your credentials

qobuz-dl

If you publish this fork to a package index, you can install it directly from there instead.

If something fails, run qobuz-dl -r to reset your config file.

Examples

Download mode

Download URL in 24B<96khz quality

qobuz-dl dl https://play.qobuz.com/album/qxjbxh1dc3xyb -q 7

Download multiple URLs to custom directory

qobuz-dl dl https://play.qobuz.com/artist/2038380 https://play.qobuz.com/album/ip8qjy1m6dakc -d "Some pop from 2020"

Download multiple URLs from text file

qobuz-dl dl this_txt_file_has_urls.txt

Download using a backconnect/rotating gateway HTTP proxy endpoint (single input URL)

qobuz-dl dl https://play.qobuz.com/album/qxjbxh1dc3xyb --proxy http://user:pass@gateway.example.com:10000

Download using SOCKS5

qobuz-dl dl https://play.qobuz.com/album/qxjbxh1dc3xyb --proxy socks5://user:pass@127.0.0.1:1080

Download using a local rotating proxy list (one proxy URL per line)

qobuz-dl dl https://play.qobuz.com/artist/2038380 --proxy-file proxies.txt

Download albums from a label and also embed cover art images into the downloaded files

qobuz-dl dl https://play.qobuz.com/label/7526 --embed-art

Download a Qobuz playlist in maximum quality

qobuz-dl dl https://play.qobuz.com/playlist/5388296 -q 27

Download all the music from an artist except singles, EPs and VA releases

qobuz-dl dl https://play.qobuz.com/artist/2528676 --albums-only

Last.fm playlists

Last.fm has a new feature for creating playlists: you can create your own based on the music you listen to or you can import one from popular streaming services like Spotify, Apple Music and Youtube. Visit: https://www.last.fm/user/<your profile>/playlists (e.g. https://www.last.fm/user/vitiko98/playlists) to get started.

Download a last.fm playlist in the maximum quality

qobuz-dl dl https://www.last.fm/user/vitiko98/playlists/11887574 -q 27

Run qobuz-dl dl --help for more info.

Interactive mode

Run interactive mode with a limit of 10 results

qobuz-dl fun -l 10

Type your search query

Logging...
Logged: OK
Membership: Studio


Enter your search: [Ctrl + c to quit]
- fka twigs magdalene

qobuz-dl will bring up a nice list of releases. Now choose whatever releases you want to download (everything else is interactive).

Run qobuz-dl fun --help for more info.

Lucky mode

Download the first album result

qobuz-dl lucky playboi carti die lit

Download the first 5 artist results

qobuz-dl lucky joy division -n 5 --type artist

Download the first 3 track results in 320 quality

qobuz-dl lucky eric dolphy remastered --type track -n 3 -q 5

Download the first track result without cover art

qobuz-dl lucky jay z story of oj --type track --no-cover

Run qobuz-dl lucky --help for more info.

Other

Reset your config file

qobuz-dl -r

By default, qobuz-dl will skip already downloaded items by ID with the message This release ID ({item_id}) was already downloaded. To avoid this check, add the flag --no-db at the end of a command. In extreme cases (e.g. lost collection), you can run qobuz-dl -p to completely reset the database.

Usage

usage: qobuz-dl [-h] [-r] {fun,dl,lucky} ...

The ultimate Qobuz music downloader.
See usage examples on https://github.com/vitiko98/qobuz-dl

optional arguments:
  -h, --help      show this help message and exit
  -r, --reset     create/reset config file
  -p, --purge     purge/delete downloaded-IDs database

commands:
  run qobuz-dl <command> --help for more info
  (e.g. qobuz-dl fun --help)

  {fun,dl,lucky}
    fun           interactive mode
    dl            input mode
    lucky         lucky mode

Module usage

Using qobuz-dl as a module is really easy. Basically, the only thing you need is QobuzDL from core.

import logging
from qobuz_dl.core import QobuzDL

logging.basicConfig(level=logging.INFO)

email = "your@email.com"
password = "your_password"

qobuz = QobuzDL()
qobuz.get_tokens() # get 'app_id' and 'secrets' attrs
qobuz.initialize_client(email, password, qobuz.app_id, qobuz.secrets)

qobuz.handle_url("https://play.qobuz.com/album/va4j3hdlwaubc")

Attributes, methods and parameters have been named as self-explanatory as possible.

A note about Qo-DL

qobuz-dl is inspired in the discontinued Qo-DL-Reborn. This tool uses two modules from Qo-DL: qopy and spoofer, both written by Sorrow446 and DashLt.

Disclaimer

  • This tool was written for educational purposes. I will not be responsible if you use this program in bad faith. By using it, you are accepting the Qobuz API Terms of Use.
  • qobuz-dl is not affiliated with Qobuz

About

A complete Lossless and Hi-Res music downloader for Qobuz

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%