Tidal-DL is a command-line downloader for TIDAL tracks, playlists, and music videos. It uses TIDAL device authorization, stores the local session for reuse, and downloads segmented media with aria2c when available or a built-in downloader when it is not.
- Download tracks in
LOW,HIGH,LOSSLESS, andHI_RES_LOSSLESSquality tiers. - Download full playlists at a selected quality.
- Download music videos after choosing from the available stream variants.
- Rename tracks using
Artist - Titlemetadata. - Optionally convert downloaded audio to MP3 with
ffmpeg. - Set a custom base output directory at startup.
- Use
aria2cautomatically when installed, with a native fallback otherwise.
- Node.js 18 or newer.
ffmpegonly if you want MP3 conversion.aria2cis optional. If it is installed and available onPATH, the downloader will use it automatically.
git clone https://github.com/andresdevvv/tidal-dl.git
cd tidal-dl
npm installStart the CLI with either command:
npm run startupnode startup.mjsOn first run, the app will prompt you to complete TIDAL device authentication in your browser. After authentication, the session is stored locally and reused on later runs.
If the bundled device-auth client stops working, you can provide your own auth configuration in tidal_auth.json:
{
"clientId": "your_client_id",
"clientSecret": "your_client_secret",
"scope": "r_usr w_usr w_sub",
"sessionFile": "tidal_session.json"
}You can also override the same values with environment variables:
TIDAL_CLIENT_IDTIDAL_CLIENT_SECRETTIDAL_SCOPETIDAL_SESSION_FILE
Detailed runtime logs are written to ./logs/ by default. You can override the location with TIDAL_LOG_DIR or TIDAL_LOG_FILE.
The CLI currently supports:
- Download a song
- Download a music video
- Download a playlist
You will be prompted for the TIDAL URL, quality selection, output directory, and optional rename or MP3 conversion steps where applicable.
By default, downloads are stored under ./downloads:
./downloads/music./downloads/playlists/<playlist name>./downloads/videos
- This project is intended for personal use with content you are authorized to access through your TIDAL account.
- Respect copyright law and TIDAL's terms of service.
- Download reliability and available formats depend on TIDAL responses and stream availability.
This project is licensed under the MIT License. See LICENSE for the full text.