MCPcopy Index your code
hub / github.com/L04DB4L4NC3R/spotify-downloader

github.com/L04DB4L4NC3R/spotify-downloader @v0.1.12

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.1.12 ↗ · + Follow
217 symbols 374 edges 26 files 29 documented · 13% updated 4y agov0.1.12 · 2021-08-22★ 61
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

spotify-downloader

Download songs, playlists and albums, or sync in to your favourite tunes

Core Features

  • [X] Track download on a URL basis
  • [X] Entire playlist download
  • [X] Apply metadata on downloaded songs
  • [X] Entire album download
  • [X] Independently scale downloader and renderer
  • [X] Configurable concurrency

UI Features

  • [ ] Web-UI for downloading
  • [X] CLI

Run using docker compose

  • Edit the ./config/secret.env to expose relevent secrets to the containers

  • Change script permissions

chmod +x ./scripts/docker-setup.sh
  • Run
./scripts/docker-setup.sh

Run Locally

Installation instructions in wiki

Endpoints

Function Route
Check service health /ping/
Download Song /song/{id}/
Download Playlist /playlist/{id}/
Download Album /album/{id}/
View Song Metadata /meta/song/{id}/
View Playlist Metadata /meta/playlist/{id}/
View Album Metadata /meta/album/{id}/
Bulk View Resource Metadata /metas//{id}/ (where resource can be playlists, albums, shows)
Check Song Download Progress /status/song/{id}/
Check Bulk Song Download Progress /status/songs/ (array of {"song_ids": []string} in POST)
Check Playlist Download Progress /status/playlist/{id}/
Check Album Download Progress /status/album/{id}/

Note that the {id} mentioned here is the resource ID you get from spotify (from a track, album or playlist URL).

Disclaimer

Read the disclaimer before using this software.

Contibutions Welcome

Note that this repo is just the core backend of the service. UI contributions are needed. All contributions are welcome. Just fork and make a PR. If you are making a UI, create a new directory called src/ui.

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 151
Struct 28
Function 27
Interface 9
TypeAlias 2

Languages

Go100%

Modules by API surface

src/scraper/pkg/core/service.go25 symbols
src/scraper/cli/handlers/subcommands.go22 symbols
src/scraper/api/handlers/core.go21 symbols
src/scraper/api/handlers/interface.go20 symbols
src/scraper/cli/handlers/interface.go18 symbols
src/ytber/pkg/errors.go12 symbols
src/scraper/pkg/core/errors.go12 symbols
src/scraper/proto/service.go11 symbols
src/scraper/pkg/core/redisrepo.go10 symbols
src/scraper/pkg/core/entity.go10 symbols
src/scraper/pkg/core/repository.go8 symbols
src/ytber/pkg/redisrepo.go7 symbols

For agents

$ claude mcp add spotify-downloader \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page