All Projects → spotDL → Spotify Downloader

spotDL / Spotify Downloader

Licence: mit
Download your Spotify playlists and songs along with album art and metadata (from YouTube if a match is found).

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Spotify Downloader

Getsong
Download any song mp3 with no dependencies except ffmpeg
Stars: ✭ 102 (-98.53%)
Mutual labels:  music, spotify, mp3
Spotiflyer
Spotify/Gaana/Youtube Music Downloader For Android!
Stars: ✭ 231 (-96.68%)
Mutual labels:  music, spotify, mp3
Ytmdl
A simple app to get songs from YouTube in mp3 format with artist name, album name etc from sources like iTunes, Spotify, LastFM, Deezer, Gaana etc.
Stars: ✭ 2,070 (-70.25%)
Mutual labels:  music, spotify, mp3
Alltomp3 App
Download and Convert YouTube, SoundCloud & Spotify in MP3 with full tags (title, artist, genre, cover, lyrics 🔥)
Stars: ✭ 920 (-86.78%)
Mutual labels:  music, spotify, mp3
mmdl
MMDL (Mega Music Downloader) - A tool to easily download music.
Stars: ✭ 29 (-99.58%)
Mutual labels:  mp3, song, download-music
Openwhyd
💎 Like Pinterest, for Music
Stars: ✭ 287 (-95.87%)
Mutual labels:  music, mp3
Homehost
self-hosted, Netflix-like app made for streaming
Stars: ✭ 564 (-91.89%)
Mutual labels:  music, spotify
Eyed3
eyeD3 is a Python module and command line program for processing ID3 tags. Information about mp3 files (i.e bit rate, sample frequency, play time, etc.) is also provided. The formats supported are ID3v1 (1.0/1.1) and ID3v2 (2.3/2.4).
Stars: ✭ 300 (-95.69%)
Mutual labels:  music, mp3
Spotui
Spotify in the terminal 💻🎶
Stars: ✭ 302 (-95.66%)
Mutual labels:  music, spotify
audius
🎧 A cross-platform app for downloading songs from YouTube and Spotify
Stars: ✭ 19 (-99.73%)
Mutual labels:  spotify, mp3
Simple Music Player
Simple Music Player - SimpleMP - Keeps it simple and plays your music
Stars: ✭ 298 (-95.72%)
Mutual labels:  music, mp3
Muse
An open-source Spotify controller with TouchBar support
Stars: ✭ 594 (-91.46%)
Mutual labels:  music, spotify
Alonetone
A free, open source, non-commercial home for musicians and their music
Stars: ✭ 270 (-96.12%)
Mutual labels:  music, mp3
Irs
🎸 🎶 A music downloader that understands your metadata needs.
Stars: ✭ 268 (-96.15%)
Mutual labels:  music, mp3
larafy
Larafy is a Laravel package for Spotify API. It is more like a wrapper for the Spotify API.
Stars: ✭ 53 (-99.24%)
Mutual labels:  spotify, song
Plylst
Smart playlists for Spotify! Stop relying on fancy pants algorithms to organize your library and instead build playlists the way you want.
Stars: ✭ 301 (-95.67%)
Mutual labels:  music, spotify
Hifiberry Os
Linux distribution optimized for audio playback
Stars: ✭ 487 (-93%)
Mutual labels:  music, spotify
Raveberry
A multi-user music server with a focus on participation
Stars: ✭ 442 (-93.65%)
Mutual labels:  music, spotify
Spotify Dl
Downloads songs from your Spotify Playlist
Stars: ✭ 578 (-91.69%)
Mutual labels:  spotify, mp3
Monstercat Visualizer
A real time audio visualizer for Rainmeter similar to the ones used in the Monstercat videos.
Stars: ✭ 571 (-91.79%)
Mutual labels:  music, spotify
spotDL

spotDL

Download your Spotify playlists and songs along with album art and metadata

MIT License pypi version GitHub commits since latest release (by date) pypi downloads Contributors Discord

The fastest, easiest, and most accurate command-line music downloader

asciicast

What spotDL does

  1. Downloads music from YouTube as an MP3 file
  2. Applies basic metadata gathered from Spotify such as:
    • Track Name
    • Track Number
    • Album
    • Album Cover
    • Genre
    • and more!

Redesigned

spotDL is being redesigned! This means we are currently not accepting new feature requests. You can talk to us on our Discord if there is anything further.

Prerequisites

  • Python 3.6.1 or above (added to PATH)
  • FFmpeg 4.2 or above (added to PATH)

YouTube Music must be available in your country for spotDL to work. This is because we use YouTube Music to filter search results. You can check if YouTube Music is available in your country, by visiting YouTube Music.

Installation

Installing FFmpeg

Installing spotDL

  • Recommended Stable Version:

    pip install spotdl
  • Dev Version: (NOT STABLE)

    pip install https://codeload.github.com/spotDL/spotify-downloader/zip/dev

If you have trouble installing spotdl take a look at the extended installation guide here or ask for help in our discord server

