Skip to content
Eden Engine

Norwegian Place-Name Search: Towns, Streets, Mountains, Counties (Kartverket SSR)

geonorgestedsnavn/search-names

Searches the Norwegian Mapping Authority's Central Register of Place Names (SSR) by name: towns, villages, streets, mountains, lakes, farms, counties and more. Each hit carries the permanent place number, the kind of place, its written forms with language and approval status, its point as latitude and longitude, and its county and municipality. Supports a wildcard (*), fuzzy matching for misspellings, a municipality filter and paging. Hits are ordered by kind of place and then by match quality. A name that matches nothing returns an empty list. All place names are obtained from SSR ©Kartverket (www.kartverket.no), CC BY 4.0, passed through unmodified and served by Eden Engine; not an official Kartverket product.

activeper callv1

Price

$0.0026 per call

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.

Data source

Kartverket

Place names from the Central Register of Place Names (SSR), ©Kartverket (Norwegian Mapping Authority), licensed CC BY 4.0: https://www.kartverket.no/en/api-and-data/terms-of-use. All place names are obtained from SSR ©Kartverket, www.kartverket.no. Served by Eden Engine; not an official Kartverket product.

Use it

Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.

Connect once and your AI can find and run this tool, and any other it needs.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "geonorgestedsnavn/search-names" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "geonorgestedsnavn/search-names" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "geonorgestedsnavn/search-names", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "geonorgestedsnavn/search-names", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.0026
Updated
Oct 21, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "page": {
      "type": "integer",
      "default": 1,
      "maximum": 500,
      "minimum": 1,
      "description": "Page number, 1 to 500. Default 1. `metadata.totaltAntallTreff` gives the total match count."
    },
    "fuzzy": {
      "type": "boolean",
      "description": "Set to true to also find names that resemble the query (a misspelling such as Trondhejm). Leave out for exact and wildcard matching. A fuzzy search can match hundreds of places; hits are ordered by similarity."
    },
    "query": {
      "type": "string",
      "maxLength": 100,
      "minLength": 1,
      "description": "The place name to find, 1 to 100 characters, for example Oslo or Trondheim. A * matches any run of characters (Trondheim* or *fjord)."
    },
    "page_size": {
      "type": "integer",
      "default": 10,
      "maximum": 100,
      "minimum": 1,
      "description": "Hits per page, 1 to 100. Default 10."
    },
    "municipality_number": {
      "type": "string",
      "pattern": "^[0-9]{4}$",
      "description": "Restrict hits to one municipality by its four-digit number with the leading zero, for example 0301 (Oslo) or 4601 (Bergen)."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "required": [
    "metadata",
    "navn"
  ],
  "properties": {
    "navn": {
      "type": "array",
      "items": {
        "type": "object",
        "description": "One place in the register. `stedsnummer` is the permanent place number, `navneobjekttype` the kind of place (By, Adressenavn, Fylke, ...), `representasjonspunkt` its point as `nord` (latitude) and `øst` (longitude) in EPSG:4258, `skrivemåte` or `stedsnavn[].skrivemåte` its written form(s), `fylker` and `kommuner` the county and municipality, `stedstatus` its status.",
        "additionalProperties": true
      }
    },
    "metadata": {
      "type": "object",
      "description": "`totaltAntallTreff` is the total match count, `treffPerSide` the page size, `side` the page number, `viserFra` and `viserTil` the first and last hit number on this page.",
      "additionalProperties": true
    }
  },
  "description": "The service's response. `metadata` describes the query and the paging; `navn` lists the matching places. An empty `navn` list with `totaltAntallTreff` 0 means nothing matched, which is not an error. ",
  "additionalProperties": true
}