Deseori denumită interfață de programare a aplicației sau API simplu, o interfață de program de aplicație este o colecție de instrucțiuni și standarde de programare care permit programelor de calculator să comunice direct între ele. Multe companii de software își lansează API-urile pentru public și permit dezvoltatorilor să creeze aplicații bazate pe serviciul lor. Un exemplu perfect ar fi Microsoft DirectX, un set de API-uri care permit dezvoltatorilor să creeze jocuri, caracteristici multimedia și aplicații pentru sistemul de operare Windows.
O interfață de program de aplicație nu este o interfață cu utilizatorul, ci o interfață software-la-software. De fapt, permite programelor să comunice între ele fără nicio cunoaștere sau intervenție a utilizatorului. De exemplu, atunci când cumpărați bilete la concert online cu un card de credit, site-ul web folosește un API pentru a trimite datele cardului dvs. către o aplicație de la distanță care verifică valabilitatea acesteia. Odată ce plata a fost confirmată, aplicația răspunde site-ului, dându-i acordul de a emite biletele.
Interfețele programelor de aplicație concepute pentru a oferi cea mai rapidă execuție conțin de obicei seturi de proceduri, funcții, variabile și structuri de date. Un API complet este adesea definit ca unul care furnizează un strat de abstractizare care împiedică dezvoltatorul să știe cum se leagă funcția sa cu nivelurile inferioare de abstractizare. Acest lucru permite programatorului să îmbunătățească sau să reproiecteze funcțiile din API fără a rupe codul care are nevoie de el.
Interfața unui program de aplicație este destul de similară cu Software-as-a-Service (SaaS). Acest lucru se întâmplă în principal pentru că programatorii nu trebuie să înceapă de la zero de fiecare dată când scriu o aplicație. În loc să scrieți scripturi pentru un singur program de bază conceput pentru a gestiona totul, același program poate externaliza anumite responsabilități către alte aplicații capabile să facă treaba mult mai bine. Acest lucru face ca API-ul să fie foarte util pentru integrarea cu un site web și diverse aplicații web.
Interfața programului de aplicație a devenit o parte integrantă a Web 2.0 și a fenomenului rețelelor sociale. Mai multe comunități populare îl folosesc pentru a partaja conținut într-o arhitectură deschisă. Utilizatorii pot partaja comentarii, fotografii, videoclipuri și tot felul de informații cu aplicații externe, utilizând un API deschis pentru a oferi noi funcționalități comunității lor. Două exemple clasice de API-uri care permit această partajare sunt Platforma de aplicații Facebook și platforma Open Social.
Interfețele programelor de aplicație sunt furnizate de mai multe nume mari, inclusiv Amazon®, eBay® și Google™. Când sunt dezvoltate cu precizie și utilizate corect, acestea pot aduce beneficii atât companiei care furnizează serviciul, cât și utilizatorilor săi. Poate cel mai mare dezavantaj al API-urilor este că depind de serviciul de furnizare. De exemplu, dacă Google Maps™ ar fi întrerupt, interfața programului său de aplicație ar fi practic inutilă.