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 å kommunisere med datasystemet. API-er benyttes i hovedsak av annen programvare, og det er sjelden sluttbrukere har behov for å benytte disse direkte.

Faktaboks

Etymologi

forkortelse for det engelske begrepet Application Programming Interface

Også kjent som

applikasjonsgrensesnitt

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 nettjenester eller i nettkoblede enheter (typisk tingenes internett). 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.

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.

Standarder

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å standarder som REST, SOAP eller RPC. Dette gjør at ferdige programmeringsbiblioteker forenkler bruken ytterligere.

Formål

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.

Eksempel på et API

Store norske leksikon har sitt eget API. Man kan bruke det til å lete etter og hente ned artikler. Dette er et API som man kan kjøre som vanlige nettforespørsler på samme vis som man spør etter en nettside.

Hvis man for eksempel ønsker å lete etter artikler om Stavanger, kan man sende en forespørsel i form av en URL. Når man bruker et API sender man gjerne en slik URL fra dataprogrammet sitt som så tolker resultatet og presenterer det på en fornuftig måte. Man kan forøvrig også lime URL-en inn i adressefeltet til en vanlig nettleser for å teste.

https://snl.no/api/v1/search?query=Stavanger&limit=5

Komponent Forklaring
https:// Forespørselen bruker HTTPS-protokollen, som er den vanlige protokollen for å spørre etter nettsider
snl.no/ Domenet til tjeneren til Store Norske Leksikon
api/v1 Forteller tjeneren at dette er et spørsmål til API-et heller enn en forespørsel om den vanlige nettsida, og at forespørselen bruker versjon 1 av API-et
search? Forteller at tjeneren skal utføre et søk
query=Stavanger Forteller at tjeneren skal lete etter artikler som handler om Stavanger
limit=5 Forteller at tjeneren skal levere maksimalt 5 treff

Forespørselen blir så behandlet av nett-tjeneren snl.no. Den gir et svar i form av en JSON fil. Deretter må man, som bruker av API-et, skrive et program som tolker den mottatte JSON-fila.

I dette tilfellet gir forespørselen informasjon om følgende 5 artikler:

Merk at hver enkelt API har sitt eget format for hvilke komponenter forespørselen består av. Alle API-er som bruker HTTPS vil inneholde de to første punktene, protokoll og domene, men vil ha sine egne format på det som kommer etterpå.

Les mer i Store norske leksikon

Kommentarer

Kommentarer til artikkelen blir synlig for alle. Ikke skriv inn sensitive opplysninger, for eksempel helseopplysninger. Fagansvarlig eller redaktør svarer når de kan. Det kan ta tid før du får svar.

Du må være logget inn for å kommentere.

eller registrer deg