Vi bruker informasjonskapsler til autentisering og — med ditt samtykke — til analyse. Les mer.

Hopp til innhold
KETL Data
DataApperMCPPriserLogg inn
Hjem
Utvikler

Test API-et. Rett i nettleseren.

KETL Data API + MCP — auth, rate limits, eksempler og full OpenAPI 3.1-spec.

Kom i gang på 5 minutter
Opprett konto, generér API-nøkkel og gjør første kall mot Brreg.
Opprett konto →
Datakatalog
160+ nordiske offentlige datakilder med endepunkter, paginering og felt-mapping.
Bla i kilder →
Analyseapper
Ferdige dashboards som demonstrerer hvert API. Bruk som referanseimplementasjon.
Se apper →
MCP-distribusjon
178 Model Context Protocol-servere klare for Claude Desktop, Cursor og Windsurf.
MCP-hub →

Auth og rate limits

Anonymt
10 kall/min per IP
134 kilder krever ingen API-nøkkel — bl.a. brreg, kartverket, sodir, ssb, stortinget. Se hele settet i /api/v1/_meta/connectors.
Standard
60 kall/min · 5 000 kall/døgn · 50 000 kall/mnd
Google-innlogging + kortverifisering (0 kr, belastes aldri). Gir alle åpne kilder, analyseapper, MCP-servere og REST-API-et.
Enterprise
Etter avtale
Avtalebasert: skjulte kilder, DPA-styrte persondata-pakker, høyere tak og SLA. Settes kun via eksplisitt admin-grant.

Send API-nøkkel som x-api-key-header eller Firebase ID-token som Authorization: Bearer ….

Eksempler

curl
# Slå opp Equinor ASA via Brreg-connector
curl https://data.ketl.no/api/connectors/brreg/enhet/923609016
JavaScript (fetch)
const res = await fetch(
  "https://data.ketl.no/api/connectors/brreg/enhet/923609016"
);
// Svaret er pakket: { success: true, data: { ... } }
const { data } = await res.json();
console.log(data.legalName); // "EQUINOR ASA"
Python (httpx)
import httpx

r = httpx.get(
    "https://data.ketl.no/api/connectors/brreg/enhet/923609016"
)
# Svaret er pakket: {"success": true, "data": {...}}
print(r.json()["data"]["legalName"])  # "EQUINOR ASA"

Feilhåndtering

Alle endepunkter returnerer strukturert JSON ved feil: { error: string, code: string }. Bruk code for programmatisk håndtering — error er for mennesker og kan endre form.

StatusBetydningHva du bør gjøre
200OKVellykket. Response-body inneholder data + `x-ketl-cache: hit|miss|stale`-header.
400Bad RequestValidation-feil — body har `{error, code: "validation_error"}`. Sjekk required query-params.
401UnauthorizedAPI-nøkkel mangler eller er ugyldig. Send `x-api-key` eller `Authorization: Bearer …`.
403ForbiddenTier-en din har ikke tilgang til denne kilden. Se /pricing.
429Too Many RequestsRate limit nådd. `Retry-After`-headeren angir antall sekunder før neste forsøk er tillatt.
502Bad GatewayUpstream-kilden svarte med feil. Body har `{error, code: "upstream_error", upstreamStatus?}`. Stale cache kan ha blitt servert ved tilgjengelig data.
503Service UnavailableConnector mangler nødvendig credential (`{error: "not_configured"}`). Operasjonell-feil, ikke en bug — opprett en sak om kilden er markedsført men ikke fungerer.

Retry-strategi

Eksponentiell backoff på 429/502/503: 1s, 2s, 4s, 8s — gi opp etter fire forsøk. 4xx (utenom 429) er klient-feil og skal ikke retries. Se Retry-After-headeren for eksakt ventetid ved 429.

Rate limiting-headers

X-RateLimit-LimitMaksimalt antall kall per minutt for din tier.
X-RateLimit-RemainingGjenværende kall i denne vinduet.
X-RateLimit-ResetUnix-epoch (sekunder) når vinduet nullstilles.
Retry-AfterSettes kun ved 429 — antall sekunder å vente før retry.

Paginering

Søke-endepunkter bruker offset-paginering (size + fra som 0-indeksert sidenummer). Liste-endepunkter for tidsserier bruker dato-vinduer (from/ to) istedenfor offset.

# Brreg-enhetssøk paginert (page 0-indexed, size 1-100)
curl "https://data.ketl.no/api/connectors/brreg/enheter?navn=Equinor&size=20&fra=0"

# Respons:
#   {
#     "enheter": [...],
#     "totalElements": 47,
#     "totalPages": 3,
#     "pageNumber": 0,
#     "pageSize": 20
#   }
#
# Hent neste side med fra=1, deretter fra=2.

Maks size varierer per rute og står maskinlesbart i OpenAPI-spec-en som parameters[].schema.maximum — les den derfra i stedet for å anta et felles tak. Større size klemmes ned i stedet for å gi feil.

OpenAPI 3.1-spec

Den komplette kontrakten er publisert som OpenAPI 3.1 og kan hentes maskinlesbart for codegen (orval, openapi-typescript) eller importeres i Postman/Insomnia/Stoplight.

curl https://data.ketl.no/api/v1/_meta/openapi.json
Last ned OpenAPI →Kildekatalog →Helsesjekk →
KETL Data

Nordisk åpen-data- og compliance-infrastruktur. Kilde, regel og konfidens på hvert svar.

Produktlenker

  • Data
  • Apper
  • MCP
  • Priser
  • Kunnskap
  • Standarder
  • Hjelp
  • Ordliste
  • Hva er nytt
  • Kontakt
  • Sitemap

Juridiske lenker

  • AI-transparens
  • Personvern
  • Kredittopplysning
  • Vilkår
  • SLA
  • Cookies
  • Sikkerhet

© 2026 KETL Data

build 3c86f6f3