Any developer who is tasked with the job of consuming the services from some of the popular web sites has probably gone a little mad trying to make it all happen. Each web site, whether it be Google, Digg, Flickr, Yahoo or Microsoft, has their own set of Application Programming Interfaces (APIs) which allow developers to interact with their services. The raw data pushed back and forth to each service may simply be XML in the end, but knowing what to expect from the service may be a few sessions of trial and error when implementing.
It is the developer’s good fortune to have a couple web sites to help us sift through the gauntlet of API specifications.
APIFinder
The first one I came across was APIFinder where I introduced it in a news item for InfoQ. I wanted to talk a bit about it here even though I covered some of the details there.
The site is pretty intuitive and allows users to search for the web service they are interested in. A search for Amazon S3 led me to this information about Amazon S3. There is a pretty good overview presented to the user and clicking the Download the API button takes us right to the Amazon S3 page. I think this is good so we get the latest information and don’t have to worry about APIFinder having stale information. The only confusing part is the button says Download the API which leads me to think I am actually going to download something instead of being sent to the source site.
Each page dedicated to the API, like the S3 one above, does give some good information about the service, what it supports and any cost that may be associated with it. There is enough information given to let me make the decision if I want to go to the web site for additional information. It would be a bit helpful here to see some code samples that users added, the article may cover such things but some snippets here would be good.
gotAPI.com
GotAPI.com seems to have a bit of a rougher user interface, even though I was told it was easier to use. UI aside it does offer some nice features over the other API sites, giving users the ability to see a list of detailed methods which are selectable and give a nice big of detail about its use. Below is a screen shot of the level of detail given:
Selecting any web method from the left-hand navigation provides equally good information. Notice too, the information is coming from Flickr itself so we should not see any stale information.
I don’t know how long this site has been up but they are lacking detail on some common APIs I would expect to see from Google, Microsoft, Amazon and Yahoo. I hope to see additions here in the future as this is the one-stop-source I like to see when trying to find information on the web.
Finally
Finding developer information about consuming and interacting with public web sites is typically available on the web sites of the companies providing the service, sometimes easy to find but not others. These two sites provide a great service to developers and I am happy to have found them. They will be of use to me in the future and I hope you as well.
Scott Hanselman has a great post in one of his Weekly Source Code post about consuming the web services of some of the more popular web sites. The bottom line is, it’s all about XML. Scott’s post goes into nice detail about how to work with each.