finds.dev← search

// the find

TooTallNate/node-spotify-web

★ 698 · JavaScript · MIT · updated Jan 2017

Node.js implementation of the Spotify Web protocol

A Node.js client for Spotify's internal WebSocket protocol — the same one the web player uses. This let you programmatically log in, fetch track metadata, and stream audio before Spotify's official Web API existed. It was a clever reverse-engineering project for its time.

Uses Spotify's actual protobuf schemas (included in the repo), so the protocol handling is structurally correct rather than hand-rolled JSON guessing. The streaming API is clean — track.play() returning a readable MP3 stream pipes naturally into Node audio libs. The example directory covers a solid range of use cases: playlists, search, album art, similar tracks. TooTallNate (the node-pre-gyp, node-http-proxy author) knew what he was doing with Node streams.

Dead since 2017 and almost certainly non-functional — Spotify has long since replaced the WebSocket web protocol this exploited, and they actively blocked third-party clients using internal APIs. The API docs were never written ('TODO: document!'). This depended on scraping session credentials from the web player login flow, which Spotify killed. Anyone cloning this today is getting a museum piece, not a working library.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →