Din app behöver prata med saker. Betalningsprocessorn Stripe. Vädertjänsten som ger dig aktuell temperatur. Din egen databas. OpenAI:s modeller. Var och en av dessa lever på egna servrar, skrivna i olika programmeringsspråk, med olika sätt att lagra och formatera sin data.
Hur pratar de med varandra? Genom ett API.
Servitören i restaurangen
Det klassiska sättet att förklara ett API är servitöranalysin, och den håller fortfarande. Du sitter vid bordet — det är frontendet. Köket — det är backendet — har allt du vill ha. Du kan inte gå in i köket själv och ta saker. Du vet kanske inte ens exakt hur köket är organiserat. Servitören är budbäraren som vet hur man pratar med båda sidor.
Du beställer. Servitören bär förfrågan till köket i ett format köket förstår. Köket producerar svaret. Servitören bär det tillbaka till dig.
En API-anrop fungerar på exakt samma sätt. Din kod skickar en förfrågan till en specifik adress, en URL. Servern på andra sidan tar emot den, tolkar vad som efterfrågas, hämtar eller skapar data, och skickar tillbaka ett svar — nästan alltid som JSON, ett strukturerat textformat båda sidor kan läsa.
REST: fyra grundläggande operationer
Det vanligaste API-formatet kallas REST. Det handlar om att kartlägga fyra grundläggande dataoperationer mot HTTP-metoder du redan känner igen från webben.
`GET` hämtar data. `POST` skapar ny data. `PUT` eller `PATCH` uppdaterar befintlig data. `DELETE` tar bort data. Det är allt. Varje API du nånsin stött på — Stripe, Spotify, Supabase, OpenAI — är variationer på dessa fyra operationer mot olika URL:er.
Nycklar och hemligheter
De flesta externa API:er kräver att du identifierar dig. Det är där API-nycklar kommer in. En API-nyckel är en lång sträng av tecken som tjänsten ger dig när du registrerat dig. Den fungerar som ett lösenord och en identitetskontroll i ett.
Det viktigaste du kan veta om API-nycklar: de ska aldrig hamna i din kod. Varken i JavaScript-filer, i Git-historiken, eller i en README. En exponerad nyckel innebär att någon annan kan använda den mot din faktura.
Rätt ställe för dem är miljövariabler: konfigurationsfiler som finns på servern men aldrig inkluderas i koden som publiceras. Vercel hanterar detta med ett enkelt gränssnitt för projektinställningar.
API:et du bygger själv
Hittills har vi pratat om externa API:er du anropar. Men din Next.js-app kan också exponera ett eget API.
En fil i `app/api/`-mappen med ett par exporterade funktioner är allt som krävs. Den kan ta emot förfrågningar från din frontend, från mobilappar, från tredjepartstjänster som behöver notifiera dig om händelser. Stripe skickar till exempel en webhook till din API-endpoint varje gång en betalning genomförts.
API:er är grundenheten för hur modern mjukvara kommunicerar. Varje gång Claude Code frågar OpenAI om ett svar gör det via ett API-anrop. Varje gång du sparar en order i Supabase är det ett API-anrop. Webben är ett stort lager av tjänster som pratar med varandra på det här sättet.
