August 16, 2004

What is API?

API stands for Application Programming Interface. It is a generic term for the protocol by which programmers can access particular features of previously written code. This can be within your own computer, or, as is increasingly common, on the internet. The latter is most interesting, because it allows you to tap computational power outside of your own computer. It also allows the API provider to offer its tools to external developers without exposing the underlying code.

There are a number of fun API's to work with on the web. Here are a few of the more notable examples:

  • Google Web APIs - With the Google Web APIs service, software developers can query more than 4 billion web pages directly from their own computer programs. Google uses the SOAP and WSDL standards so a developer can program in his or her favorite environment - such as Java, Perl, or Visual Studio .NET.
  • Amazon Web Services - Amazon Web Services provides you with direct access to Amazon's technology platform. Using AWS, you can access catalog data, create and populate an Amazon shopping cart, and even initiate the checkout process. As an Amazon Associate, you can use our catalog data to create rich, highly effective sites featuring full product data, including accurate and timely product pricing and availability. As an Amazon Marketplace Seller, you can use AWS to get competitive pricing information, list your products on Amazon, and check the status of your listings.
  • Paypal's Instant Payment Notification - Instant Payment Notification (IPN) is PayPal's interface for handling real-time purchase confirmation and server-to-server communications. IPN delivers immediate notification and confirmation of PayPal payments you receive and provides status and additional data on pending, cancelled, or failed transactions.
  • eBay API - The Application Programming Interface (API) is the heart of the Developers Program. Normally, users buy and sell items using the eBay online interface, interacting with eBay directly. But with the eBay API, you communicate directly with the eBay database in XML format. By using the API, your application can provide a custom interface, functionality and specialized operations not otherwise afforded by the eBay interface.
  • Blogger API - For independent developers and partners who are interested in hooking into Blogger with other programs, interfaces, or environments.
Why do companies make APIs available to the public? More importantly, why would I develop software and make it available to other software developers? The answer, as they say, is in the paperwork. In some cases, the money making portion of the company, but in what the software allows you to do. For instance, the eBay API facilitates posting and bidding on eBay. When other developers make software, this only encouraging more posting and more bidding. It is really an enhancement of an affiliate program. In other cases, like the Google APIs, usage is fairly limited, i.e., you only get a certain number of queriers per day. Once you get above that threshold, you probably have a viable business model, in which case, licensing discussions commence. You see how this works. If anything, APIs allow the ambitious programmer or developer a chance to work with powerful tools, increasing public awareness of your product and enhancing the interfaces to your own software. If they develop something really good, you might just buy them. That's what happened to Picasa.

Finally, I want to emphasize again that that web-based APIs allow companies to get open source like development without revealing the underlying source code and without losing control.

Posted by torque at August 16, 2004 10:28 AM | TrackBack

Marvellous!! no one ever explained to me APIs this amazingly!

Posted by: Ayesha Hasan at September 20, 2004 6:49 AM

Cool! This answers a question I had for a while.

Posted by: Hubert Wong at December 9, 2004 5:39 PM
Post a comment

Remember personal info?