Home

Awesome

WARNING! This project has been discontinued. Please use Votify instead: https://github.com/glomatico/votify

Spotify Web Downloader

A Python CLI app for downloading songs and music videos directly from Spotify.

Discord Server: https://discord.gg/aBjMEZ9tnq

Features

Prerequisites

Installation

  1. Install the package spotify-web-downloader using pip
    pip install spotify-web-downloader
    
  2. Place your cookies file and the .wvd file in the directory from which you will be running spotify-web-downloader and name it cookies.txt and device.wvd respectively.

Usage

spotify-web-downloader [OPTIONS] URLS...

Examples

Configuration

spotify-web-downloader can be configured using the command line arguments or the config file.

The config file is created automatically when you run spotify-web-downloader for the first time at ~/.spotify-web-downloader/config.json on Linux and %USERPROFILE%\.spotify-web-downloader\config.json on Windows.

Config file values can be overridden using command line arguments.

Command line argument / Config file keyDescriptionDefault value
--wait-interval, -w / wait_intervalWait interval between downloads in seconds.10
--download-music-video / download_music_videoAttempt to download music videos from songs (can lead to incorrect results).false
--force-premium, -f / force_premiumForce to detect the account as premium.false
--save-cover, -s / save_coverSave cover as a separate file.false
--overwrite / overwriteOverwrite existing files.false
--read-urls-as-txt, -r / -Interpret URLs as paths to text files containing URLs.false
--save-playlist / save_playlistSave a M3U8 playlist file when downloading a playlist.false
--lrc-only, -l / lrc_onlyDownload only the synced lyrics.false
--no-lrc / no_lrcDon't download the synced lyrics.false
--config-path / -Path to config file.<home>/.spotify-web-downloader/config.json
--log-level / log_levelLog level.INFO
--print-exceptions / print_exceptionsPrint exceptions.false
--cookies-path, -c / cookies_pathPath to .txt cookies file../cookies.txt
--output-path, -o / output_pathPath to output directory../Spotify
--temp-path / temp_pathPath to temporary directory../temp
--wvd-path / wvd_pathPath to .wvd file../device.wvd
--ffmpeg-path / ffmpeg_pathPath to FFmpeg binary.ffmpeg
--mp4box-path / mp4box_pathPath to MP4Box binary.MP4Box
--mp4decrypt-path / mp4decrypt_pathPath to mp4decrypt binary.mp4decrypt
--aria2c-path / aria2c_pathPath to aria2c binary.aria2c
--nm3u8dlre-path / nm3u8dlre_pathPath to N_m3u8DL-RE binary.N_m3u8DL-RE
--remux-mode / remux_modeRemux mode.ffmpeg
--template-folder-album / template_folder_albumTemplate folder for tracks that are part of an album.{album_artist}/{album}
--template-folder-compilation / template_folder_compilationTemplate folder for tracks that are part of a compilation album.Compilations/{album}
--template-file-single-disc / template_file_single_discTemplate file for the tracks that are part of a single-disc album.{track:02d} {title}
--template-file-multi-disc / template_file_multi_discTemplate file for the tracks that are part of a multi-disc album.{disc}-{track:02d} {title}
--template-folder-no-album / template_folder_no_albumTemplate folder for the tracks that are not part of an album.{artist}/Unknown Album
--template-file-no-album / template_file_no_albumTemplate file for the tracks that are not part of an album.{title}
--template-file-playlist / template_file_playlistTemplate file for the M3U8 playlist.Playlists/{playlist_artist}/{playlist_title}
--date-tag-template / date_tag_templateDate tag template.%Y-%m-%dT%H:%M:%SZ
--exclude-tags / exclude_tagsComma-separated tags to exclude.null
--truncate / truncateMaximum length of the file/folder names.null
--download-mode-song / download_mode_songDownload mode for songs.ytdlp
--premium-quality, -p / premium_qualityDownload songs in premium quality.false
--download-mode-video / download_mode_videoDownload mode for videos.ytdlp
--no-config-file, -n / -Do not use a config file.false

Tag variables

The following variables can be used in the template folder/file and/or in the exclude_tags list:

Remux modes

The following remux modes are available:

Music videos quality

Music videos will be downloaded in the highest quality available in H.264/AAC, up to 1080p.

Download modes

The following modes are available for songs:

The following modes are available for videos: