# Grundfast > Grundfast is a Danish property- and geodata API: the rock-solid compatibility layer over the > Datafordeler (Klimadatastyrelsen) registers. It re-exposes the convenient old `services.datafordeler.dk` shape > — translated code lists (kodelister), re-joined names, current-only data, WGS84 geometry, and > automatic pagination — on top of the new entity-based WFS + GraphQL backend that Klimadatastyrelsen is moving > everyone onto in 2026. One bearer token, a stable cached SLA-mirror over an upstream that runs at > ~90% uptime, and a typed TypeScript SDK. Thirteen registers are live today (all in production): BBR (buildings + units), Matriklen (cadastral parcels + ejerlav), Ejendomsvurdering (Vurderingsstyrelsen's public assessment series per BFE), DAR (addresses — by-UUID lookup + autocomplete), CVR (companies), DAGI (administrative geographies, and the reverse lookup that returns every subdivision covering one point), DHM (terrain and surface elevation, plus the measured height of each building on a property), Stednavne (place names), Jordforurening (områdeklassificering, § 50 a), Naturbeskyttelse (skovbyggelinjer, § 17), Byggelinjer (the other naturbeskyttelseslov lines plus § 3-protected nature on one coordinate), Plandata (zone, lokalplaner, delområder and kommuneplanrammer under the Planning Act) and Støjkortlægning (Miljøstyrelsen's strategic noise mapping: road, rail, airport and industry bands). Two derived layers sit on top of them: GeoDanmark building footprints joined to BBR, and Klimadatastyrelsen orthophoto tiles by vintage. On top of DAR sits a DAWA-compatible drop-in layer — address autocomplete down to floor and door (etage/dør), filtered address lists with cirkel/polygon spatial filters, srid 4326/25832 and GeoJSON output, datavask (address washing), reverse geocoding, coordinate→BFE (jordstykker), postnumre, vejnavne and ejerlav — so integrations pointed at DAWA (Danmarks Adressers Web API, which closed 1 October 2026 at 10:00 and now answers 410 Gone) can repoint one base URL and work again. Sold self-serve (Free tier, then Starter 99 / Pro 249 / Scale 599 DKK/mo) and as an annual Enterprise contract. Data originates from Datafordeler / Klimadatastyrelsen and is CC BY 4.0; Grundfast credits the source and sells the transformation, the stability, and the SLA on top of the open data. ## For agents - [Full reference (llms-full.txt)](https://grundfast.dk/llms-full.txt): every register, every documented endpoint with its parameters and errors, the plans and limits, every MCP tool with its arguments, and the full text of every guide — in one file, generated from source. - [MCP server card](https://grundfast.dk/.well-known/mcp/server-card.json): the MCP endpoint, transport, protocol version, bearer-key auth and tool list as JSON. - [Agent Skills index](https://grundfast.dk/.well-known/agent-skills/index.json): a skill describing how an agent should use Grundfast over MCP or REST. - [API catalog](https://grundfast.dk/.well-known/api-catalog): RFC 9727 linkset of the API descriptions and docs. - Any page as Markdown: send `Accept: text/markdown`, or append `?format=md` (e.g. https://grundfast.dk/docs/api?format=md). ## Product - [Grundfast homepage](https://grundfast.dk/): the whole property behind an address — every register behind one key, looked up on the same BFE number, with translated codes, WGS84 geometry and a live demo. - [Datafordeler alternative](https://grundfast.dk/datafordeler-alternativ): a drop-in Datafordeler alternative — swap one base URL, keep your old integration shape. - [services.datafordeler.dk replacement](https://grundfast.dk/services-datafordeler-dk-erstatning): what closes on the old WFS services and how Grundfast replaces it. - [Migration guide](https://grundfast.dk/migrering): the 2026 Datafordeler shutdown timeline and how to repoint in an afternoon — keep translated codes, joins, WGS84, current-only. - [Pricing](https://grundfast.dk/priser): Free / Starter / Pro / Scale tiers + the annual Enterprise contract. - [BBR API](https://grundfast.dk/bbr-api): one call on a BFE number returns the whole property — buildings, units, translated kodelister, materials, heating. - [Matrikel API](https://grundfast.dk/matrikel-api): cadastral parcels (jordstykker) + ejerlav names, joined and reprojected to WGS84. - [Ejendomsvurdering API](https://grundfast.dk/ejendomsvurdering-api): Vurderingsstyrelsen's public property assessment per BFE — ejendomsværdi, grundværdi and the whole year series. One BFE can hold two vurderingsejendomme, and one year two assessments; both are in the answer rather than averaged away. - [Address (DAR) API](https://grundfast.dk/adresse-api): Danish addresses from the DAR register by UUID, with a one-call bridge to the property (BFE). - [CVR API](https://grundfast.dk/cvr-api): Danish companies by CVR number — name, status, form, industry and location with translated municipality/region names. - [DAGI API](https://grundfast.dk/dagi-api): administrative geographies (municipalities, regions, postal districts) as clean GeoJSON. - [DHM API](https://grundfast.dk/dhm-api): terrain and surface elevation (DTM/DSM) at a coordinate, WGS84 in, over Datafordeler/Dataforsyningen. - [Bygningspolygoner API (GeoDanmark)](https://grundfast.dk/bygningspolygoner-api): the building footprint of every building on a property, joined to its BBR record — the outline the 2D plan and the 3D massing are drawn from. - [Bygningssøgning](https://grundfast.dk/bygningssoegning): every standing building in a kommune or postnummer that matches BBR facts — use, construction year, heating, roof and wall material, registered asbestos, area and an oil tank in use — with the exact count, a map and the `GET /v1/bbr/bygninger/soeg` call that returns the list (address, BFE, codes translated). - [Historik API](https://grundfast.dk/historik-api): bitemporal history — every register read as of a past date with `?asOf=`, plus the per-building registration timeline for BBR, DAR and Matriklen. - [Ortofoto / Luftfoto API](https://grundfast.dk/luftfoto-api): Klimadatastyrelsen aerial imagery as standard web-mercator XYZ tiles (JPEG, EPSG:3857; 256×256, or 512×512 for the same ground with `?dpr=2`) — drop-in for Leaflet/MapLibre — in any published vintage, plus a built-in Kort/2D/3D situationsplan view on the property page. Orientation backdrop only, not målfast. - [Stednavne API](https://grundfast.dk/stednavne-api): official Danish place names near a coordinate (reverse geocoding across seven categories, nearest first). - [Områdeklassificering API (§ 50 a)](https://grundfast.dk/omraadeklassificering-api): is a coordinate inside the municipality's områdeklassificering under jordforureningslovens § 50 a — and is it in an analysis-free sub-area? A `false` is measured, never a fault in disguise. - [Kortlagt jordforurening API (V1/V2)](https://grundfast.dk/docs/api/jord-kortlaegning): is a coordinate — or a whole parcel (ejerlavskode + matrikelnummer) — on land the regions have mapped as possibly (V1) or documented (V2) contaminated under jordforureningsloven? With the lokalitet, the region, the official jordforureningsattest per matrikel, and on a parcel the measured share each mapped area covers. A `false` is measured, never a fault in disguise. - [Skovbyggelinje API (§ 17)](https://grundfast.dk/skovbyggelinje-api): is a coordinate inside a registered skovbyggelinje (the 300 m building line around forest) — or has the line been lifted there? The source layer holds both, in two columns that disagree. - [Byggelinje API (§ 8, § 15–19 + § 3)](https://grundfast.dk/byggelinjer-api): ten Danish building- and protection lines on one coordinate in one call — strandbeskyttelse (naturbeskyttelsesloven § 15) and klitfredning (§ 8), sø and å (§ 16), skov (§ 17), fortidsminde (§ 18), kirke (§ 19), § 3-protected nature and watercourses, and protected stone/earth dikes (museumsloven § 29 a) — each with a signed distance to the nearest edge (negative inside, positive outside). Reports the line, never a verdict on a project. - [Plandata API (planloven)](https://grundfast.dk/plandata-api): zone (byzone, sommerhusområde, or landzone — derived, since the zonekort only maps the first two), the lokalplaner, delområder and kommuneplanrammer covering a coordinate or a BFE, each with its register status (vedtaget, forslag, aflyst), plan PDF, bebyggelsesprocent, max storeys and height. The BFE variant adds an indicative restbyggeret computed from Matriklen + BBR, with every input echoed and refused where the plan's basis does not allow it. Source: Plandata.dk (Erhvervsstyrelsen). A fault is a 502, never "no plan". - [Støj API (noise mapping)](https://grundfast.dk/stoej-api): road, rail, airport and industry noise at a coordinate from Miljøstyrelsen's strategic noise mapping (EU Environmental Noise Directive) — the highest Lden and Lnight band per source in EU 5 dB classes, every mapped layer the point falls in (1.5 m and 4 m), and the mapping year (2017, the round Miljøstyrelsen publishes as a queryable service). A null band means "not mapped at or above 55 dB Lden / 50 dB Lnight here", never "quiet"; a fault is a 502. - [DAWA alternative](https://grundfast.dk/dawa-alternativ): a DAWA-style address/geodata API that survives the Datafordeler migration. - [DAWA lukket — fix your integration](https://grundfast.dk/dawa-lukket): what a broken DAWA integration looks like after 1 October 2026, the base-URL swap, and an endpoint-by-endpoint map of what is compatible and what is not. - [DAWA lukker 2026](https://grundfast.dk/dawa-lukker-2026): what the 1 October 2026 DAWA shutdown (moved from 17 August) breaks and the live Grundfast endpoint for each surface. - [Datavask API](https://grundfast.dk/datavask-api): wash a dirty address string against DAR — ranked candidates with A/B/C confidence bands (DAWA datavask drop-in). - [Address autocomplete API](https://grundfast.dk/adresse-autocomplete-api): fuzzy + prefix address search over the DAR index (DAWA autocomplete drop-in). - [Reverse geocoding & BFE API](https://grundfast.dk/reverse-geocoding-api): coordinate → nearest address, and coordinate → cadastral parcel with BFE number. - [Postnummer API](https://grundfast.dk/postnummer-api): Danish postal codes — list, lookup and autocomplete (DAWA postnumre drop-in). - [Vejnavne API](https://grundfast.dk/vejnavne-api): Danish street names — list and autocomplete from the DAR corpus (DAWA vejnavne drop-in). - [Ejerlav API](https://grundfast.dk/ejerlav-api): cadastral districts (ejerlav) — code lookup, list and autocomplete from Matriklen. - [Databerigelse](https://grundfast.dk/databerigelse): enriching an existing address or property list against every register in one pass — what each register adds and what it costs. - [Address field in checkout](https://grundfast.dk/adressefelt-i-checkout): how to put a validated Danish address field in a checkout, framework-agnostic. - [WooCommerce address autocomplete](https://grundfast.dk/woocommerce-adresse-autocomplete): dropping DAR-backed address autocomplete into a WooCommerce checkout. - [Shopify address autocomplete](https://grundfast.dk/shopify-adresse-autocomplete): dropping DAR-backed address autocomplete into a Shopify checkout. - [Kommunekoder](https://grundfast.dk/kommunekoder): the full list of Danish municipality codes and names, as a reference table. - [Ejerlavskoder](https://grundfast.dk/ejerlavskoder): the full list of ejerlav (cadastral district) codes and names, as a reference table. - [BBR anvendelseskoder](https://grundfast.dk/bbr-anvendelseskoder): every BBR use code for buildings and units, with meaning — generated from the tables the API translates with. Siblings for roof material (https://grundfast.dk/bbr-tagdaekningskoder), wall material (https://grundfast.dk/bbr-ydervaegskoder) and heating (https://grundfast.dk/bbr-varmeinstallationskoder). - [MCP server](https://grundfast.dk/mcp-server): a Model Context Protocol endpoint (POST /mcp) so AI agents can query every register with a gf_ key — twenty-eight typed tools, metered like REST. Published in the official MCP registry as `dk.grundfast/danish-address-property-data` (streamable-http, bearer auth). - [Ejendomsdata per kommune](https://grundfast.dk/ejendomsdata): property- and geodata for all 98 Danish municipalities (plus Christiansø) via one API, one page per kommune. - [Status](https://grundfast.dk/status): live API health and the upstream SLA-mirror state. ## Solutions - [Solutions overview](https://grundfast.dk/loesninger): property data organised by the job it is used for, each shown on a real property. - [Environmental and geotechnical consulting](https://grundfast.dk/loesninger/miljoe-og-geoteknik): the desk study before an asbestos/PCB screening or soil investigation — construction and extension years against the risk periods, facade and roof materials, § 50 a soil classification, building lines, terrain and aerial photos. - [Miljøscreening API](https://grundfast.dk/docs/api/miljoe-screening): a register-based environmental pre-screening of every building on a BFE before renovation or demolition — asbestos, PCB, lead, PAH/tar, chlorinated paraffins and heavy metals per building part (roof, facade, windows/joints, floors, interior walls, installations, wet rooms, foundation), derived from the Danish EPA's building atlas (Miljøprojekt nr. 2269) with the reasons and rule ids; plus the ground (V1/V2, områdeklassificering, oil tanks), demolition constraints and an indicative waste estimate against the 1-ton threshold. Also as a PDF report and a batch. Missing input is "ikke_vurderet", never "low". Not a statutory miljø- og ressourcekortlægning. - [Due diligence and investment](https://grundfast.dk/loesninger/due-diligence): screening a property or a portfolio — BBR, cadastre, the full assessment series, CVR, point-in-time history and batch/export. - [Property development and building rights](https://grundfast.dk/loesninger/projektudvikling): plot, footprints, measured building heights, terrain and all ten building lines with signed distances on one address. - [Proptech and housing platforms](https://grundfast.dk/loesninger/proptech): capture the address right with autocomplete and address washing, then show the whole home in the product. - [Insurance and risk](https://grundfast.dk/loesninger/forsikring): the building and the ground behind a policy — use, age, roof and wall material, heating, listing, terrain elevation and building lines — as inputs to the insurer's own model (no flood, claims or score data). ## Documentation - [Docs home](https://grundfast.dk/docs): getting started, authentication with a `gf_live_` bearer token, endpoint overview. - [BBR docs](https://grundfast.dk/docs/bbr): the ejendom rollup shape, field-by-field, with translated code lists. - [API reference](https://grundfast.dk/docs/api): the OpenAPI 3.1 reference for every `/v1` endpoint. - [SDK reference](https://grundfast.dk/docs/sdk): the typed TypeScript SDK methods, per register (live on npm: `npm i @grundfast/sdk`, ESM + CJS, zero runtime deps). - [Webhooks](https://grundfast.dk/docs/webhooks): registering endpoints, the event catalog, payload schema, HMAC-SHA256 signature verification, and retry behavior. - [Coordinate systems](https://grundfast.dk/docs/koordinater): WGS84 vs ETRS89 / UTM zone 32N (EPSG:25832), how the API takes and returns points, and computing in metres. - [Guides](https://grundfast.dk/guides): task guides with working cURL, TypeScript and Python — floor area and build year, BBR units for an address, parcel and ejerlav, police/court district and parish, postcode vs municipality, CVR to property, enriching a property in one call, saving calls, insurance risk screening. - [Begreber](https://grundfast.dk/begreber): a Danish glossary of property-register terms (BFE, SFE, jordstykke, adgangsadresse, byggelinje, grundværdi, DVR90, bitemporality …), each linked to the endpoint that returns it. ## English The site is Danish; these are the English pages for the same product. Each is one half of an hreflang pair whose Danish original is canonical for Danish-language queries. - [Overview (English)](https://grundfast.dk/en): what Grundfast serves — the registers, the BFE key, the SLA mirror. - [DAWA replacement (English)](https://grundfast.dk/en/dawa-replacement): every DAWA surface mapped to a live /v1 endpoint, with the shutdown date and its primary sources. - [Datafordeler alternative (English)](https://grundfast.dk/en/datafordeler-alternative): the six things about the upstream API that Grundfast absorbs. - [Property data API (English)](https://grundfast.dk/en/property-data-api): BBR buildings and units, land and cadastral parcels on one BFE lookup. - [Address API (English)](https://grundfast.dk/en/address-api): autocomplete, UUID lookup, address washing, reverse geocoding, postal codes and street names from DAR. - [MCP server (English)](https://grundfast.dk/en/mcp-server): the twenty-eight MCP tools, how to connect, and why it is read-only. - [Pricing (English)](https://grundfast.dk/en/pricing): the metered per-call plans and what counts as a call. ## Company - [About](https://grundfast.dk/om): what Grundfast is, why it exists, and how the SLA-mirror over Datafordeler's open data works. - [Contact](https://grundfast.dk/kontakt): how to reach Grundfast for migration help, the Enterprise contract, and support. - [Changelog](https://grundfast.dk/changelog): reverse-chronological log of shipped capabilities + the versioning policy. ## Legal - [Terms of service](https://grundfast.dk/handelsbetingelser) - [Privacy policy](https://grundfast.dk/privatlivspolitik) - [Data processing agreement](https://grundfast.dk/databehandleraftale) - [Cookie policy](https://grundfast.dk/cookies)