3 minutes on... APIs
Author: Sarah Finch
- Service Technology and engineering
- Date 05 May 2022
APIs are software intermediaries that enable different applications to communicate with each other.
An API is an Application Programming Interface. It is a defined set of rules that dictates the way applications interact with each other, enabling them to communicate. Thanks to APIs, modern computer systems can automatically exchange data in a highly controlled way, opening up new opportunities within organisations as well as with external third parties.
APIs are analogous to the User Interfaces (UIs) people use when accessing software programs or applications. Where UIs act as an intermediary between humans and computers, systems with APIs allow computers to interact with other computers. This occurs via a request and response system.
A benefit of upgrading from legacy IT systems, which tended not to include APIs, is a decreased reliance on people to manually transfer data. APIs have also made new kinds of business possible, such as booking sites which gather the latest availability and price information from accommodation or travel providers and present this to a consumer.
There are four main types of API:
- Open or Public APIs: these are open source, and publicly available for any software engineer to use. A good example of an open API is Google Maps.
- Partner APIs: these are strategically exposed to or by an organisations' business partners. Software engineers must go through an onboarding process to access these APIs.
- Internal or Private APIs: these APIs are not exposed beyond an organisation's internal system. They are used by internal software teams within an organisation to improve collaboration and productivity.
- Composite APIs: made up of multiple other APIs, these APIs enable software engineers to access several different endpoints with a single information request.
A useful tool
APIs offer many benefits to the software engineering process. They make systems and applications interoperable, as they enable applications built using different technologies to communicate with each other via a common language.
They help to avoid the use of integrations where data is accessed directly via a database; they also prevent the need for tight coupling - or high levels of interdependence between different software modules. Finally, APIs also provide an application-level abstraction between the front end of a system and its database. This means that the engineer doesn't have to worry about the internals of an application.
On top of all of this, APIs also have security benefits. With an API acting as an intermediary between different systems, there is no direct connection between the application making a request and the one providing the information. Calls to APIs usually require authorisation, making it possible to control who can access data on the applications they are connected to.