Application Programming Interface (API) is a set of routines, protocols, and tools for building software applications used to specify how software components should interact. It is a set of clearly defined methods of communication between various components. A good API makes it easier to develop a computer program by providing all the building blocks, which are then put together by the programmer.