Tilbake
4.1
Hva er et API?

4.1 Hva er et API?

Introduksjon til API-er og deres rolle i moderne systemer.

55 min
6 oppgaver
APIRESTHTTP-metoder
Du leser den lesevennlige versjonen
Din fremgang i kapitlet
0 / 6 oppgaver

Samtalene du aldri ser

Når du sjekker været på mobilen, spiller musikk på Spotify eller deler en post på Instagram, snakker appen med servere ute på internett. Den henter og sender data hele tiden, uten at du merker det. Dette skjer gjennom et API – Application Programming Interface.

Et API er et grensesnitt som lar to programmer snakke sammen. I stedet for at mennesker klikker på knapper, sender programmer forespørsler til hverandre og utveksler data automatisk. Mer presist er et API et sett av regler og protokoller som definerer hvordan forespørsler skal sendes, hvilke data som kan utveksles, og hvilket format som brukes.

Den vanligste typen er REST API (Representational State Transfer), en arkitekturstil som bruker HTTP-protokollen. En restaurant-analogi gjør det konkret: tenk på serveren som en restaurant. Menyen er API-dokumentasjonen, som forteller hva du kan bestille. Servitøren er selve API-et, som tar imot bestillingen og leverer maten. Kjøkkenet er serveren eller databasen som lager dataene. Og du er klientprogrammet som bestiller. Du trenger ikke vite hvordan kjøkkenet lager maten – bare hva du kan bestille og hvordan. På samme måte sender et program en forespørsel, API-et henter data, og sender tilbake et svar.

📝Oppgave Quiz 1

HTTP-metoder, endepunkter og JSON

REST API-er bruker fire grunnleggende HTTP-metoder, én for hver type operasjon. GET henter data (lese), POST sender ny data (opprette), PUT oppdaterer eksisterende data, og DELETE sletter. Disse fire kalles CRUD-operasjoner: Create, Read, Update, Delete.

Metodene rettes mot endepunkter – spesifikke URL-er som hver utfører en funksjon. I et sosiale medier-API kan GET /users/123 hente bruker 123, GET /users/123/posts hente postene deres, POST /posts opprette en ny post, PUT /posts/456 oppdatere post 456, og DELETE /posts/456 slette den. Hvert endepunkt har en URL, en HTTP-metode, eventuelle parametere og et svar. Et vær-API kan for eksempel kalles slik: GET https://api.weatherapi.com/v1/current.json?key=ABC123&q=Oslo, der ?key=ABC123&q=Oslo er parametere – API-nøkkelen og stedet.

Svaret kommer nesten alltid i JSON (JavaScript Object Notation), et tekstbasert dataformat som er lett å lese for både mennesker og maskiner. JSON organiserer data i nøkkel-verdi-par, bruker krøllparenteser {} for objekter og hakeparenteser [] for lister, og støtter strenger, tall, boolske verdier, null, objekter og lister. En elev kan beskrives med navn som streng, alder som tall, aktiv som boolsk, karakterer som en liste, og kontakt som et nestet objekt. I Python tolkes JSON enkelt med json-modulen.

📝Oppgave Quiz 2

Dokumentasjon, nøkler og API-er å øve på

Før du bruker et API, bør du alltid lese dokumentasjonen. Den forklarer hvilke endepunkter som finnes, hvilke HTTP-metoder de støtter, hvilke parametere som kreves, hvilket format svaret har, og om autentisering er nødvendig. God dokumentasjon viser også eksempler og hvilke feilkoder som kan komme – som 404 «ikke funnet» eller 500 «serverfeil». Et dokumentert endepunkt som GET /books/{id} forteller deg at du må sende inn en bok-ID, og viser nøyaktig hvordan svaret ser ut.

Mange API-er krever autentisering for å sikre at bare autoriserte brukere får tilgang. Den vanligste metoden er en API-nøkkel. Nøklene hindrer misbruk i form av for mange forespørsler, lar tjenesten spore hvem som bruker API-et, begrenser tilgang til betalte funksjoner, og hindrer uautorisert tilgang. Nøkkelen sendes enten som en parameter i URL-en, for eksempel ?api_key=DIN_NØKKEL, eller i en HTTP-header som Authorization: Bearer DIN_NØKKEL. Det viktigste å huske: behandle en API-nøkkel som et passord, og del den aldri offentlig.

Vil du øve, finnes det flere gratis API-er uten nøkkel. JSONPlaceholder er et test-API med endepunkter som /posts og /users, perfekt for læring. Open-Meteo gir værdata for hele verden. REST Countries gir informasjon om alle land, og The Dog API gir tilfeldige hundebilder. Disse er gode startpunkter når du skal lære API-programmering.

📝Oppgave Quiz 3

Oppsummering

Bak hver app foregår det usynlige samtaler mellom programmer, og API-et er grensesnittet som gjør dem mulige – et sett regler og protokoller, ofte i stilen REST over HTTP. Restaurant-analogien viste rollene: meny (dokumentasjon), servitør (API), kjøkken (server) og gjest (klient). Vi lærte de fire HTTP-metodene GET, POST, PUT og DELETE – CRUD-operasjonene – og at de rettes mot endepunkter, spesifikke URL-er med parametere.

Data utveksles nesten alltid i JSON, med nøkkel-verdi-par, objekter i krøllparenteser og lister i hakeparenteser, lett å tolke i Python. Før bruk leser du dokumentasjonen, og mange API-er krever en API-nøkkel som du må behandle som et passord. Med gratis øve-API-er som JSONPlaceholder og Open-Meteo er du klar til å hente data selv. Det gjør vi i neste kapittel.

Dette kapitlet er skrevet av Anthropics toppmodeller (Claude Opus og Claude Fable) og er foreløpig ikke manuelt gjennomgått — kvalitetskontrollen gjøres av uavhengige KI-agenter, og innmeldte feil rettes fortløpende. Funnet en feil? Meld fra, så retter vi den. Les mer om hvordan innholdet lages.