What is an API?
This article was written by Ma-Keba Frye, SEO Content Writer at MuleSoft.
Many people ask themselves, “What is an API?” API is the acronym for application programming interface — a software intermediary that allows two applications to talk to each other. APIs are an accessible way to extract and share data within and across organizations.
APIs are all around us. Every time you use a rideshare app, send a mobile payment, or change the thermostat temperature from your phone, you’re using an API.
When you use one of the above apps, they connect to the Internet and send data to a server. The server then retrieves that data, interprets it, performs the necessary actions, and sends it back to your phone. The application then interprets that data and presents you with the information you wanted in a readable way. What are the characteristics of an API?
The term “API” has been generically used to describe connectivity interfaces to an application. However, over the years, the modern API has taken on some unique characteristics that have truly transformed the technology space. First, modern APIs adhere to specific standards (typically HTTP and REST), which enable APIs to be developer-friendly, self-described, easily accessible, and understood broadly.
Additionally, today, APIs are treated more like products than code. They are designed for consumption for specific audiences (e.g. mobile developers), and they are documented and versioned in a way that enables users to have clear expectations of their maintenance and lifecycle.
Because APIs are more standardized, they can be monitored and managed for both performance and scale. And, most importantly, they have a much stronger discipline for security and governance. The way this works in practice is that – going back to the weather phone application example – your phone’s data is never fully exposed to the server and.
Likewise, the server is never fully exposed to your phone. Instead, each communicates with small packets of data –– sharing only that which is absolutely necessary. We can think of the above concept similar to ordering takeout at your favorite restaurant. You, the customer, tell the waiter what you would like to eat and they’ll tell you what they need in return and, in the end, you get your meal!
And, finally, just like any other piece of software that is productized, the modern API has its own software development lifecycle (SDLC) –– from mocking, designing, and testing to building, managing, and retiring. These APIs are well documented for both consumption and versioning in the process.