By Craig Saunders, 19 February 2014
Quite simply, an API is a purpose built extension of an existing system to allow information to flow back and forth with other systems.
Who cares? You should... because API's are a simple and cost effective way for your website or application to communicate with other pieces of software.
The best way to get your head around what an API is, would be to use an analogy:
Your television set has an HDMI socket (or many), this allows you to plug devices into the television so you can get information into and out of it (think Sky Decoder, Apple TV, DVD recorder etc). Think of the HDMI socket as an API, without it you would have what is best described as a 'dumb' television, you can watch programs but you can neither watch DVD's or record programmes.
Software is the same, you can have a closed solution which doesn't 'speak' to other pieces of software, or you can have an 'open' solution which can communicate via an API.
To give you an example of how an API works in the wild, we will use our good mates at xero.
One of the best features of Xero is the automated population of transactions from your bank. To allow Xero to do this, the banks have developed API's that give Xero the ability to pull information out and display it in their system. The other cool thing about Xero is they have then taken it a step further and built their own API, which means web developers like us can then build solutions that either push or pull information into or out of Xero.