Skip to content

A Python project that downloads tracks from soundcloud.com, complete with metadata and album art

Notifications You must be signed in to change notification settings

suyashb95/soundcloud-dl

Repository files navigation

soundcloud-dl

Downloads

A small command-line program to download tracks from soundcloud.com You'll need to get an API key since there are rate limits on streams

Installation

Using Pip

  • Run pip install soundcloud_dl

From Source

  • Clone the repo or download the zip
  • Make sure you have pip installed
  • cd to the folder
  • pip install -r "requirements.txt"

Getting an API key

  • SoundCloud has stopped registering apps so the only way to get an API key is from the dev console Navigate to soundcloud.com and check for any XHR request params to find a client_id that can be used
  • Use sc-dl --set-api-key <CLIENT_ID> to set the API key

Usage

usage

Options

usage: sc-dl [-h] [-t | -n | -u [URL]] [--set-api-key SET_API_KEY] [-s]
            [-d DIR] [-a] [-l] [-e EXCLUDE [EXCLUDE ...]]
            [-i INCLUDE [INCLUDE ...]] [--limit LIMIT] [-r RANGE RANGE]
            [-g [GENRE]]

optional arguments:
  -h, --help            show this help message and exit
  -t, --top             Downloads the top 10 tracks across all genres
  -n, --new             Downloads 10 new tracks across all genres
  -u [URL], --url [URL]
                        URL to download tracks from. If this is a user's
                        profile, all uploads are fetched unless -a/--all or
                        -l/--likes are specified
  --set-api-key SET_API_KEY
                        sets the soundcloud API key
  -s, --similar         Downloads 10 tracks similar to the track in the URL
  -d DIR, --dir DIR     Directory to save tracks in. Defaults to current
                        working directory
  -a, --all             Download all tracks (Uploads and likes). Should be
                        used along with -u/--url with a user's profile URL
  -l, --likes           Download only liked tracks. Should be used along with
                        -u/--url with a user's profile URL
  -e EXCLUDE [EXCLUDE ...], --exclude EXCLUDE [EXCLUDE ...]
                        Enter track numbers to exclude.
  -i INCLUDE [INCLUDE ...], --include INCLUDE [INCLUDE ...]
                        Enter track numbers to include
  --limit LIMIT         Maximum number of tracks to download
  -r RANGE RANGE, --range RANGE RANGE
                        Enter range of tracks to download.
  -g [GENRE], --genre [GENRE]
                        use with --top to get top tracks from a specific genre
  • sc-dl can be used instead of soundcloud-dl
  • The -u/--url option can be a link to a user, a track or a user's playlists. If it's a user profile, all uploads are fetched unless --all or --likes options are specified
  • --top, --new and --url arguments are mutually exclusive
  • Adding the --include option overrides the --exclude option
  • Example : sc-dl https://soundcloud.com/aaasrith --dir D:\Music
  • Example : sc-dl https://soundcloud.com/aaasrith --dir D:\Music --exclude 1 2 3
  • Example : sc-dl https://soundcloud.com/aaasrith/closurewithaclause -s

Contributions

If you want to add features, improve them, or report issues, feel free to send a pull request!

About

A Python project that downloads tracks from soundcloud.com, complete with metadata and album art

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages