An application programming interface (API) is a set of routines, protocols, and tools for building software applications. An API expresses a software component in terms of its operations, inputs, outputs, and underlying types. The API specifies how software components should interact and are used when programming graphical user interface (GUI) components. APIs makes it easier for programmers to develop a program by providing all the building blocks.