01-23-2020 12:16 PM
An API (Application Programming Interface) is a standardized, documented interface that allows one computer application to "talk" to another computer application.
Others in the thread have given similar definitions, but they've missed the most important part: standardized and documented.
Without an API, Application X has to directly integrate with Application Y. That works ... until something changes in Application Y that breaks the integration. Then Application X has to update or re-do their integration ... _until something changes in Application Y that breaks that updated integration. And so on.
Another way to think about this: the electrical socket in your wall is like an API. It's standardized and documented, so anyone building an appliance knows how to build a plug that fits that socket. That's like what an API does. Imagine if that weren't the case. Imagine if sockets in different houses were each different. Or imagine if the configuration of the socket changed every time the power company updated their infrastructure. That variability and unpredictability would make it really difficult to build something that could reliably and consistently plug into any socket in any home or business.
By standardizing and documenting an interface, like a electrical power socket, a developer of ovens or TVs or vacuum cleaners or whatever have a stable interface that it can use to get electrical power from any socket. The standardization and documentation is critical to making the interface effective and efficient.
That's the same thing that an API does except for the exchange of messages and data between one computer application and another.