12 Available options
Ritiek Malhotra edited this page 2020-06-14 14:39:03 +05:30

DEPRECATED: The documentation has moved to https://spotdl.readthedocs.io/en/latest/home.html

This wiki is now kept for legacy reasons.


This page contains a complete list of all available options with description. For advanced usage of the program check out the Advanced usage wiki page.

usage: spotdl [-h]
              (-s SONG [SONG ...] | -l LIST | -p PLAYLIST | -a ALBUM | -aa ALL_ALBUMS | -u USERNAME)
              [--write-m3u] [-m] [-nm] [-ne] [--overwrite {prompt,force,skip}]
              [-q {worst,best}] [-i {m4a,automatic,opus}] [-o {m4a,mp3,flac}]
              [--write-to WRITE_TO] [-f OUTPUT_FILE] [--trim-silence]
              [-sf SEARCH_FORMAT] [-d] [-ns] [-sk SKIP_FILE]
              [-w WRITE_SUCCESSFUL_FILE] [-ll {INFO,WARNING,ERROR,DEBUG}]
              [-c CONFIG] [--remove-config] [-V]

Download and convert tracks from Spotify, Youtube, etc.

optional arguments:
  -h, --help            show this help message and exit
  -s SONG [SONG ...], --song SONG [SONG ...]
                        download track(s) by spotify link or name (default:
                        None)
  -l LIST, --list LIST  download tracks from a file (WARNING: this file will
                        be modified!) (default: None)
  -p PLAYLIST, --playlist PLAYLIST
                        load tracks from playlist URL into <playlist_name>.txt
                        or if `--write-to=<path/to/file.txt>` has been passed
                        (default: None)
  -a ALBUM, --album ALBUM
                        load tracks from album URL into <album_name>.txt or if
                        `--write-to=<path/to/file.txt>` has been passed
                        (default: None)
  -aa ALL_ALBUMS, --all-albums ALL_ALBUMS
                        load all tracks from artist URL into <artist_name>.txt
                        or if `--write-to=<path/to/file.txt>` has been passed
                        (default: None)
  -u USERNAME, --username USERNAME
                        load tracks from user's playlist into
                        <playlist_name>.txt or if `--write-
                        to=<path/to/file.txt>` has been passed (default: None)
  --write-m3u           generate an .m3u playlist file with youtube links
                        given a text file containing tracks (default: False)
  -m, --manual          choose the track to download manually from a list of
                        matching tracks (default: False)
  -nm, --no-metadata    do not embed metadata in tracks (default: False)
  -ne, --no-encode      do not encode media using FFmpeg (default: False)
  --overwrite {prompt,force,skip}
                        change the overwrite policy (default: prompt)
  -q {worst,best}, --quality {worst,best}
                        preferred audio quality (default: best)
  -i {m4a,automatic,opus}, --input-ext {m4a,automatic,opus}
                        preferred input format (default: automatic)
  -o {m4a,mp3,flac}, --output-ext {m4a,mp3,flac}
                        preferred output format (default: mp3)
  --write-to WRITE_TO   write tracks from Spotify playlist, album, etc. to
                        this file (default: None)
  -f OUTPUT_FILE, --output-file OUTPUT_FILE
                        path where to write the downloaded track to, special
                        tags are to be surrounded by curly braces. Possible
                        tags: (default: {artist} - {track-name}.{output-ext})
  --trim-silence        remove silence from the start of the audio (default:
                        False)
  -sf SEARCH_FORMAT, --search-format SEARCH_FORMAT
                        search format to search for on YouTube, special tags
                        are to be surrounded by curly braces. Possible tags:
                        (default: {artist} - {track-name} lyrics)
  -d, --dry-run         show only track title and YouTube URL, and then skip
                        to the next track (if any) (default: False)
  -ns, --no-spaces      replace spaces in metadata values with underscores
                        when generating filenames (default: False)
  -sk SKIP_FILE, --skip-file SKIP_FILE
                        path to file containing tracks to skip (default: None)
  -w WRITE_SUCCESSFUL_FILE, --write-successful-file WRITE_SUCCESSFUL_FILE
                        path to file to write successful tracks to (default:
                        None)
  -ll {INFO,WARNING,ERROR,DEBUG}, --log-level {INFO,WARNING,ERROR,DEBUG}
                        set log verbosity (default: INFO)
  -c CONFIG, --config CONFIG
                        path to custom config.yml file (default:
                        /home/ritiek/.config/spotdl/config.yml)
  --remove-config       remove previously saved config (default: False)
  -V, --version         show program's version number and exit