When the Music Stopped – Spotify’s Broken API and Chain of Communication

Every major company suffers issues with their APIs eventually. Sometimes the issues are obvious (being totally down), and other times they are more subtle and therefore costly (eg: Etsy). What really separates companies is how they prepare for this scenario and handle it.

On February 11th, the Spotify public API was experiencing intermittent failures which caused malfunctions with various intensity for 24 hours. We have some Spotify integration tests running and when the notifications started we did what most people would, and searched for their status page. Oddly, it seems that Spotify doesn’t have one. So the next best thing is trying to learn more from their various Twitter accounts. None of the three (@spotify, @spotifycares, @spotifystatus) had any information. The latter two hadn’t been updated since Dec 11 and Dec 1st respectively. We found the only place that vaguely related to Spotify and discussing the issue – a user comment on Spotify’s Github page.

“Web API randomly returns 404 for most endpoints”

That is exactly what our tests were showing as well.

Spotify Outage Report

Spotify Outage Report

While the POST to get the token worked flawlessly, the following GET to search by artists returned a 404 routinely. As per their own docs a 404 means:

Not Found – The requested resource could not be found. This error can be due to a temporary or permanent condition.

Mind you this was happening repeatedly for nearly 6 hours(!) Without any developers or partners being notified. So the question remains, why doesn’t a company that has an API as popular as Spotify have a status page? Well, the Spotify team responded to the same question last year:

Hello folks!

In this particular case, creating a status page for the Spotify Web API is a larger engineering task. This isn’t something we plan to address in the next 6 months. And as per our [updated developer support process](https://github.com/spotify/web-api), we will close features that aren’t being considered in the next 6 months as wontfix.

Given the popularity of this suggestion, we still encourage you folks (and others reading!) to continue to share possible use cases and support for this feature. It will help us going forward when we frequently revisit suggestions. We will post updates here relating to this suggestion so you can stay in the loop.

Hope this helps. Cheers 👍

I think the most interesting quote here is, “creating a status page for the Spotify Web API is a larger engineering task.” The API Fortress team created a starter Spotify status page in a couple hours a few months ago. Here it is.

We work in API testing everyday. We know more than anyone that API failures are inevitable. Yet, we also know how easy it is to create a basic functional test, schedule it to act as a monitor, and then use Twitter or an automatically generated status page to inform your developer community. Don’t accept “it’s really complicated.” It’s not. If you choose the right platform it’s actually quite straightforward.

You can monitor an API in less time than it takes to listen to your favorite song.
Proof: Docs