So, What's An API?

In some cases, a software application will need to send data to or receive data from another. How does one achieve this integration between two separate applications built with separate development languages? An application programming interface (API) is a set of routines for achieving this. It specifies how software components should communicate with one another.

I first came across the concept of Application Programming Interfaces (APIs) when working on a project involving integration between 2 different software applications. On doing a bit of research into what it means, I realized that I’d be using applications built on this functionality for quite a while, without knowing it. Think of how the Uber app on your phone links to your debit card or how you can access files saved on Dropbox from a third-party application.

The applications of APIs are endless.

With the increasing use of APIs, software applications no longer need to operate in isolation or spend time building functionalities that already exist in other applications which can be called via the use of APIs.

An operating system such as iOS provides APIs which allow external programmers build applications consistent with iOS. Other examples include Google Maps, You Tube, Twitter, whose functionalities can be embedded into other websites via the use of APIs.

Another key example is connecting a software system for receiving orders to a payment platform via the use of APIs. Think of the API as the middleman that sends messages from one system to another. When an order is entered in the system and the customer is ready to pay, the software system or application uses an API to send debit card information to another application that verifies the payment information provided by the customer. Once payment confirmation is complete, the goods can then be issued to the customer.

Clearly, the importance of APIs cannot be overemphasized, especially when it comes to building light-weight applications and shortening time to market in today's fast-paced world.