This is the first paragraph for the API page on Wikipedia. I love Wikipedia but this is not what I'd want to read:
An application programming interface (API) is a computing interface which defines interactions between multiple software intermediaries. It defines the kinds of calls or requests that can be made, how to make them, the data formats that should be used, the conventions to follow, etc. It can also provide extension mechanisms so that users can extend existing functionality in various ways and to varying degrees. An API can be entirely custom, specific to a component, or it can be designed based on an industry-standard to ensure interoperability. Through information hiding, APIs enable modular programming, which allows users to use the interface independently of the implementation.
This description is correct and precise of course but also meaningless to someone trying to quickly get a sense of the Thing called API.
Knowing what the acronym stands for is also not very meaningful. You may know the words application, programming, and even interface individually but putting them together doesn't lead to an immediate 'ah I see what it is now'.
So what is an API? Imagine a function. When you call a function in any programming language, you have some input parameters and you have an expected output value. For example if we have a function called sum we may pass in two numbers as input and expect to receive the mathematical sum of those to numbers as the output response.
Calling an API works similarly. You pass in some parameters as the input and expect to receive some output. The difference between APIs and the function call analogy is that calling an API happens over the Internet. And the response usually contains data that is stored and maintained by the owner of the API.
It's a way of making a precise request to a server. Instead of requesting a webpage (HTML) we're requesting specific data (aka resource). keep reading