Building search demo (no key): exact count + first page, or a group_by distribution

Bygningssøgning: every standing BBR building (status opført) that matches the filter — use, construction year, heating installation and fuel, roof and wall material, registered asbestos, floor areas, storeys, an oil tank, solar cells or ground source heat in use, afløb and spildevandspåbud — plus facts joined on from other registers: the property’s grundareal (Matriklen), kortlagt jordforurening (DKJord V1/V2), fredning and SAVE value (FBB) and the energimærke class (Grundfast’s energimærke corpus — partial coverage, so a class filter only finds labels the corpus holds). Served from a local national building index. The area is ONE of kommunekode, postnr or bbox (a WGS84 window of at most 1° each way); with none the search covers the whole country. Area searches are ordered by address, window and national searches by building id. antal is the exact count. Every plan gets the count and the first page (up to 100 buildings, JSON); later pages and the csv/jsonl/geojson formats need the plan named in the 402. Metered as one unit per started 1,000 rows of per_side. Filters combine with AND; list filters match ANY of their codes. With group_by (aarti, tag, anvendelse, kommune, varme, energimaerke) the same filter is answered as a distribution — one exact count per group from a single GROUP BY, JSON only, every plan, one unit, for any area including the whole country. A 503 with Retry-After means the index is not loaded, a filter needs the extended index that is not loaded yet, or the national search is momentarily busy.

get/v1/demo/bygninger/soeg

Request

  • Base URL: https://api.grundfast.dk
  • URL: https://api.grundfast.dk/v1/demo/bygninger/soeg
  • Auth: none required

Query parameters

kommunekodestring

Kommunekode, e.g. 0751. At most one of kommunekode, postnr and bbox.

postnrstring

Postnummer, e.g. 8000. At most one of kommunekode, postnr and bbox.

bboxstring

Map window minLon,minLat,maxLon,maxLat (WGS84), at most 1° each way, overlapping Denmark.

anvendelsestring

Comma-separated byg021 codes and/or groups: bolig, enfamiliehus, raekkehus, etagebolig, landbrug, industri, energi, handel_kontor, institution, sommerhus, fritid, udhus_garage.

opfoert_frainteger

Built in or after this year.

opfoert_tilinteger

Built in or before this year.

varmestring

byg056 varmeinstallation codes, comma-separated (e.g. 2,7).

opvarmningstring

byg057 opvarmningsmiddel codes (e.g. 3 = flydende brændsel).

tagstring

byg033 tagdækningsmateriale codes (e.g. 3 = fibercement herunder asbest).

ydervaegstring

byg032 ydervæggens materiale codes.

asbest'ja' | 'nej'

ja = byg036 registers asbestos (codes 1-4); nej = registered free of it (5).

areal_mininteger

Min samlet bygningsareal (m²).

areal_maxinteger

Max samlet bygningsareal (m²).

boligareal_mininteger

Min boligareal (m²).

boligareal_maxinteger

Max boligareal (m²).

olietank'ja' | 'nej' | 'true' | 'false'

ja/nej: an oil tank in use (not sløjfet) is registered on the plot.

etager_mininteger

Min antal etager (byg054).

etager_maxinteger

Max antal etager (byg054).

grundareal_mininteger

Min grundareal of the property (Matriklen, m²).

grundareal_maxinteger

Max grundareal of the property (Matriklen, m²).

energimaerkestring

Energimærke class letters A-G, comma-separated. Only labels in Grundfast’s corpus.

afloebstring

byg031/gru010 afløbsforhold codes (e.g. 20 = afløb til samletank).

spildevandspaabud'ja' | 'nej'

ja = a påbud om forbedret rensning or tilslutning (rensningspåbud 2-7); nej = "rensning ok" (1).

solceller'ja' | 'nej' | 'true' | 'false'

ja/nej: a solcelleanlæg in use on the grund or the building.

jordvarme'ja' | 'nej' | 'true' | 'false'

ja/nej: jordvarmeslanger in use on the grund or the building.

jordforurening'v1' | 'v2' | 'kortlagt' | 'nej'

v1 / v2 / kortlagt (either) / nej: kortlagt jordforurening on any of the property’s parcels.

fredet'ja' | 'nej' | 'true' | 'false'

ja/nej: the building is fredet (FBB).

bevaringsvaerdi_maxinteger

SAVE value at most this (1 = highest), e.g. 4.

per_sideinteger

Page size (default 100; max 1000 for json, 10000 for csv/jsonl/geojson).

group_by'aarti' | 'tag' | 'anvendelse' | 'kommune' | 'varme' | 'energimaerke'

Answer as a distribution (Bygningsgruppering) instead of a page: aarti = decade of opførelsesår (1960 = 1960–1969; unknown and the placeholder year 1000 are null), tag = byg033 tagdækningsmateriale, anvendelse = byg021, kommune = kommunekode, varme = byg056 varmeinstallation, energimaerke = class letter (null = no label in the corpus). JSON only; side/per_side are ignored.

Response

OK

OR

Changes

No recorded changes to this operation across all 1 revision of this API.