BBR

Find properties — search buildings by BBR attributes

Filter every address with an active building by area and BBR attributes. Rebuilt every night. The same search as danskadresseapi.dk/find-properties. Requires the Pro plan or higher.

GET/v1/bbr/soegPro

Authentication

Authorizationstringheaderrequired

Your API key as a Bearer token.

Parameters

kommunestringquery

Municipality code (four digits). Municipality, postal code or bbox is required; several may be given.

postnrstringquery

Postal code (four digits). Municipality, postal code or bbox is required; several may be given.

bboxstringquery

Map extent in WGS84 as minLon,minLat,maxLon,maxLat (e.g. 12.50,55.65,12.62,55.72). Counts as an area like municipality and postal code. At most 1×1 degree; larger extents are rejected with the error code bbox_for_stor.

anvendelsestringquery

The building's use, grouped from the BBR usage code. bolig = all residential groups (parcelhus, raekkehus, etagebolig, sommerhus, stuehus) combined.

Allowed values:boligparcelhusraekkehusetageboligsommerhusstuehuserhverv
opvarmningstringquery

Heating, grouped from the BBR heating installation and heating fuel. oliefyr = liquid fuel (oil).

Allowed values:oliefyrvarmepumpefjernvarmeelgas
tagstringquery

Roofing material, grouped. fibercement covers both with and without asbestos.

Allowed values:fibercementteglbetontagstentagpapmetalstraatag
asbeststringquery

ja = only buildings with asbestos (asbestos-containing material 1–4 or a fibre-cement roof including asbestos).

aar_fraintegerquery

Built in or after this year.

1500–2100
Show all 33 parametersShow fewer
aar_tilintegerquery

Built in or before this year.

1500–2100
areal_fraintegerquery

Living area from (m²). The building area is used if the living area is missing.

0–100000
areal_tilintegerquery

Living area to (m²).

0–100000
anlaegstringquery

Technical installations on the building or plot. olietank = active, not decommissioned. alle = at least one of the three installations.

Allowed values:alleolietanksolcellerjordvarme
paabudstringquery

spildevand = only plots with a current wastewater discharge order.

vaerdi_fraintegerquery

Property value from (DKK) in the latest public valuation on the property's BFE number.

0–100000000000
vaerdi_tilintegerquery

Property value to (DKK).

0–100000000000
grundvaerdi_fraintegerquery

Land value from (DKK) in the same valuation as the property value.

0–100000000000
grundvaerdi_tilintegerquery

Land value to (DKK).

0–100000000000
jordforureningstringquery

The regions' mapping of soil contamination on the address's cadastral parcel: v1 (possible contamination), v2 (confirmed contamination; parcels with both V1 and V2 count as v2), ingen = not mapped.

Allowed values:v1v2ingen
fredningstringquery

