You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Justin Mai 172ea154da Update (#243) 5 years ago
config Default Download path is now current folder 7 years ago
scdl check for None before tagging (#242) 5 years ago
.gitignore somefix 7 years ago
AUTHORS Add AUTHORS 7 years ago
LICENSE Initial commit 8 years ago Small changes... 7 years ago Update (#243) 5 years ago [FIX] Remove soundcloud from our dependencies 6 years ago

Soundcloud Music Downloader PyPI version


This script is able to download music from SoundCloud and set id3tag to the downloaded music. Compatible with Windows, OS X, Linux.

System requirements

  • Python3



pip3 install scdl


git clone && cd scdl
python3 install

(Optional) Setup your path and your auth_token in $HOME/.config/scdl/scdl.cfg


Soundcloud has banned all our client_id so we cannot use authentication for now.

  • This allows scdl to access to your user profile data.
  • You need to have this set to be able to use the me option



# Download track & repost of the user QUANTA
scdl -l -a

# Download likes of the user Blastoyz
scdl -l -f

# Download one track
scdl -l

# Download one playlist
scdl -l

# Download only new tracks from a playlist
scdl -l --download-archive archive.txt

# Download your likes (with authentification token)
scdl me -f


    -h --help                   Show this screen
    --version                   Show version
    me                          Use the user profile from the auth_token
    -l [url]                    URL can be track/playlist/user
    -s                          Download the stream of a user (token needed)
    -a                          Download all tracks of a user (including reposts)
    -t                          Download all uploads of a user (no reposts)
    -f                          Download all favorites of a user
    -C                          Download all commented by a user
    -p                          Download all playlists of a user
    -m                          Download all liked and owned playlists of a user
    -c                          Continue if a downloaded file already exists
    -o [offset]                 Begin with a custom offset
    --path [path]               Use a custom path for downloaded files
    --min-size [min-size]       Skip tracks smaller than size (k/m/g)
    --max-size [max-size]       Skip tracks larger than size (k/m/g)
    --hidewarnings              Hide Warnings. (use with precaution)
    --addtofile                 Add the artist name to the filename if it isn't in the filename already
    --addtimestamp              Adds the timestamp of the creation of the track to the title (useful to sort chronologically)
    --onlymp3                   Download only the mp3 file even if the track is Downloadable
    --error                     Set log level to ERROR
    --debug                     Set log level to DEBUG
    --hide-progress             Hide the wget progress bar
    --no-playlist-folder        Download playlist tracks into directory, instead of making a playlist subfolder (the default)
    --download-archive [file]   Store track IDs in an archive file and skip already-downloaded files


  • Automatically detect the type of link provided
  • Download all songs from a user
  • Download all songs and reposts from a user
  • Download all songs from one playlist
  • Download all songs from all playlists from a user
  • Download all songs from a user's favorites
  • Download only new tracks from a list (playlist, favorites, etc.)
  • Set the tags with mutagen (Title / Artist / Album / Artwork)
  • Create playlist files when downloading a playlist


GPL v2, original author flyingrub