2021-10-20 09:09:40 +02:00
![Stars ](https://img.shields.io/github/stars/Footsiefat/zspotify.svg )
![Forks ](https://img.shields.io/github/forks/Footsiefat/zspotify.svg )
![Size ](https://img.shields.io/github/repo-size/Footsiefat/zspotify )
2021-10-25 20:14:05 +02:00
2021-10-20 09:02:33 +02:00
# ZSpotify
2021-10-20 08:39:37 +02:00
### A Spotify downloader needing only a python interpreter and ffmpeg.
2021-10-25 20:14:05 +02:00
2021-10-20 08:39:37 +02:00
< p align = "center" >
< img src = "https://user-images.githubusercontent.com/12180913/138040605-c9d46e45-3830-4a4b-a7ac-c56bb0d76335.png" >
< / p >
2021-10-18 07:51:25 +02:00
2021-10-22 06:26:28 +02:00
[Discord Server ](https://discord.gg/skVNQKtyFq ) - [Matrix Server ](https://matrix.to/#/#zspotify:matrix.org ) - [Gitea Mirror ](https://git.robinsmediateam.dev/Footsiefat/zspotify ) - [Main Site ](https://footsiefat.github.io/ )
2021-10-25 20:14:05 +02:00
2021-10-13 09:30:07 +02:00
```
2021-10-18 07:51:25 +02:00
Requirements:
2021-10-18 07:50:10 +02:00
Binaries
2021-10-24 09:36:31 +02:00
- Python 3.9 or greater
2021-10-18 07:51:25 +02:00
- ffmpeg*
2021-10-23 22:53:05 +02:00
- Git**
2021-10-13 09:30:07 +02:00
2021-10-18 07:50:10 +02:00
Python packages:
2021-10-18 10:08:54 +02:00
- pip install -r requirements.txt
2021-10-18 07:51:25 +02:00
```
2021-10-20 09:01:47 +02:00
2021-10-24 19:09:15 +02:00
\*ffmpeg can be installed via apt for Debian-based distros or by downloading the binaries from [ffmpeg.org ](https://ffmpeg.org ) and placing them in your %PATH% in Windows. Mac users can install it with [Homebrew ](https://brew.sh ) by running `brew install ffmpeg` .
2021-10-23 22:53:05 +02:00
\*\*Git can be installed via apt for Debian-based distros or by downloading the binaries from [git-scm.com ](https://git-scm.com/download/win ) for Windows.
2021-10-25 03:59:40 +02:00
### Command line usage:
2021-10-25 20:14:05 +02:00
2021-10-20 09:01:47 +02:00
```
2021-10-28 08:14:18 +02:00
Basic command line usage:
2021-10-28 18:59:36 +02:00
python zspotify < track / album / playlist / episode / artist url > Downloads the track, album, playlist or podcast episode specified as a command line argument. If an artist url is given, all albums by specified artist will be downloaded. Can take multiple urls.
2021-10-20 09:01:47 +02:00
Extra command line options:
-p, --playlist Downloads a saved playlist from your account
-ls, --liked-songs Downloads all the liked songs from your account
2021-10-28 08:14:18 +02:00
-s, --search Loads search prompt to find then download a specific track, album or playlist
-ns, --no-splash Suppress the splash screen when loading.
2021-10-19 02:44:00 +02:00
2021-10-23 08:28:23 +02:00
Options that can be configured in zs_config.json:
2021-10-21 09:32:42 +02:00
ROOT_PATH Change this path if you don't like the default directory where ZSpotify saves the music
ROOT_PODCAST_PATH Change this path if you don't like the default directory where ZSpotify saves the podcasts
2021-10-23 08:28:23 +02:00
SKIP_EXISTING_FILES Set this to false if you want ZSpotify to overwrite files with the same name rather than skipping the song
2021-10-21 09:32:42 +02:00
2021-10-24 18:35:04 +02:00
MUSIC_FORMAT Can be "mp3" or "ogg", mp3 is required for track metadata however ogg is slightly higher quality as it is not transcoded.
2021-10-23 08:28:23 +02:00
FORCE_PREMIUM Set this to true if ZSpotify isn't automatically detecting that you are using a premium account
2021-10-21 09:32:42 +02:00
ANTI_BAN_WAIT_TIME Change this setting if the time waited between bulk downloads is too high or low
2021-10-23 08:28:23 +02:00
OVERRIDE_AUTO_WAIT Change this to true if you want to completely disable the wait between songs for faster downloads with the risk of instability
2021-10-20 09:01:47 +02:00
```
2021-10-24 22:32:50 +02:00
2021-10-25 03:06:26 +02:00
### Docker Usage
2021-10-25 20:14:05 +02:00
```
2021-10-25 22:24:07 +02:00
Pull the official docker image (automatically updates):
docker pull cooper7692/zspotify-docker
Or build the docker image yourself from the Dockerfile:
2021-10-25 03:06:26 +02:00
docker build -t zspotify .
Create and run a container from the image:
docker run --rm -v "$PWD/ZSpotify Music:/ZSpotify Music" -v "$PWD/ZSpotify Podcasts:/ZSpotify Podcasts" -it zspotify
2021-10-24 22:32:50 +02:00
```
2021-10-29 10:09:20 +02:00
### Google Colab
There is a community maintained repo for Google Colab at [Ori5000/zspotifycolab ](https://github.com/Ori5000/zspotifycolab ) designed to make it easier to add songs to Google Drive or orther cloud services.
2021-10-23 02:40:35 +02:00
### Will my account get banned if I use this tool?
2021-10-25 20:14:05 +02:00
2021-10-26 21:01:13 +02:00
~~Currently no user has reported their account getting banned after using ZSpotify.~~
2021-10-26 21:01:56 +02:00
2021-10-26 21:01:13 +02:00
**There have been 2-3 reports from users who received account bans from Spotify for using this tool**.
2021-10-26 21:02:53 +02:00
2021-10-28 17:30:50 +02:00
We recommend using ZSpotify with a burner account.
2021-10-27 12:03:33 +02:00
Alternatively, there is a configuration option labled ```DOWNLOAD_REAL_TIME```, this limits the download speed to the duration of the song being downloaded thus not appearing suspicious to Spotify.
This option is much slower and is only recommended for premium users who wish to download songs in 320kbps without buying premium on a burner account.
2021-10-26 21:02:53 +02:00
2021-10-23 02:40:35 +02:00
**Use ZSpotify at your own risk**, the developers of ZSpotify are not responsible if your account gets banned.
2021-10-19 02:18:53 +02:00
2021-10-24 01:56:36 +02:00
### What do I do if I see "Your session has been terminated"?
2021-10-25 20:14:05 +02:00
2021-10-24 01:56:36 +02:00
If you see this, don't worry! Just try logging back in. If you see the incorrect username or password error, reset your password and you should be able to log back in and continue using Spotify.
2021-10-23 10:16:53 +02:00
### Contributing
2021-10-25 20:14:05 +02:00
2021-10-24 14:24:47 +02:00
Please refer to [CONTRIBUTING ](CONTRIBUTING.md )
2021-10-24 14:23:26 +02:00
### Changelog
2021-10-25 20:14:05 +02:00
2021-10-24 14:23:26 +02:00
Please refer to [CHANGELOG ](CHANGELOG.md )
2021-10-25 20:14:05 +02:00
### Common Errors
Please refer to [COMMON_ERRORS ](COMMON_ERRORS.md )