Eine „API“ ist die Abkürzung (Akronym) für ein „Application Programming Interface“ (wörtlich übersetzt: „Anwendungs-Programmier-Schnittstelle“). Es handelt sich dabei um eine Programmierschnittstelle (auch Anwendungsschnittstelle, genauer Schnittstelle zur Programmierung von Anwendungen). Das ist ein Teil eines Softwaresystems (Programm), der anderen Programmen für deren Anbindung an das System zur Verfügung gestellt wird. Eine API definiert die Programmanbindung auf Quelltext-Ebene (im Gegensatz zur Binärebene). Zur Bereitstellung solch einer Schnittstelle gehört meist die detaillierte Dokumentation der Schnittstellen-Funktionen mit ihren Parametern.
Zu unterscheiden ist diese Art funktionaler Programmierschnittstellen von anderen Schnittstellen, die in der Programmierung angewendet werden: Zum Beispiel die Parameter, die beim Aufruf von Unterprogrammen in einer Software vereinbart und übergeben werden.
Neben dem Zugriff auf Datenbanken oder Hardware, wie Festplatte oder Grafikkarte, kann eine Programmierschnittstelle auch das Erstellen von Komponenten einer grafischen Benutzeroberfläche ermöglichen oder vereinfachen. Zum Beispiel ermöglicht die Programmierschnittstelle „Windows Application Programming Interface“ des Betriebssystems Windows, dass externe Firmen überhaupt erst Software für dieses Betriebssystem entwickeln können.
Heutzutage stellen auch viele Online-Dienste Programmierschnittstellen zur Verfügung. Diese heißen dann „Webservices“. Hier kommen häufig sog. REST-APIs zur Anwendung. „REST“ steht für „Representational State Transfer“ und bezeichnet ein Programmierparadigma für verteilte Systeme, insbesondere eben für Webservices. REST ist eine Abstraktion der Struktur und des Verhaltens des World Wide Web. REST hat das Ziel, einen Architekturstil zu schaffen, der die Anforderungen des modernen Web besser darstellt. Dabei unterscheidet sich REST vor allem in der Forderung nach einer einheitlichen Schnittstelle von anderen Architekturstilen.