Public API Availability Survey

Introduction and Methodology

WatchMouse monitored the availability of 26 API/cloud web services during the period of December 16th 2009 to January 16th 2010. A real-time status of each of the API's and a seven day history can be found on api-status.com.

The methodology for testing the sites includes one simple API call and check for a valid result. This typically entails an authentication action step for most APIs (e.g. a login) followed by a search or listing action, plus a check of the expected result action. The expected result can immediately return as an error or, if the expected result action is reported after four seconds, it is also logged as an error. These errors are used to count towards the percentage of availability or uptime for each of the sites.

The different API's in this survey use a variety of protocols for authentication, as well as different protocols to send requests and retrieve the response data, like:

  • REST with user/pass authentication
  • SOAP
  • oAuth
Next to the differences in protocol, each API also offers different functionality, like:
  • listing your friends in a social networking application
  • performing a search
  • retrieving a file
  • etc.

Most of the API's offer all of the mentioned functionalities, and all API's offer a wide range of function calls. For the sake of this survey we selected just one function (the most simple one that requires authentication) per API. This means that this survey does not cover an in-depth functional test of the full API's, but but provides an estimate of the availability and working functionality of each API.

If the authentication step failes, or if the action after authentication (e.g. "list friends") didn't return the expected result, an error is registered. Also, if the whole interaction takes more then four seconds, and this is confirmed from a second monitoring station, an error is registered.

The API checks were performed every 5 minutes from the 42 WatchMouse monitoring stations worldwide.

The results are presented in the table and graph below.

 

Availability

The uptime of each of the 26 API's is presented below. In accordance with industry standards, availability of ≥99.9% is regarded as 'good' while anything below 99% is regarded as 'poor' site uptime. (99% uptime equals over 80 hours downtime per year, or about 1 business day per month).

 

# API Uptime percentage Downtime per month
Amazon AWS S3 100.00 0 minutes
Google maps API 100.00 0 minutes
Google search API 100.00 0 minutes
last.fm API 100.00 0 minutes
Yahoo Maps API 100.00 0 minutes
bing search API 99.98 9 minutes
Digg API 99.98 9 minutes
bit.ly shorten API 99.93 31 minutes
eBay shopping API 99.93 31 minutes
10  Delicious update API 99.91 40 minutes
10  Facebook API login 99.91 40 minutes
12  Google App Engine API 99.89 49 minutes
13  Wikipedia API 99.86 1 hour, 2 minutes
13  Flickr API 99.86 1 hour, 2 minutes
15  PayPal API 99.81 1 hour, 25 minutes
16  YouTube feeds API 99.77 1 hour, 43 minutes
16  Salesforce Soap API 99.77 1 hour, 43 minutes
18  Twitter friend timeline API 99.63 2 hours, 45 minutes
19  Live Spaces API 99.56 3 hours, 16 minutes
20  Rackspace Cloud API 99.32 5 hours, 4 minutes
21  foursquare API 98.76 9 hours, 14 minutes
22  vimeo Simple API 98.30 12 hours, 39 minutes
23  GeoNames API 98.29 12 hours, 43 minutes
24  Posterous Twitter API 98.17 13 hours, 37 minutes
25  MySpace Open Search API 97.15 21 hours, 12 minutes
26  Yammer oAuth API 96.09 1 day, 5 hours, 5 minutes

 

API Availability

 

Performance

Also the performance of each API transaction was measured, of which the result is displayed in the graph below.

Note again that the results cannot be used to compare the relative performance of the API's, as the executed transactions are not comparable.

 

API Performance

This API performance monitoring research covers the APIs of the following organisations: Amazon AWS S3, Google maps API, Google search API, last.fm API, Yahoo Maps API, bing search API, Digg API, bit.ly shorten API, eBay shopping API, Delicious update API, Facebook API login, Google App Engine API, Wikipedia API, Flickr API, PayPal API, YouTube feeds API, Salesforce Soap API, Twitter friend timeline API, Live Spaces API, Rackspace Cloud API, foursquare API, vimeo Simple API, GeoNames API, Posterous Twitter API, MySpace Open Search API, Yammer oAuth API.

You can read more about WatchMouse at www.watchmouse.com