DOKUMENTASJON
Fra nøkkel til første svar.
Start her: lag en konto, hent en nøkkel og gjør det første kallet. Hvert API har sin egen referanse med parametere, svar og feilkoder, generert fra kontrakten API-et faktisk serverer.
Det viktigste er ikke feltlistene. Det er forbeholdene: hva en verdi ikke betyr. En tom seksjon må leses sammen med kildestatus og dekning; den fastslår ikke fravær av fare.
- API-versjon
- 1.14.0
- Seksjoner
- 223
- Felter
- 3 379
- Kan prøves i demoen
- 168
Innhold
Kom i gang
- Opprett en konto. Opprett konto — samme konto som for alle Approach-tjenester.
- Hent en prøvenøkkel under Konto → Datakilde: prøvenøkkelen har 100 kall som teller som oppslag, i 14 dager, med de åpne feltene fra demoen. Nøkkelen vises bare én gang: lagre den i miljøvariabelen APPROACH_API_KEY på serveren din, aldri i nettleserkode eller kildekontroll.
- Gjør det første kallet. Søk er gratis og teller ikke som oppslag. Svaret er adressekandidater; la brukeren velge, og bruk address_id-en videre.
curl --fail-with-body --silent --show-error \ -H "X-API-Key: $APPROACH_API_KEY" \ 'https://api.approach.no/api/v1/addresses/search?q=Storgata+1'
- Les koordinatene. Hver kandidat i søket, og address-objektet øverst i hver adresseprofil (også fra /resolve), har punktet i to systemer: lat og lon i WGS84-grader for kart og geokoding, og easting_utm33 og northing_utm33 i meter, EPSG:25833, som er Kartverkets autoritative koordinater. coordinate_system i svaret sier hvilket UTM-system som brukes. Seksjonen address_details har de samme fire feltene.
curl --fail-with-body --silent --show-error \ -H "X-API-Key: $APPROACH_API_KEY" \ 'https://api.approach.no/api/v1/addresses/search?q=Storgata+1' \ | jq '.candidates[] | {address_id, lat, lon, easting_utm33, northing_utm33}'
Prøv uten nøkkel
Svaret under er det API-et returnerte nå — ikke et eksempel som var riktig en gang. Hver seksjon har den samme knappen på sin egen side.
Samme kall i ditt språk
De samme fire språkene og den samme koden som utprøvingen på kontosiden. Nøkkelen leses fra miljøet.
curl --fail-with-body --silent --show-error \ -H "X-API-Key: $APPROACH_API_KEY" \ 'https://api.approach.no/api/v1/addresses/search?q=Storgata+1'
Å lese svaret
Hver seksjon har sin egen status og freshness. Forgren på dem før du bruker en verdi: available betyr at kilden svarte med poster, not_found at kilden ble spurt og ikke hadde noe for adressen, unavailable at seksjonen ikke kunne leses, og restricted at nøkkelen ikke har tilgang. En tom seksjon er ikke et fravær i virkeligheten. Alle verdiene forklart.
Nøkler og innlogging
Når du bruker kontosidene, fornyes innloggingen automatisk i opptil sju dager. Deretter logger du inn igjen. Utlogging avslutter denne økten. Tilbakestilling av passord avslutter alle øktene.
API-nøkler er separate fra innloggingen og fornyes ikke automatisk. Bruk «Roter» på kontosiden: du får en ny nøkkel, og den gamle virker videre i 24 timer så du rekker å bytte den inn. Vil du stoppe den gamle med en gang, kan du velge det i samme dialog. Utlogging og passordbytte tilbakekaller ikke API-nøkler. Ved mistanke om lekkasje: tilbakekall nøkkelen straks.
Nøkler tilhører personen som opprettet dem, selv når de bruker firmaets avtale. Før personen slutter eller sletter kontoen: la en annen administrator opprette en erstatningsnøkkel, oppdater og test integrasjonen, og tilbakekall den gamle nøkkelen.
Ved feil: oppgi tidspunkt, endepunkt, HTTP-status og Request ID fra Forbruk og logger. Ikke send API-nøkler eller passord.
Bedriftspilot og nye data
Start med ett bruksområde og fem prioriterte felt. Avtal 20–50 testadresser, datatilganger og en egnet kvote med oss før dere bygger prototypen. Den vanlige prøvenøkkelen gir ikke tilgang til alle feltene i katalogen.
Send oss feltene dere savner, ønsket oppdateringshyppighet og eksempler på hva dataene skal brukes til. Nye kilder og bedre dekning prioriteres etter behov, kvalitet og bruksrettigheter; katalogen viser det som er tilgjengelig nå.
Kontakt oss om pilot, nye data eller hjelpFra en KI-assistent (MCP)
Den driftede MCP-serveren tilbyr adressesøk, oppslag, katalog og tidsserier som verktøy. Bruk en MCP-klient som støtter HTTP-endepunkt og egen Authorization-header. Serveren bruker samme nøkkel og tilganger som API-et; den kan ikke gi mer enn nøkkelen gir.
URL: https://mcp.approach.no/mcp Authorization: Bearer $APPROACH_API_KEY
Bruk en nøkkel fra Konto → Datakilde. Ingen npm-pakke er publisert ennå; OpenAPI-dokumentet kan brukes til å generere en vanlig API-klient.
API-ene
Datakilde-nøkkelen kan brukes mot flere API-er når både seksjonstilgang og produktplan tillater det. Prosjekter har egne nøkler. En nøkkel er ikke et abonnement; kjøpt kvote åpner ikke avtalebeskyttede felt.
| API | Hva det gir | Nøkkel og tilgang | Måles i | Kontrakt |
|---|---|---|---|---|
| Adresser | Adresse- og eiendomsoppslag, 223 seksjoner | Datakilde-nøkkel · adresseseksjoner | oppslag | OpenAPI |
| Selskaper | Selskapsoppslag på organisasjonsnummer | Samme nøkkel · selskapsseksjoner | oppslag | OpenAPI |
| Selskapsovervåking | Varsler om hendelser for selskaper du følger, med webhook | Samme nøkkel · eget overvåkingsabonnement | fulgt selskap per måned | OpenAPI |
| Regioner | Kommune- og fylkesdata | Samme nøkkel · regionseksjoner | oppslag | OpenAPI |
| Tidsserier | 32 åpne tidsserier | Samme nøkkel · egen seriekvote | påbegynte 1 000 datapunkter | OpenAPI |
| Dataprodukter | Ferdige svar for en adresse, en liste eller et helt område | Samme nøkkel · adresseseksjoner og produktplan | celle | OpenAPI |
| Sverige | Et punkt i Sverige: kommune, flomkart, brønner, vernet natur og varsler | Samme nøkkel · Sverige-tilgang | oppslag | OpenAPI |
| Modeller | Approachs beregninger for en adresse eller et punkt: støy, naturfare og mer | Samme nøkkel · modellkapabilitet | oppslag per modell | OpenAPI |
| Prosjekter | Kildebelagte prosjektforslag i kontoarbeidsrommet | Egen Prosjekter-nøkkel · aktivt abonnement | profiloppslag · egen månedskvote | Arbeidsrom |
Datasett-API-et (hele tabeller med inkrementell synkronisering) har en egen tilgang og foreløpig bare sin OpenAPI-kontrakt.
Prosjektmuligheter · pilot
Et eget, offentlig endepunkt viser 11 kuraterte eksempler fra Oslo kommunes budsjettforslag for 2026. Det er ikke en landsdekkende eller løpende oppdatert strøm. Hvert svar angir at kildedokumentet er et forslag, og hvert prosjekt lenker til PDF-siden som underbygger opplysningene.
Valgfrie parametere: q (navn eller sektor), municipality_code (fire siffer) og limit (1–50, standard 25). Svaret inneholder source, total og projects. Beløp er foreslåtte årsbevilgninger i NOK, ikke kontraktsverdier eller bekreftet finansiering.
curl "https://api.approach.no/api/v1/opportunities?municipality_code=0301&limit=10"
Datakilde Prosjekter · kontoarbeidsrom
Dette er en annen datakilde og API-flate: et kildebelagt utvalg fra Oslobygg KFs investeringsforslag for 2027. Arbeidsrommet krever et aktivt Prosjekter-abonnement og egne Prosjekter-nøkler. Adresse-API-nøkler gir ikke tilgang. API-basen er /v1/datakilde/projects/api; den offentlige 2026-piloten over er ikke en prøveversjon av denne strømmen.
Autentisering
Send nøkkelen i X-API-Key-headeren på hvert kall. Nøkler utstedes per organisasjon, med eksplisitte seksjonstilganger; en pakke gir aldri tilgang til en ny kilde. Et kall uten gyldig nøkkel får 401 med en WWW-Authenticate-header, og et reason-felt som sier hvorfor nøkkelen ble avvist.
X-API-Key: $APPROACH_API_KEY
Hold nøkkelen på serveren. Nettleserkode, mobilapper og kildekontroll er steder den lekker fra. /access viser hva nøkkelen din har tilgang til, og når tilgangen utløper.
Hva som teller som et oppslag
Et oppslag er én adresse (eller ett selskap eller én region) per organisasjon per kalenderdøgn, norsk tid. Å hente en adresses profil, to av seksjonene og historikken samme dag er ett oppslag. Bare vellykkede svar (2xx) telles: en feil fra oss, en 429 eller en 4xx telles aldri.
| Kall | Teller? |
|---|---|
| GET /addresses/{id}, /{id}/sections/{s}, /{id}/history | ja, per adresse |
| GET /companies/{id}, /{id}/sections/{s} | ja, per selskap |
| GET /regions/{id}, /{id}/sections/{s} | ja, per region |
| GET /addresses/search, POST /addresses/resolve, /properties | nei, gratis |
| /access, /usage, /catalog, /openapi.json | nei, gratis |
| Tidsserier, dataprodukter, overvåking | egne enheter, se hvert API |
Selvbetjent prøvetilgang gir 100 tellende adresseoppslag i 14 dager. I selvbetjent prøve- og forhåndsbetalt tilgang belaster testkall ikke denne kvoten, men har et daglig tak. Avtalte bedriftsabonnementer kan ha andre testgrenser og kan telle testoppslag ut over en fri månedskvote etter at faktureringen har startet. Testnøkler bruker samme API og data, ikke et eget testmiljø. Et oppslag der mer enn 20 % av de etterspurte seksjonene feilet hos oss, telles ikke; X-Request-Billing sier da not_billed_partial_failure. Priser og kvoter.
Grenser
Hver tilgang har et antall kall per minutt (prøvetilgangen har 60). X-RateLimit-Limit, -Remaining og -Reset står på svarene; over grensen svarer API-et 429 rate_limit_exceeded med Retry-After i sekunder. Vent så lenge før neste forsøk. En ny nøkkel gir ikke ny grense eller ny kvote: begge hører til organisasjonen.
Når kvoten er brukt opp, svarer API-et 402 med en kode som sier hvorfor: request_allowance_exhausted, monthly_safety_cap_reached eller product_plan_required. X-Request-Budget og X-Request-Budget-Remaining viser hvor du står. Alle feilkodene · Alle svarhodene
Paginering
Både seksjons- og eiendomsendepunktene paginerer. Send next_cursor som cursor med samme filtre. Seksjonsmarkører er bundet til adresse og seksjon; eiendomsmarkører er bundet til eiendommen. Kildekontrollert eiendom krever også matrikkelenhet_id. En markør som brukes et annet sted, gir 400 invalid_cursor.
Status og ferskhet
Hver seksjon svarer for seg. En seksjon som feiler, tar ikke resten med seg, og responsens partial sier at minst én ikke kunne leses. De to feltene du må forgrene på, er status og freshness.
status
| Verdi | Betydning |
|---|---|
| available | Kilden svarte, og det finnes minst én post på denne siden. |
| not_found | Kilden ble spurt og returnerte ingen poster for adressen. For kartlag gjelder dette det lokalt innlastede datasettet og dets dekning, ikke alle kartlagte områder eller fravær av fare. |
| restricted | Nøkkelen som kaller har ingen tilgang til denne seksjonen. Ingen poster returneres, og ingen ble lest. |
| unavailable | Seksjonen kunne ikke leses. error sier hvorfor: source_not_loaded betyr at tabellen ennå ikke er hentet inn, source_empty at den er hentet og ikke har rader noe sted (et varselfeed uten aktive varsler er tomt, ikke ødelagt), source_read_access_missing at API-rollen ikke får lese den, source_timeout at spørringen ikke ble ferdig, source_schema_outdated at en innsamler ennå ikke har oppgradert tabellen. Ingen av dem sier noe om adressen. |
freshness
| Verdi | Betydning |
|---|---|
| cached | Postene har et kildetidsstempel innenfor seksjonens maksimale alder. |
| live | Hentet direkte fra kilden for dette oppslaget. Dette beskriver hentingen, ikke alderen eller fullstendigheten til kildens opplysninger. |
| stale | Postene har et kildetidsstempel eldre enn seksjonens maksimale alder. De returneres likevel; å avgjøre om det betyr noe er ditt. |
| unverified | Postene har ikke noe kildetidsstempel, så alderen er ukjent. Det er ikke en påstand om at de er ferske. |