
Security News
ECMAScript 2025 Finalized with Iterator Helpers, Set Methods, RegExp.escape, and More
ECMAScript 2025 introduces Iterator Helpers, Set methods, JSON modules, and more in its latest spec update approved by Ecma in June 2025.
spotifydl-music
Advanced tools
Download audio files from spotify links(Based on: youtube-dl)
spotify-dl made by SwapnilSoni1999
Get FFMPEG
Note: if you run into issues related to puppeteer chromium download please try PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true npm install -g spotifydl-music
A simple commandline utility that allows you to download Spotify Songs, Shows, Episodes, Playlists and Albums from Youtube music. The important difference from the original spotify-dl is, that this is actually pulling the songs from youtube music as a song, so it will download official songs.
PLEASE NOTE:
Install from npm registry
npm install -g spotifydl-music
or You can do manually
git clone https://github.com/Fiotux/spotifydl-music
cd spotifydl-music
npm install
npm link
PS: You may need to type termux-setup-storage
first and allow storage permission
sh -c "$(curl -fsSL https://raw.githubusercontent.com/SwapnilSoni1999/spotify-dl/master/tools/termux.sh)"
Build docker image:
git clone https://github.com/Fiotux/spotifydl-music
cd spotifydl-music
docker build -t spotify-dl .
To download highest quality audio file
spotifydl <spotify track/album/playlist link> ...
Example
spotifydl https://open.spotify.com/track/xyz
Flag | Long Flag | Usage |
---|---|---|
--o | --output | takes valid output path argument |
--es | --extra-search | takes extra search string/term to be used for youtube search |
--oo | --output-only | enforces all downloaded songs in the output dir |
--sf | --search-format | provide template for youtube api, supportsalbumName , artistName ,itemName |
"something {itemName} - {albumName} anyrandomextrastring" | ||
--of | --output-format | provide template for output of filenames, supportsalbumName , artistName ,itemName |
3 x _ are used to signify directories | ||
"something___{artistName}{albumName}{itemName}" | ||
--ef | --exclusion-filters | comma separated string of exclusion filters |
each filter will be checked against the description and title if found the link will be ignored | ||
--st | --saved-tracks | download spotify saved tracks |
--ss | --saved-songs | download spotify saved shows |
--sp | --saved-playlists | download spotify saved playlists |
--sa | --saved-albums | download spotify saved albums |
--l | --login | Requests a login in an external window (non tty should use --u and --p) (Docker without -it is non tty) |
--u | --username | spotify username for headless long (Note: you must use --login once to grant access) |
--p | --password | spotify password |
--cf | --cache-file | takes valid output file name path argument |
--dr | --download-report | output a download report of what files failed |
--cof | --cookie-file | takes valid file name path argument to a txt file for youtube cookies |
--v | --version | returns current version |
--h | --help | outputs help text |
--dl | --download-lyrics | enables downloading of lyrics |
--oft | --output-file-type | choose which type of file to be output as |
To use --u and --p (headless login) you must do a --l once first to grant required permissions (playlists, saved songs ect.)
if you receive 'Got a spotify api error WebapiRegularError: An error occurred while communicating with Spotify's Web API
Details: non existing id' you may need to provide auth either use --l
for manual login prompt or --u username --p password
for headless login
If you receive a 429 error please provide a cookies file given the --cof
flag, to generate a cookies file please refer to Chrome or Firefox
docker run -it --user=$(id -u):$(id -g) -v $(pwd):/download --rm spotify-dl <options-to-spotify-dl defaults to --help>
docker run -it --user=$(id -u):$(id -g) -v $(pwd):/download --rm spotify-dl "https://open.spotify.com/...."
thanks to icons8 for icons in hero image and all the contributors for PR, suggestions and testing :love:
MIT © Swapnil Soni
FAQs
Spotify Songs, Playlist & Album Downloader
The npm package spotifydl-music receives a total of 0 weekly downloads. As such, spotifydl-music popularity was classified as not popular.
We found that spotifydl-music demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
ECMAScript 2025 introduces Iterator Helpers, Set methods, JSON modules, and more in its latest spec update approved by Ecma in June 2025.
Security News
A new Node.js homepage button linking to paid support for EOL versions has sparked a heated discussion among contributors and the wider community.
Research
North Korean threat actors linked to the Contagious Interview campaign return with 35 new malicious npm packages using a stealthy multi-stage malware loader.