Une interface de programmation d'application (API) spécifie comment certains composants logiciels doivent interagir les uns avec les autres. En plus d'accéder aux bases de données ou au matériel informatique, tels que les disques durs ou les cartes vidéo, une API peut être utilisée pour faciliter le travail de programmation des composants d'interface utilisateur graphique. En pratique, le plus souvent, une API est une bibliothèque qui inclut des spécifications pour les routines, les structures de données, les classes d'objets et les variables.