Application Programming Interface (API) reprezintă un set de definiții de sub-programe, protocoale si unelte pentru programarea de aplicații si software. Un API poate fi pentru un sistem web, sistem de operare, sistem de baze de date, hardware sau biblioteci software. De exemplu, când este vorba despre interfața dintre programele de aplicație și sistemul de operare, acesta stabilește în amănunt modul în care programele de aplicație pot accesa (apela) serviciile sistemului de operare sub care rulează.
În contrast cu o interfață utilizator (user interface), care conectează un computer cu o persoană, o interfață de programare a aplicațiilor (API) conectează computere sau părți de software între ele. Nu este destinată utilizării directe de către o persoană (utilizatorul final), ci de către un programator care o integrează într-un software.
Un API este de obicei compus din mai multe părți care acționează ca instrumente sau servicii disponibile pentru programator. Un program sau un programator care folosește una dintre aceste părți se spune că apelează acea parte a API-ului. Aceste apeluri mai sunt cunoscute și ca subrutine, metode, cereri sau puncte terminale (endpoints).
O specificație API definește aceste apeluri, ceea ce înseamnă că explică modul în care trebuie folosite sau implementate.
Scopul API-urilor este de a ascunde detaliile interne ale modului în care funcționează un sistem, expunând doar părțile utile programatorului și păstrându-le constante, chiar dacă detaliile interne se schimbă ulterior.
Un API poate fi personalizat pentru un anumit cuplu de sisteme sau poate fi un standard comun care permite interoperabilitatea între mai multe sisteme.
Există API-uri pentru:
- limbaje de programare,
- biblioteci software,
- sisteme de operare,
- și hardware de calculator.
Deși API-urile au apărut ca idee încă din anii 1940, termenul propriu-zis nu a fost folosit decât în anii 1960–1970. În zilele noastre, termenul API se referă deseori la API-urile web, care permit comunicarea între calculatoare conectate prin internet.
Recentele evoluții în API-uri au dus la creșterea popularității microserviciilor, care sunt servicii slab cuplate accesate prin API-uri publice.