A messenger that takes your message and tells a system that it is you want to do and returns the response to you instantly. It is a set of subroutine definitions, protocols, and tools for building application software. In general terms, it is a set of clearly defined methods of communication between various software components. It defines methods of communication between various software components and provides access to data of an operating system, application, or other services. 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.