A streaming music downloader. https://github.com/d-fi/releases/releases

Namkhai B ce06ce1e69 chore: release v2.1.6 2 years ago
__tests__ 7967e394ed fix(tests): failing tests after ffc1da 2 years ago
assets fc3b34cd1f Update assets 4 years ago
docs 0fa11d7057 update docs 3 years ago
src 4891e5419a refactor: Improve message wording 2 years ago
.eslintignore ff0bad4218 chore: add eslintignore 2 years ago
.eslintrc.js a9c631f7f3 use ts parser 2 years ago
.gitignore 9ddf76bd7a update gitignore 3 years ago
.prettierrc.js a9c631f7f3 use ts parser 2 years ago
LICENSE 3f25986943 MIT 4 years ago
README.md 2ac0c7153b feat(search): Search playlists 2 years ago
build.sh 36d2c142fd use node16 2 years ago
package.json ce06ce1e69 chore: release v2.1.6 2 years ago
setup-termux.js a9c631f7f3 use ts parser 2 years ago
tsconfig.json 8b0434a571 include src and package.json 3 years ago
yarn.lock cd55ee744c chore: update d-fi-core to v1.3.5 2 years ago



A streaming music downloader.


d-fi is a program for downloading music from streaming music services. Remember that the artists and studios put a lot of work into making music - purchase the original music to support them.

v2 Migration Guide

Please read here


  • Supports downloading tracks, albums, artists, and playlists
  • Allows music quality selection (128 kbps, 320 kbps and FLAC)
  • Auto tagging MP3 & FLAC (including album cover and lyrics)
  • Support downloading from both links and via searching

Supported Sites

Deezer, Spotify and Tidal

  • Tracks
  • Albums
  • Audiobook
  • Playlists
  • Artists

Note that Spotify and Tidal tracks will be sourced from Deezer using ISRC matching and UPC for albums. Also Spotify artist tracks are limited upto 10 items.


Method 1

First install nodejs following this tutorial

Once nodejs installation is complete run this command.

sudo npm i -g d-fi

or if you are using yarn

yarn global add d-fi

Now you can run using command d-fi to start.

Method 2

Download pre-built binary from here and then double click on Windows to run. For Linux and macOS user, first open your choice of terminal and the execute with ./d-fi

CLI Parameters

All options are optional. You can suppress prompts via providing quality and url if you are using scripts. You can also use config file. Read the docs here

Parameter Short Supported values Description
--quality -q 128/320/flac The quality of the files to download
--output -o Output file format according to saveLayout. See more here The path to download the files to
--url -u or nothing album/artist/playlist/track url Downloads from url
--input-file -i Downloads all urls listed in text file. Example: d-fi -i links.txt Downloads from url
--concurrency -c 1 to 50 Downloads X songs at a time
--set-arl -a arl string Set arl cookies
--headless -d Nothing Run in headless mode. You must provide both --url and --quality if you run in headless mode. This mode is meant for scripting automation.
--resolve-full-path -rfp Nothing Create playlist file with absolute path location
--create-playlist -cp Nothing Create playlist for albums and artists
--config-file -conf Config location. Example: d-fi -conf my-d-fi.config.json Specify custom location to config file
--update -U Nothing Download new update (binary only)
--help -h Nothing Shows the CLI help

Search Parameters

Prefix Description
artist: Search artist
album: Search album
playlist: Search playlist


If you want to show your appreciation, you can donate me on here. Thanks!

Telegram community group: @dFiCommunity


d-fi was not developed for pirating music but educational and private usage.

It may be illegal to use this in your country,

I am not responsible in any way for the usage of others.

Made with :heart: & :coffee: by Sayem

Based on SMLoadr and Deezloader Remix