Eine Programmierschnittstelle ist die Schnittstelle, die ein Betriebssystem oder auch ein anderes Softwaresystem anderen Programmen zur Verfügung stellt. Oft wird dafür die Abkürzung API (für engl. application programming interface, deutsch: Schnittstelle zur Anwendungsprogrammierung) verwendet. Im Gegensatz zu einer Binärschnittstelle (ABI) definiert eine API nur die Verwendung der Schnittstellen auf Quelltextebene.
Die meisten Betriebssysteme bieten sehr vielfältige Programmierschnittstellen an. Neben den Zugriffen auf die Hardware wie Festplatte oder Grafikkarte wird dem Programmierer auch das Erstellen von Komponenten der grafischen Benutzeroberfläche erleichtert. Obwohl die Programmierschnittstelle nur zur Benutzung durch Software-Programmierer gedacht ist, und die Beschreibung sich auch entsprechend technisch gibt, hat ein API auch Vorteile für den Benutzer. Wenn alle Programmierer dasselbe API für das Erstellen, Zeichnen und Verwalten von Fenstern einer Benutzeroberfläche benutzen, sehen die Fenster auch alle gleich aus und besitzen dieselben Komponenten. Der Benutzer braucht die Bedienung nur einmal zu erlernen.
APIs haben durch die fortschreitende modulare Programmierung und den modularen Aufbau von Rechnern erheblich an Bedeutung gewonnen. Beispiel dafür sind Datenbankschnittstellen.
Heutzutage stellen auch viele Internetdienste APIs zur Verfügung.