ELI5: What is an API?



The way that we interact with machines and the way that machines interact with each other are fundamentally different. But machines are highly competent at talking to each other and telling other systems to do things.

One way in which they communicate is via something called an API. But what is an API, and why are they important?


What is an API?

API stands for ‘application programming interface’. It’s an interface that helps you program applications that can integrate with other programs. But what exactly does it do?

An API specifies exactly how different software components should interact with each other. So, say for instance that you’re writing a program. An API is the nexus that lets your program communicate with a program somebody else wrote.

So, one computer program can use the abilities of another. Via API, the separate systems can connect and extend their scope.

Think of it this way, when you interact with your phone or computer, you’re using a user interface. The display and buttons in front of you let you tell the computer what you want to do.

An API is like this, except it’s for machines. It’s an interface that tells one coded program how to communicate with and use another coded program.


How do they work? APIs and contracts

Another way to answer ‘what is an API’ is to think of it as a technical contract.

A contract outlines what’s expected of two parties, and what they will get from the other. For example, a contract between a tenant and the landlord. Such a contract would outline that the tenant will pay rent and look after the property. And in return, the landlord will supply the property and handle its major maintenance.

An API does the same thing between programs. So, you want your program (A) to interact with program B. An API outlines what the programmer/ program A must do, and how program B will respond.


What is an API used for?

There are several reasons why APIs are so important.

For a start, APIs also make sure your data doesn’t just sit in siloes. Instead, you can put it to use. With APIs, your software programs can access, manipulate and store your data to your liking. (And share it with your other applications, too.)

Beyond unlocking your data, APIs allow your software and designs to make use of the functions and features of other programs and websites. In other words, APIs help programmers avoid reinventing the wheel every time they start a new project.

For example, automation technology, like ThinkAutomation, can talk to different APIs and systems. This allows it to interact with your mailbox, your cloud storage system, your social media platforms, your database, and so on. So, you can use your automation tool to interact with these programs, rather than (or as well as) doing it yourself.


Application program interfaces

APIs are a staple part of software. They’re everywhere, acting as a bridge between software systems. They let your applications interact and communicate with each other.

So, we can get the most use out of our software. We can share ideas across platforms. And we can spend less time re-inventing, more time innovating.


Useful links

The importance of system integration: does your software play well with others?

Using ThinkAutomation as an ETL tool

What is an email parser and why do I need one?