What Are APIs, and How Does an API Work?
APIs are a key component of our digital world and enable billions of digital experiences every minute of every day.
API stands for application programming interface, and it’s a software intermediary that allows two applications to talk to each other. In other words, an API is the messenger that delivers your request to the provider that you’re requesting it from and then delivers the response back to you.
An API defines functionalities that are independent of their respective implementations. This allows those implementations and definitions to vary without compromising each other. Therefore, a good API makes it easier to develop a program by providing the building blocks.
When developers create code, they don’t often start from scratch thanks to the reusability of APIs. APIs enable developers to make repetitive yet complex processes highly reusable with a little bit of code. Through API reuse, developers can reduce repetitive yet complex processes and dramatically speed up their application development processes.
There is an ever-growing gap between what business leaders are asking IT teams to deliver and what can actually be accomplished. We call this divide the IT delivery gap. Through API reuse, developers are equipped to scale delivery to close that IT delivery gap and meet the needs of the business.
Thanks to API reuse, developers don’t have to reinvent the wheel writing code from scratch every time they produce a new program or project.
How API abstraction enables speed and agility
One of the main advantages of APIs is that they allow the abstraction of functionality between one system and another. An API endpoint decouples the consuming application from the infrastructure that provides a service. As long as the specification for what the service provider is delivering to the endpoint remains unchanged, the alterations to the infrastructure behind the endpoint should not be noticed by the applications that rely on that API.
This allows the service provider to have flexibility on service offerings. For example, if the infrastructure behind the API involves physical servers at a data center, the service provider can easily switch to virtual servers that run in the cloud.
If the software running on those servers (such as credit card processing software) is written in, say, Java running on an Oracle-based Java application server, the service provider can migrate that to Node.js (server-side Javascript) running on Windows Azure.
Gone are the days of messy point-to-point integrations for connecting enterprise solutions which take time and resources to maintain. API-led connectivity allows systems to change as easily as plugging in a plug to a socket so you can focus on building out your composable enterprise.
How do APIs work?
Imagine a waiter in a restaurant. You, the customer, are sitting at the table with a menu of choices to order from, and the kitchen is the provider who will fulfill your order.
You need a link to communicate your order to the kitchen and then to deliver your food back to your table. It can’t be the chef because they’re cooking in the kitchen. You need something to connect the customer who’s ordering food and the chef who prepares it. That’s where the waiter — or the API — enters the picture.
The waiter takes your order, delivers it to the kitchen, telling the kitchen what to do. It then delivers the response, in this case, the food, back to you. Moreover, if the API is designed correctly, hopefully, your order won’t crash!
Gone are the days of messy point-to-point integrations for connecting enterprise solutions which take time and resources to maintain. API-led connectivity allows systems to change as easily as plugging in a plug to a socket so you can focus on building out your composable enterprise.
A real example of an API
How are APIs used in the real world? Here’s a very common scenario of the API economy at work: booking a flight.
When you search for flights online, you have a menu of options to choose from. You choose a departure city and date, a return city and date, cabin class, and other variables like your meal, your seat, or baggage requests.
The waiter takes your order, delivers it to the kitchen, telling the kitchen what to do. It then delivers the response, in this case, the food, back to you. Moreover, if the API is designed correctly, hopefully, your order won’t crash!
To book your flight, you need to interact with the airline’s website to access the airline’s database to see if any seats are available on those dates, and what the cost might be based on the date, flight time, route popularity, etc.
You need access to that information from the airline’s database, whether you’re interacting with it from the website or an online travel service that aggregates information from multiple airlines. Alternatively, you might be accessing the information from a mobile phone. In any case, you need to get the information, and so the application must interact with the airline’s API, giving it access to the airline’s data.
The API is the interface that, like your helpful waiter, runs and delivers the data from the application you’re using to the airline’s systems over the Internet. It also then takes the airline’s response to your request and delivers right back to the travel application you’re using. Moreover, through each step of the process, it facilitates the interaction between the application and the airline’s systems – from seat selection to payment and booking.
APIs do the same for all interactions between applications, data, and devices. They allow the transmission of data from system to system, creating a connected experience. APIs provide a standard way of accessing any application data, or device, whether it’s accessing cloud applications like Salesforce, or shopping from your mobile phone.
Types of APIs
There are a few different types of APIs to get familiar with. For example, you may have heard of Java APIs or interfaces within classes that let objects talk to each other in the Java programming language. Along with program-centric APIs, there are also Web APIs such as the Simple Object Access Protocol (SOAP), Remote Procedure Call (RPC), and perhaps the most popular—at least in name— Representational State Transfer (REST). And new API technologies and styles continue to pop up today, like GraphQL and AsyncAPI to name a few. There are over 15,000 publicly available APIs, according to Programmable Web, plus many thousands of private APIs that companies use to expand their internal and external capabilities.
More API resources
While we’ve covered the basics of what APIs are and how they work, there’s so much more to learn about APIs! Check out our API resources to learn more definitions as well as design and management best practices.
If you’re interested in learning more, take a look at our API resources on definitions, design, and management. You can also learn how APIs are driving a new type of business: the composable enterprise.