Grid company and grid area (Elhub)
grid_company20 fields20 of these fields open in the demo
What this does not say
Quoted verbatim from the section’s warnings field, exactly as the API returns it. They are not translated: a translation would show something other than what your response actually contains.
- The grid company is found by organisation number: NVE's concession polygon at the address names the holder (concession_holder_org_number), and Elhub's register names the grid owner with that number (grid_company_*). Nothing is matched on names. elhub_match says why a step stopped: no_unambiguous_concession_polygon (the address lies outside NVE's generalised polygons and the nearest one is either over 2 km away or not clearly nearer than another holder's), or concession_holder_not_an_active_elhub_grid_owner (NVE's layer still names a company since merged into another; the successor is not inferred).
- concession_match is inside_concession_polygon, or nearest_concession_polygon with concession_distance_m when NVE's coastline generalisation left the address just outside every polygon; the nearest is used only within 2 km and when no other holder's polygon lies within 1 km beyond it.
- A grid company can operate several grid areas (nettområder). grid_area_id is set only when the company has one active grid area, or exactly one of them lies in the price zone of NVE's elspot polygon at the address (nve_price_zone); otherwise grid_area_resolution is ambiguous and candidate_grid_areas lists the company's active areas. price_area follows the grid area, or the company when all its areas share one price area, or NVE's elspot zone at the address when the company has a grid area in that zone (price_area_resolution says which); otherwise it is null. The tariff (nettleie) is not included.
- Grid areas and grid owners: Elhub energy data (Elhub AS), Norsk lisens for offentlige data (NLOD). Concession polygons and price zones: NVE, NLOD.
Fields
6 of 20 fields are value fields — the ones that decide whether a record actually says anything. The rest are context: identifiers, codes and timestamps. Fields marked “open” return values to anonymous callers; the rest require a key.
| Field | Type | Role | Demo |
|---|---|---|---|
| concession_holder_name | string | null | context | open |
| concession_holder_org_number | string | null | context | open |
| concession_holder_type | string | null | context | open |
| concession_match | string | null | context | open |
| concession_distance_m | integer | null (m) | context | open |
| elhub_match | string | null | context | open |
| grid_company_name | string | null | value | open |
| grid_company_org_number | string | null | value | open |
| active_grid_areas | integer | null | context | open |
| grid_area_id | string | null | value | open |
| grid_area_name | string | null | value | open |
| grid_area_eic | string | null | context | open |
| grid_company_gln | string | null | context | open |
| grid_area_resolution | string | null | context | open |
| candidate_grid_areas | array<object> | null | value | open |
| price_area | string | null | value | open |
| price_area_resolution | string | null | context | open |
| price_area_eic | string | null | context | open |
| nve_price_zone | string | null | context | open |
| fetched_at | timestamp | null | context | open |
Fetch this section
curl -H "X-API-Key: $APPROACH_API_KEY" \ "https://api.approach.no/api/v1/addresses/285717643?include=grid_company" # paginated, one section at a time curl -H "X-API-Key: $APPROACH_API_KEY" \ "https://api.approach.no/api/v1/addresses/285717643/sections/grid_company?limit=25"
Try it now
This is a real call against the public demo, from here. What appears below is what the API returned — not a sample.