Spotify Websocket Api

Spotify Websocket API is a fully open source Spotify library based on the WebSocket API used in the Spotify Web beta
Alternatives To Spotify Websocket Api
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Node Spotify Web63972146 years ago11December 11, 201450mitJavaScript
Node.js implementation of the Spotify Web protocol
Spotify Websocket Api389
8 years ago16Python
Spotify Websocket API is a fully open source Spotify library based on the WebSocket API used in the Spotify Web beta
Spotify Connect Ws46
5 years agoJavaScript
A Socket.IO plugin for interfacing with Spotify's Connect API using WebSockets.
Sactivity12
a year ago7gpl-3.0TypeScript
Spotify WebSocket Activity API Library
Along10
4 years agoTypeScript
🎙Your Spotify playlists with voice interface. 🔬Empathy and the Web Speech Recognition API.
Musicpage9
6 years agoCSS
Python powered music controlling webpage with websockets and bottle py (works with spotify, vlc, audacious, and others)
Tuneswitch7
2 years agoDart
An app that switches music listened by users according to location
Stream Stuff6
a year agoPython
Stream layout written with ember
Spotify Rooms5
a year ago18mitTypeScript
👂 Listen to Spotify together (WIP)
Soundfoundry4
5 years ago19TypeScript
Social sound list for Spotify made with Angular and WebSockets
Alternatives To Spotify Websocket Api
Select To Compare


Alternative Project Comparisons
Readme

Spotify WebSocket API Build Status

Getting started

NOTE: This API will only work with paid Spotify accounts. I'm perfectly fine with this restriction and won't be attempting to circumvent it, nor will I merge patches that do. It'd only end in a game of cat and mouse which is a waste of everyone's time. If you like Spotify, buy a Premium account and tell the industry that it's a great payment model for music.

Firstly, try out the demo script to make sure you've got the dependencies installed properly:

  • requests >= 1.0
  • ws4py
  • protobuf
  • lxml

Then you can try one of the example scripts

cd examples
python blocking.py <username> <password> album

This should show an album title and a list of track titles for it.

Using the API is pretty simple, here's the basics:

sp = Spotify("username", "password")
results = sp.search("carly rae jepsen")
for track in results.getTrack()
  print track

Experimental client

Included is an experimental client called respotify, based on this API. It's almost identical to despotify-simple in terms of functionality. Be sure to have the following additional dependencies installed:

  • cherrypy
  • web.py

Once you've installed these, you can run the client like this:

cd clients/respotify
./respotify.py <username> <password>

                                   _    ___       
                               _  (_)  / __)      
  ____ _____  ___ ____   ___ _| |_ _ _| |__ _   _ 
 / ___) ___ |/___)  _ \ / _ (_   _) (_   __) | | |
| |   | ____|___ | |_| | |_| || |_| | | |  | |_| |
|_|   |_____|___/|  __/ \___/  \__)_| |_|   \__  |
                 |_|                       (____/ 

	
info		shows account information
play		plays the track with given index
help		shows help information
stop		stops any currently playing track
album		view the album for a specific track
quit		quits the application
artist		view the artist for a specific track
list		lists your rootlist or a playlist
uri		lists metadata for a URI (album)
next		plays the next track in the current playlist
current		shows the current playlist we're playing
prev		plays the previous track in the current playlist

>

What's implemented?

  • Login via username/password
  • Metadata retrieval (track/album/artist)
  • Playlist and rootlist support (add/remove tracks, creation/renaming/deletion)
  • Toplists for both regions and users (track/album/artist only)
  • Starring/unstarring tracks
  • MP3 playback URL retrieval

What's NOT implemented?

  • Inbox (not currently supported via the web client it appears)
  • Subscribing to playlist updates
  • Social functionality

TODO

Want to help out? Great! Here's a a list of things that need doing or improving:

  • An example graphical client using the API (preferably multi-platform, OSX/Linux)
  • Anything from the unimplemented list above

Want to write a library in another language?

If you'd like to help out with this library or write a new one for another language do let me know and pop into #despotify on EFnet. I'm aware of people working on Java and Node.js libraries currently, more are of course welcome.

Popular Websocket Projects
Popular Spotify Projects
Popular Networking Categories

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Python
Websocket
Spotify
Playlist
Album
Websocket Api