An API (Application Programming Interface) is a set of functions allowing the programmer to access an application's services through the use of a programming language.
An API provides the developer with an abstraction layer, which masks the complexity of accessing a system or an application by providing a set of standard functions for which parameters and values are all that are known. Similarly, if we take the analogy of a car, the driver does not need to know the mechanics of how the engine works to be able to drive the car. All the driver has access to is the interface which is composed of the steering wheel, pedals (accelerator, clutch, break), controls (indicators, headlights, speedometer), switches (hazard lights, fog lights, horn, etc.). This is somewhat similar to the interface presented to the programmer.
Thanks to APIs, a developer does not need to worry about how a remote application works, nor how the application was put together to be able to use it in a program. An API may be available for a specific language or may be used with several different programming languages.