API er et grensesnitt som gir direkte tilgang til data og funksjonalitet i et datasystem, og gjør det svært mye enklere for et system eller en tjeneste å kommuniserer med datasystemet. API-er benyttes i hovedsak av annen programvare, og det er sjelden sluttbrukere har behov for å benytte disse direkte.
API-er var tidligere noe en programmerer benyttet for å gi sine applikasjoner tilgang til funksjonalitet i operativsystem og maskinvare. I dag er API-er derimot vel så mye benyttet for å samhandle med netttjenester eller i nettkoblede enheter (typisk internet of things). Med et API kan man for eksempel enkelt integrere værmeldingen fra YR, sanntidsdata fra Avinor eller produktutvalget til Vinmonopolet i sitt eget system. API-er gjør det også enkelt å utvikle utvidelser til et system, slik som nettlesertillegg.
Tidligere fantes det en rekke ulike standarder for hvordan et API skulle bygges opp, og en del tjenester lagde også sine egne varianter. I dag bygger del fleste opp sitt API basert på enten REST, SOAP eller RPC. Dette gjør at ferdige programmeringsbiblioteker forenkler bruken ytterligere.
Et API kjennetegnes ved at man sender enkle forespørsler til et eksternt system, som så utfører en handling og gir en respons tilbake. Det er altså ikke et API dersom man benytter funksjonalitet i biblioteker eller rammeverk til oppgaven.
At en leverandør åpner opp et API til sitt system drives frem av flere ulike hensyn. Blant annet kan det gjøre systemet mer populært, da det enkelt kan skreddersys og integreres i lang rekke andre løsninger. I tillegg kan man ta betalt for bruken av API, og dermed ha dette som en inntektskilde. Bevisstheten rundt åpne data gjør også at myndigheter og også en del private bedrifter velger å gjøre informasjon enkelt tilgjengelig for andre tjenester gjennom et API. Selv om et API gjør tilgang og bruk enkelt, betyr ikke det at tilgangen er uten kontroll. Ofte må for eksempel hver unike tjeneste ha et token (passord) for å få lov til å benytte API-et.
Å forstå programmering som benytter API-er mot andre tjenester er blant noe av programmererens viktigste kompetanse i dag.