Un'API (Application Programming Interface) specifica come alcuni componenti software dovrebbero interagire tra loro. Oltre all'accesso ai database o all'hardware del computer, come unità disco fisso o schede video, è possibile utilizzare un'API per facilitare il lavoro di programmazione dei componenti dell'interfaccia utente grafica. In pratica, molto spesso un'API è una libreria che include specifiche per routine, strutture di dati, classi di oggetti e variabili.