YottaMusic and the Limits of APIs

Web APIs rarely do everything the underlying site or service does. They are typically a defined subset of the total functionality. While understandable from a business strategy and Resource perspective, these limits can be frustrating for developers. Sometimes this leads them to find a solution using undocumented APIs, often services used by the UI of the site, that provides them enough functionality to meet their needs (which was essentially the case with the original Google Maps, an undocumented JavaScript API until Paul Rademacher reverse engineered them and built HousingMaps.com).

In a similar vein, there was a bit of stir this week when the small music web site YottaMusic had to shut down because they were no longer allowed to use undocumented Rhapsody APIs. Created in 2006, YottaMusic used these undocumented APIs to build a new web interface on top of the underlying Rhapsody music subscription service. But as TechCrunch reports "This past May, however, Rhapsody contacted YottaMusic and asked them to start using its public APIs exclusively or shut down the service entirely. Since YottaMusic depended on the non-public API for its Rhapsody interface, and since adopting the standard Rhapsody player would have erased most of the application’s value, the startup ultimately felt forced to fold and shut down operations...While founder Luke Matkins says that he understands Rhapsody was perfectly within its rights to take such actions, it’s obviously an unfortunate turn of events for YottaMusic’s 10,000 visitors per day." The screenshot below is what you see on the site today:


Undocumented APIs are notorious for changing or being removed, thus part of the reason they're undocumented in the first place. In this case you can learn more in a well articulated TechCrunch comment from Rhapsody GM Ben Rotholtz, who notes that:

Despite progress and refinements over the past two years, our APIs are not exhaustive and unlimited: As was the case with Yotta, the breadth and depth of our APIs won’t match the needs of every developer. Additionally, we have guidelines and terms of use for our APIs to protect the legal reuse of our content and perhaps even more importantly to honor our contracts and obligations with the labels. We simply don’t have the rights to enable every music experience since we don’t own the content that is played through Rhapsody. We do feel strongly – and the market has demonstrated – that it’s possible to create a deep Rhapsody Integration that is fully within our terms of use (again, see MOG) and we actively encourage developers to party on our code to create new online music experiences.

And to his point we continue to see new Rhapsody-based mashups get added to our directory here, and at the moment there are 14 listed, including the recent popular entry KEXPlorer.

As a side note, there are exceptions to the APIs being just a subset of a broader site's service: take for example some of the Amazon services like S3 or EC2, where the API is the service, or the case where the most or all of the service is built on their APIs, as with Flickr and Eventful.

Be sure to read the next Law article: Hasbro Versus Scrabulous