Application programming interface: is a set of routines, protocols, and tools for building software applications. Basically, an API specifies how software components should interact.