On Termux

curl -L https://raw.githubusercontent.com/spotDL/spotify-downloader/master/termux/setup_spotdl.sh | sh

Arch

There is an Arch User Repository (AUR) package for spotDL.

Usage

  • To download a song, run

    spotdl [trackUrl]

    example:

    spotdl https://open.spotify.com/track/0VjIjW4GlUZAMYd2vXMi3b
  • To download an album, run

    spotdl [albumUrl]

    example:

    spotdl https://open.spotify.com/album/4yP0hdKOZPNshxUOjY0cZj
  • To download a playlist, run

    spotdl [playlistUrl]

    example:

    spotdl https://open.spotify.com/playlist/37i9dQZF1E8UXBoz02kGID
  • To download all songs from an artist run

    spotdl [artistUrl]

    example:

    spotdl https://open.spotify.com/artist/1fZAAHNWdSM5gqbi9o5iEA
  • To search for and download a song, run, with quotation marks

    spotdl '[songQuery]'

    example:

    spotdl 'The Weeknd - Blinding Lights'

    Note: This is not accurate and often causes errors.

  • To resume a failed/incomplete download, run

    spotdl [pathToTrackingFile]

    example:

    spotdl 'The Weeknd - Blinding Lights.spotdlTrackingFile'

    Note: .spotdlTrackingFiles are automatically created when a download starts and deleted on completion

  • You can queue up multiple download tasks by separating the arguments with spaces

    spotdl [songQuery1] [albumUrl] [songQuery2] ... (order does not matter)

    example:

    spotdl 'The Weeknd - Blinding Lights' https://open.spotify.com/playlist/37i9dQZF1E8UXBoz02kGID ...

    Note: spotDL downloads up to 4 songs in parallel, so for a faster experience, download albums and playlist, rather than tracks.

  • To download youtube video with metadata from spotify, run

    spotdl "YouTubeURL|SpotifyURL"

    example:

    spotdl "https://www.youtube.com/watch?v=EO7XnC1YpVo|https://open.spotify.com/track/4fzsfWzRhPawzqhX8Qt9F3"

    Note: Urls have to be separated with | and quoted properly ex. "YouTubeURL|SpotifyUrl"

  • To download songs with different output format run

    spotdl [songUrl] --output-format mp3/m4a/flac/opus/ogg/wav

    example:

    spotdl [songUrl] --output-format opus
  • To use ffmpeg binary that is not on PATH run

    spotdl [songUrl] --ffmpeg path/to/your/ffmpeg.exe

    example:

    spotdl [songUrl] --ffmpeg C:\ffmpeg\bin\ffmpeg.exe
  • To generate .m3u file for each playlist run

    spotdl [playlistUrl] --m3u

    example:

      spotdl https://open.spotify.com/playlist/37i9dQZF1E8UXBoz02kGID --m3u
  • To use youtube instead of youtube music run

    spotdl [songUrl] --use-youtube

    example:

      spotdl https://open.spotify.com/track/4fzsfWzRhPawzqhX8Qt9F3 --use-youtube
  • To manually choose a lyrics provider, run

      spotdl [songUrl] --lyrics-provider lyrics_provider

    available lyrics providers:

    • genius
    • musixmatch

    example:

      spotdl https://open.spotify.com/track/4fzsfWzRhPawzqhX8Qt9F3 --lyrics-provider genius
  • To change number of threads used when downloading songs run

    spotdl [songUrl] --dt [number]

    example:

    spotdl https://open.spotify.com/track/4fzsfWzRhPawzqhX8Qt9F3 --dt 8
  • To change number of threads used when searching for songs run

    spotdl [songUrl] --st [number]

    example:

    spotdl https://open.spotify.com/track/4fzsfWzRhPawzqhX8Qt9F3 --st 8
  • To ignore your ffmpeg version run

    spotdl [songUrl] --ignore-ffmpeg-version
  • To use path template

    spotdl [songUrl] --path-template 'template'

    example:

    spotdl https://open.spotify.com/track/0VjIjW4GlUZAMYd2vXMi3b --path-template '{artist}/{album}/{title} - {artist}.{ext}'

    possible values:

    • {artist}
    • {artists}
    • {title}
    • {album}
    • {ext}
    • {playlist}

pipx Isolated Environment Alternative

For users who are not familiar with pipx, it can be used to run scripts without installing the spotDL package and all the dependencies globally with pip. (Effectively skipping over the spotDL Installation step)

First, you will need to install pipx by running:

python3 -m pip install --user pipx
python3 -m pipx ensurepath

Next, you can jump directly to running spotDL with:

pipx run spotdl ...

Contributor Guide

Interested in contributing? Check out our CONTRIBUTING.md to find resources around contributing along with a guide on how to set up a development environment.

Contributors

contributors

Authors

  1. @ritiek for creating and maintaining spotDL for 4 years
  2. @rocketinventor for figuring out YouTube Music querying
  3. @MikhailZex for, never mind...

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].