WTF is an API?

Every non-technical person has been there. You're speaking to someone who is tech-savvy, and all of a sudden they drop the A-word.

You smile and nod, and maybe even chime in about something that is super tech; but you still don't know what an API (application programming interface) is, and now you feel stupid because it is the 1000th time you've heard someone say it.

I get it. Who would name something application programming interface? What is that even supposed to mean? What follows is a friendly explanation (with examples) of what an API is.

What is an API?

Developers use APIs to automatically (1) perform actions or (2) send / receive data.

A practical example of an API would be when you like a picture on Instagram. After you tap the heart icon on your phone, your phone automatically makes a request to Instagram's API to increase the amount of likes the picture has received. Further, the next time you load your home feed, your phone automatically requests picture and like data from Instagram's API; this is then displayed on your screen (showing the increased amount of likes).

Some APIs are not openly accessible; only signed in (i.e. authenticated) accounts can interact with the API to perform actions or send / receive data. Some APIs, on the other hand, are openly accessible (click https://anatomie.com/products.json to see an example of an openly accessible API).

Why is it Called an API?

It is called an application programming interface because it allows applications (web, mobile, or other) to programmatically (using code) interface / communicate (perform actions or send / receive data) with each other using a preconceived format.

Are There Other Types of APIs?

Kind of. While not important for non-technical readers, APIs can refer to what a programming language allows you to do; how the language expects you to interface with it to perform a desired action or send / receive data. In a lot of ways, it still means the same thing; all that has changed is the context.