Apparently Potentially Incredible: The Spotify API

While I was on holiday in Paris, Spotify finally released its Developer Site and the libspotify programming library. Geeky tech types have been drooling over the possibilities a Spotify API could give them for months: all sorts of plug-ins, add-ons, alternative devices to stream the music to… Unfortunately, what was released is not much use to anyone yet.

Benefits for Spotify Users

As a freeloading Spotify user, here’s what the current API could give you:

  • Nothing.

As a premium Spotify subscriber, here’s what the current API could give you:

  • A Spotify GUI that runs on IA-32 Linux.

That’s it.

Benefits for Spotify Developers

As a developer, here’s what you can do with the current Spotify API:

  • Develop a client for Spotify premium members who run IA32 Linux on their PCs.

    In other words, you can “port” Spotify to run on a subset of Linux. You need to be a premium member to write the program, and you need to remain a premium member for your application to continue to work for other users.

    Technically you could write a GUI for any platform Spotify supply the API to. The end-developer does not get to choose what platforms are supported, only what can be done on the platforms Spotify supports.

Now here’s what you CAN’T do with the current Spotify API:

  • You cannot develop a web-based tool. This means that it’s no good to any playlist sharing site, or to any other community-type web program such as Spotify Super Search. This is because of Term 3.2.vii: (You may not) attempt to embed or integrate the API into any website or otherwise allow access to the Service via the web rather than via the Application.
  • You cannot develop a tool that runs on Windows, iPhone, Android phone, Xbox, Playstation, Sonos, Squeezebox, Apple TV, PSP, Wii or any platform that is not IA32 Linux.

    Spotify have stated that the supported platforms will expand over time, so expect to see the Spotify application on some of these soon. Spotify has probably targeted IA32 Linux because it’s small and specialist and lets them test the water for opening up their API. Also, they get someone to develop a Linux client for them for free.

  • You cannot make any money from your application, even though you need to pay to develop it and pay for other users to continue to use it. This is because of Term 3.2.iv: (You may not) sell access to the API, the Service or the Content and Term 3.3 You may not charge Users for use of the Application or otherwise derive any income from Users’ use of the Application, such as through e-commerce initiated via the Application or the sale of any advertising, sponsorships or promotions on the Application itself.

    In the license “Application” is the thing you are creating. There is nothing in the license about whether stopping your paid subscription breaks your application key or whether you just need a premium account to get the key in the first place. It does say “valid application key”. Also the way the license is written has impacts for open source software.

So for now at least, the Spotify API seems to fall well short of what many potential developers had hoped for. There’s a good discussion about this on Slashdot as well as the comments on the original Spotify blog post. The developer blog indicates plans to provide web services for metadata (amongst other things) so watch that space.

Thanks to The Illuminated Engineer for technical help with this post.

UPDATE 22 April

UK tech website Tech Digest has picked up this post:

http://www.techdigest.tv/2009/04/spotify_api_not.html