API, an abbreviation of application program interface, is a set of routines, protocols, and tools for building software applications. A good API makes it easier to develop a program by providing all the building blocks. A programmer then puts those blocks together.
Most operating environments, such as MS-Windows, provide an API so that programmers can write applications consistent with the operating environment. Although APIs are designed for programmers, they are ultimately good for users because they guarantee that all programs using a common API will have similar interfaces. This makes it easier for users to learn new programs.
An API specifies how some software components should interact with each other. In practice, most often an API is a library that includes specifications for routines,data structures, object classes, and variables. An API specification can take many forms, including an International Standard, vendor documentation such as the Microsoft Windows API orthe libraries of a programming language. An API differs from an application binary interface (ABI) in that an API is source code based while an ABI is a binary interface.