Have you ever wondered why some popular sites do not provide an API but ship a great mobile application that works with their data? It is easy enough to conclude that beneath the layers of the mobile application, there are indeed API calls but just that the API is private and not yet made available. If you are itching to discover the APIs but did not know how to, help could be on the way.
Kellan Elliott-McCrea, who writes about Web Technologies at his Laughing Meme blog has provided a step by step guide that could help you unearth the private API that is being used inside of the mobile application. Elliott-McCrea makes a telling point in his blog and tells us that when we hear “Well we have an API for the iPhone app, but it isn’t ready yet for public,” it usually means that there is an API and you can use it.
While the detailed steps are technical, the approach is simple enough in that it employs an HTTP Proxy like Charles to monitor all the HTTP(s) traffic flowing between from your phone, once you start using the application. Most developers should be able to do this and end up looking up the API that is being used.
When companies do not end up providing official APIs, developers have usually undertaken steps like above and unearthed the APIs themselves, sometimes providing useful client wrappers on top of that and providing an unsupported API for everyone to use. A good case in point recently was the Google Plus API, where a host of unofficial APIs sprouted up before the official one. Another example is that of Instagram, the popular photo sharing application, which had a full featured unofficial API.
Unofficial APIs come with their own risks. The company could easily change the interface and there would be no scope to complain since it is not an official one. The good thing is that it could end up forcing the company to release an official API to quickly stem the different versions and a bad experience on the part of the consumers if the unofficial interfaces change.
While we are on the topic of Unofficial APIs, there are so called “Secret APIs” that have been available for a while now but never acknowledged as the official one. A good example is that of the secret Google Weather API.
What do you think of unofficial APIs that are out there? What has been your experience using one?
Check out our complete list of documented, but unofficial APIs.