fredet = a listed building at the address (the Danish Agency for Culture and Palaces' register of listed buildings). bevaring-hoej / bevaring-middel = listed building with SAVE preservation value 1–3 / 4–6. The register does not cover buildings worthy of preservation that are not listed.

Allowed values:fredetbevaring-hoejbevaring-middel
stoejstringquery

Road traffic noise (Lden, dB) from the Danish EPA's noise mapping, measured at the lower bound of the noise band: over-58 = at least 58 dB (the guideline limit for dwellings; in practice bands from 60 dB), over-68 = at least 68 dB (severely noise-affected; bands from 70 dB).

Allowed values:over-58over-68
tvangsauktionstringquery

ja = only addresses with a scheduled forced sale that has not yet taken place (Statstidende).

etager_fraintegerquery

The building's number of floors, from and including (BBR).

0–1000
etager_tilintegerquery

Number of floors, to and including.

0–1000
ombygget_fraintegerquery

Year of renovation from and including (BBR; only buildings with a registered renovation year).

1500–2100
ombygget_tilintegerquery

Year of renovation to and including.

1500–2100
ydervaegstringquery

Exterior wall material, grouped from the BBR code. fibercement covers both with and without asbestos; andet = plastic, glass, none and other material.

Allowed values:murstenletbetonfibercementbindingsvaerktraebetonmetalandet
grund_fraintegerquery

Plot area from (m²) — the parcel's registered area in the Cadastre.

0–100000000
grund_tilintegerquery

Plot area to (m²).

0–100000000
vaerelser_fraintegerquery

Number of rooms from and including — the most rooms among the address's active BBR units (a detached house has one).

0–1000
vaerelser_tilintegerquery

Number of rooms to and including.

0–1000
badstringquery

mangler = at least one active dwelling unit at the address without a bathroom in the unit (BBR bathroom code C or D).

sideintegerquery

Page number, from 1.

default: 11–10000
per_sideintegerquery

Results per page (at most 100).

default: 251–100

Request

curl --request GET \
  --url "https://api.danskadresseapi.dk/v1/bbr/soeg" \
  --header "Authorization: Bearer $API_KEY"
Try it
GET https://api.danskadresseapi.dk/v1/bbr/soeg

Response

application/json

Count and one page of results

sideinteger
antalinteger

Every address matching the search (not just this page).

querystring

The search's canonical parameters — the same as on danskadresseapi.dk/find-properties.

per_sideinteger
opdateretstring<date-time>

When the search table was last built (every night).

resultaterobject[]
Show child attributes(31)
resultater.latnumber | null

Latitude of the access point (WGS84); null if the address has no access point.

resultater.lonnumber | null

Longitude of the access point (WGS84).

resultater.asbestboolean
resultater.etagerinteger | null

The building's number of floors (BBR).

resultater.fredetboolean

A listed building at the address.

resultater.postnrstring
resultater.adressestring

E.g. «Virkelyst 12, 9400 Nørresundby».

resultater.olietankboolean

Active, not decommissioned tank on the building or plot.

resultater.jordvarmeboolean
resultater.solcellerboolean
resultater.taggruppeenum<string> | null
Allowed values:fibercementteglbetontagstentagpapmetalstraatag
resultater.vaerelserinteger | null

The most rooms among the address's active BBR units.

resultater.anvendelsestring | null

BBR usage code.

resultater.boligarealinteger | null

The building's total living area (m²); the building area if the living area is missing.

resultater.grundarealinteger | null

The parcel's registered area (m²).

resultater.stoej_ldeninteger | null

Road noise: lower bound of the address's noise band (Lden, dB: 55, 60, 65, 70 or 75); null = outside the noise mapping.

resultater.bad_manglerboolean

At least one active dwelling unit without a bathroom in the unit.

resultater.grundvaerdiinteger | null

Land value (DKK) in the same valuation.

resultater.kommunekodestring
resultater.varmegruppeenum<string> | null
Allowed values:oliefyrvarmepumpefjernvarmeelgas
resultater.ombygningsaarinteger | null

The building's year of renovation (BBR); null = none registered.

resultater.tvangsauktionboolean

Scheduled forced sale that has not yet taken place.

resultater.vurderingsaarinteger | null

The valuation year of the property and land values.

resultater.ejendomsvaerdiinteger | null

Property value (DKK) in the latest public valuation on the property's BFE number; null = no valuation.

resultater.jordforureningenum<string> | null

V1 or V2 when the parcel is mapped (both → V2); null = not mapped.

Allowed values:V1V2
resultater.opfoerelsesaarinteger | null
resultater.ydervaeggruppeenum<string> | null
Allowed values:murstenletbetonfibercementbindingsvaerktraebetonmetalandet
resultater.bevaringsvaerdiinteger | null

Best SAVE preservation value (1 = highest, 9 = lowest) among the address's listed buildings; null = not assessed or not listed.

resultater.adgangsadresse_idstring<uuid>
resultater.anvendelsesgruppeenum<string> | null
Allowed values:parcelhusraekkehusetageboligsommerhusstuehuserhverv
resultater.paabud_spildevandstring | null

BBR code 2–7 for a current wastewater order, otherwise null.

200Eksempel
{
  "side": 0,
  "antal": 0,
  "query": "…",
  "per_side": 0,
  "opdateret": "2026-09-20T10:00:00.000Z",
  "resultater": [
    {
      "lat": 0,
      "lon": 0,
      "asbest": false,
      "etager": 0,
      "fredet": false,
      "postnr": "…",
      "adresse": "…",
      "olietank": false,
      "jordvarme": false,
      "solceller": false,
      "taggruppe": "fibercement",
      "vaerelser": 0
    }
  ]
}
401Missing key
{
  "error": {
    "code": "unauthorized",
    "message": "Missing or invalid API key."
  }
}