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.

3.9 KiB

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



layman -fa glicOne
sudo emerge -av net-misc/scdl

(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 -c

# 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 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 user
    -c                          Continue if a downloaded file already exists
    -o [offset]                 Begin with a custom offset
    --addtimestamp              Add track creation timestamp to filename, which allows for chronological sorting
    --addtofile                 Add artist to filename if missing
    --debug                     Set log level to DEBUG
    --download-archive [file]   Keep track of track IDs in an archive file, and skip already-downloaded files
    --error                     Set log level to ERROR
    --extract-artist            Set artist tag from title instead of username
    --hide-progress             Hide the wget progress bar
    --hidewarnings              Hide Warnings. (use with precaution)
    --max-size [max-size]       Skip tracks larger than size (k/m/g)
    --min-size [min-size]       Skip tracks smaller than size (k/m/g)
    --no-playlist-folder        Download playlist tracks into main directory, instead of making a playlist subfolder
    --onlymp3                   Download only the streamable mp3 file, even if track has a Downloadable file
    --path [path]               Use a custom path for downloaded files
    --remove                    Remove any files not downloaded from execution


  • 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