A set of procedures, protocols and tools used for creating application software and for communicating with programs from another system. It ensures a similar interface n all programs using API.
Many software providers provide API to communicate their systems with the OS and other systems.