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

Sayem Chowdhury 6d75e49998 v2.0.0-beta.18 18 hours ago
__tests__ 0f2a36b83e more tests 1 week ago
assets fc3b34cd1f Update assets 11 months ago
docs 217d354e13 support fallbackQuality 1 week ago
src 7405d58ed6 fix playlist ext 1 day ago
.eslintrc.js d232ee0b28 use es8 parser 1 month ago
.gitignore 9ddf76bd7a update gitignore 1 month ago
.prettierrc.js 66d80a580e prettier 1 month ago
LICENSE 3f25986943 MIT 1 year ago
README.md 93c8d1ca7c support input file 1 month ago
build.sh 69674d35e0 update build 1 month ago
package.json 6d75e49998 v2.0.0-beta.18 18 hours ago
setup-termux.js 485a90d502 setup script for termux 1 month ago
tsconfig.json 8b0434a571 include src and package.json 3 weeks ago
yarn.lock 0bca38bd49 update dependencies 18 hours 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.


  • 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.

npm i d-fi@beta -g

or if you are using yarn

yarn global add d-fi@beta

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.
--help -h Nothing Shows the CLI help


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