An API is a set of routines, protocols, and tools that allow software applications to communicate with each other. It defines the functionality that is independent of implementation. An API expresses the operations, inputs, outputs, and types of a software component. It allows creation of applications that can access features or data from an operating system, application, or other service. An API acts as an intermediary that allows two applications to communicate, delivering requests from one app to a provider and returning the response.