Gå til innhold

Kom i gang

Denne veiledningen tar deg fra ingenting til et fungerende kall på ti minutter.

1. Lag en nøkkel

Gå til https://api.nasjonalmuseet.no/api/v1/keys/register. Fyll inn navn, e-post og hva du skal bruke dataene til, les vilkårene og kryss av. Siden sjekker at du er et menneske uten å bruke tredjepartstjenester.

  • Nøkkelen vises én gang. Ta vare på den. Mister du den, lager du en ny.
  • Den varer i 180 dager og fornyes på samme side.
  • Den gir nivået pub: publiserte verk, bilder og tekstsøk. Se Tilgangsnivåer.

2. Prøv i nettleseren

Åpne https://api.nasjonalmuseet.no/api/docs, trykk Authorize og lim inn nøkkelen. Da kan du prøve hvert kall med Try it out, uten å skrive kode.

3. Ditt første kall

Nøkkelen sendes alltid i headeren X-API-Key.

curl -s -H "X-API-Key: $NM_API_KEY" \ "https://api.nasjonalmuseet.no/api/v1/objects/NG.M.00939?lang=no"

import os import requests

API = "https://api.nasjonalmuseet.no/api/v1" headers = {"X-API-Key": os.environ["NM_API_KEY"]}

r = requests.get(f"{API}/objects/NG.M.00939", params={"lang": "no"}, headers=headers, timeout=30) r.raise_for_status() verk = r.json() print(verk["mainTitle"], verk["production"][0]["person"]["name"], verk["labelDate"])

const API = "https://api.nasjonalmuseet.no/api/v1"; const headers = { "X-API-Key": process.env.NM_API_KEY };

const r = await fetch(${API}/objects/NG.M.00939?lang=no, { headers }); if (!r.ok) throw new Error(HTTP ${r.status}); const verk = await r.json(); console.log(verk.mainTitle, verk.production[0].person.name, verk.labelDate);

Svaret er verket Skrik (NG.M.00939) som JSON. De viktigste feltene:

Felt Innhold
nmId Verkets id, det samme som inventarnummeret
mainTitle Hovedtittelen
production[].person.name Kunstneren eller produsenten
labelDate Dateringen slik den står på etiketten
materialTechniqueDescription Materiale og teknikk
primaryImage.imageUrl Hovedbildet, 1200 piksler bredt

lang=en gir engelske verdier der katalogen har dem.

Fra en nettside

API-et tillater ikke kall direkte fra nettleseren (ingen CORS), og nøkkelen skal ikke ligge i kode som sendes til besøkende. Kall API-et fra din egen server, og send videre det nettsiden trenger. JavaScript-eksemplene er skrevet for Node.js 18 eller nyere. Unntak: IIIF-bildene og -manifestene, og Linked Art, kan hentes direkte.

Vanlige feil

  • 401 selv om du har nøkkel: headeren heter X-API-Key. Andre navn, eller nøkkelen i adressen, virker ikke.
  • 403 på et kall: kallet krever et høyere nivå. Semantisk søk krever ext. Se Tilgangsnivåer.
  • Tom mainTitle: verket har ingen publisert tittel. Bruk objectName (betegnelsen) som overskrift, slik nettsiden gjør.

Neste steg