API står för Application Programming Interface, alltså ett programmeringsgränssnitt. Ett API låter två olika program kommunicera med varandra.

Tänk på ett API som en meny på en restaurang. Du (programmet) ser vad som finns att beställa. Du skickar din beställning till köket (servern), och köket skickar tillbaka det du bett om.

Exempel från verkligheten

Många tjänster på internet har öppna API:er. Några exempel:

  • En väderapp hämtar väderdata från SMHI:s API.
  • En valutaomvandlare hämtar kursdata från Riksbankens API.
  • En nyhetsapp hämtar rubriker från ett nyhets-API.
  • Ett spel kanske laddar highscore från en onlinetjänst.

Du slipper alltså bygga hela vädersystemet själv – du hämtar färdig data via ett API.

Hur fungerar ett API?

  1. Du skickar en förfrågan (request) till ett API – vanligtvis via en URL.
  2. Servern svarar med ett svar (response) – oftast i JSON-format.
  3. Programmet kan sedan använda informationen som kommer tillbaka.

API-anrop använder HTTP

API:er kommunicerar över internet med hjälp av HTTP-protokollet, precis som webbläsare.

Vanliga HTTP-metoder:

  • GET – hämta data (den vi använder mest)
  • POST – skicka ny data
  • PUT – uppdatera data
  • DELETE – ta bort data

I Programmering 2 fokuserar vi framför allt på att använda GET för att hämta data.

Exempel på API-anrop i webbläsare:

https://api.chucknorris.io/jokes/random

Om du besöker den länken i webbläsaren får du tillbaka ett JSON-objekt med ett skämt från Chuck Norris-API:t:

{
  "value": "Chuck Norris can divide by zero."
}

API-dokumentation

Varje API har en dokumentation som visar:

  • vilka adresser (endpoints) som finns att anropa,
  • vilken data som krävs (t.ex. nycklar, sökord, språk),
  • vilket format svaret har (oftast JSON),
  • eventuella begränsningar (t.ex. max 100 anrop per dag).

Det är vanligt att du behöver en API-nyckel (API key) – en slags identitet som du skickar med din förfrågan. Du kan behöva registrera dig för att få en nyckel. Vissa API:er kostar pengar medan andra är kostnadsfria.