Una API es un conjunto de funciones y métodos que ofrece una biblioteca para ser utilizado por otro software, actuando como una capa de abstracción. Una interfaz de programación representa la capacidad de comunicación entre componentes de software y proporciona un conjunto de funciones de uso general para tareas como dibujar en pantalla, evitando que los programadores tengan que programar todo desde cero. Algunos ejemplos de APIs son Microsoft WMI, .NET, OpenGL, Java EE y CORBA.