Nominatim — OpenStreetMap geocoding
Nominatim is the official geocoding API built on OpenStreetMap data. Provides free-form and structured address → coordinates (geocoding), coordinates → address (reverse geocoding), POI search and OSM-ID lookups — globally, without an API key. Complements Kartverket (the Norwegian primary source) with global coverage and place search. ODbL licence, max 1 req/s against the public server (results are cached).
—
Data volume
Daily
Updates
4
MCP tools
{
"data": "..."
}MCP integration
API endpoints
/searchFri-form adresse-/stedsøk
- q required
- Fritekst-adressesøk
q=Karl Johans gate, Oslo - country optional
- Begrens til ISO-3166-1 alpha-2 landkode(r), kommaseparert
country=no - countrycodes optional
- Alias for `country` (Nominatims eget navn). `country` vinner hvis begge er gitt.
countrycodes=no - limit optional
- Maks antall treff
limit=10 - viewbox optional
- Prioriter/begrens til bounding box: x1,y1,x2,y2 (lon/lat)
- bounded optional
- Når true sammen med viewbox: kun treff strengt innenfor boksen
Show curl example
# GET https://data.ketl.no/api/connectors/nominatim/search?q=Karl%20Johans%20gate%2C%20Oslo
curl \
-H "Accept: application/json" \
"https://data.ketl.no/api/connectors/nominatim/search?q=Karl%20Johans%20gate%2C%20Oslo"Authenticated call — add one of these headers: x-api-key: ketl_… · Authorization: Bearer … — See the full reference in the documentation.
/geocodeStrukturert geokoding (street/city/country)
- street optional
- Gate (minst ett av street/city/county/state/country/postalcode)
street=Karl Johans gate 1 - city optional
- By
city=Oslo - county optional
- Fylke. NORSKE fylker slås opp her — ikke via `state`
county=Oslo - state optional
- Delstat/region. OSM fører IKKE norsk administrativ geografi som `state` (Oslo/Vestland gir 0 treff, målt 2026-08-20) — bruk `county` for norske fylker. Eksempelet er derfor tysk
state=Bayern - country optional
- Land
country=Norway - postalcode optional
- Postnummer
postalcode=0154 - limit optional
- Maks antall treff
limit=5
Show curl example
# GET https://data.ketl.no/api/connectors/nominatim/geocode
curl \
-H "Accept: application/json" \
"https://data.ketl.no/api/connectors/nominatim/geocode"Authenticated call — add one of these headers: x-api-key: ketl_… · Authorization: Bearer … — See the full reference in the documentation.
/reverseOmvendt geokoding (koordinat → adresse)
- lat required
- Breddegrad (WGS84)
lat=59.913 - lon required
- Lengdegrad (WGS84)
lon=10.752 - zoom optional
- OSM-detaljnivå for treffet (0 = land, 10 = by, 18 = bygning). Utelat for Nominatims default.
zoom=18
Show curl example
# GET https://data.ketl.no/api/connectors/nominatim/reverse?lat=59.913&lon=10.752
curl \
-H "Accept: application/json" \
"https://data.ketl.no/api/connectors/nominatim/reverse?lat=59.913&lon=10.752"Authenticated call — add one of these headers: x-api-key: ketl_… · Authorization: Bearer … — See the full reference in the documentation.
/lookupOppslag på OSM-ID-er
- osm_ids required
- Kommaseparert liste OSM-IDer (N/W/R-prefiks)
osm_ids=R2978650
Show curl example
# GET https://data.ketl.no/api/connectors/nominatim/lookup?osm_ids=R2978650
curl \
-H "Accept: application/json" \
"https://data.ketl.no/api/connectors/nominatim/lookup?osm_ids=R2978650"Authenticated call — add one of these headers: x-api-key: ketl_… · Authorization: Bearer … — See the full reference in the documentation.