Reverse geocoding API

# From a coordinate to the parcel, the address and the property

Send a point — a GPS fix, a click on a map, a measurement in the field — and get the parcel beneath it with its cadastre number and BFE property ID, or the nearest Danish addresses sorted by distance.

The calls

- [GET /v1/jordstykker/reverse](https://grundfast.dk/docs/api/jordstykker-reverse)
- [GET /v1/adgangsadresser/reverse](https://grundfast.dk/docs/api/adgangsadresser-reverse)

[Get started free](https://grundfast.dk/dashboard?mode=register) [Read the API reference](https://grundfast.dk/docs/api)

[Læs denne side på dansk](https://grundfast.dk/reverse-geocoding-api)

Try it

## A point in, the nearest addresses out

Pick a place or type any WGS84 point in Denmark. Note the BFE on each hit: the three addresses around Copenhagen City Hall are all entrances to one property.

1. 0 m Rådhuspladsen 1, 1550 København V BFE 6033528
2. 34 m Vester Voldgade 72, 1552 København V BFE 6033528
3. 34 m H.C. Andersens Boulevard 21A, 1553 København V BFE 6033528

`GET /v1/adgangsadresser/reverse` — here through its keyless demo, nearest three within 200 m.

A coordinate alone does not say whose property it is. The parcel lookup finds the piece of land under the point and hands you the **BFE number** — the key to the buildings in [BBR](https://grundfast.dk/en/bbr-api), the [cadastre](https://grundfast.dk/en/cadastre-api) and the valuation. Coordinate to property is two calls.

The address lookup is for “use my location” and for points with no address on the land itself: it returns the nearest entrances with `afstand_m`, the distance in metres.

The answer

## The point, the parcel and the key to the property

The parcel under Copenhagen City Hall. Danish field names, glossed: `matrikelnummer` is the parcel number, `ejerlav` the cadastral district it is numbered within, and `dagi` the municipality and region.

GET /v1/jordstykker/reverse?lon=12.5695777&lat=55.6756275 json

```
{
  "bfe_nummer": 6033528,
  "kommunekode": "0101",
  "matrikelnummer": "162",
  "ejerlavskode": 2000179,
  "ejerlavsnavn": "Vestervold Kvarter, København",
  "jordstykke": {
    "matrikelnummer": "162",
    "areal_m2": 16195,
    "geometri": { "type": "Polygon", "coordinates": [ … ] }
  },
  "dagi": {
    "kommune": { "kode": "0101", "navn": "København" },
    "region": { "kode": "1084", "navn": "Region Hovedstaden" }
  },
  "koordinat": { "lon": 12.5695777, "lat": 55.6756275 }
}
```

Call it

## One point, two questions

Which parcel is the point on, and which addresses are nearest? Same point, same key, two calls.

```
import { GrundfastClient } from '@grundfast/sdk';

const gf = new GrundfastClient({ apiKey: 'gf_live_…' });

// The parcel under the point — cadastre number and BFE
const parcel = await gf.jordstykkeReverse(12.5695777, 55.6756275);

// The three nearest addresses within 200 m, nearest first
const { adresser } = await gf.adgangsadresseReverse(12.5695777, 55.6756275, { perSide: 3 });
```

npm i @grundfast/sdk

| Parameter | Description |
| --- | --- |
| lon · lat | The point in WGS84. DAWA-style x and y work too. |
| radius | Address reverse only: search radius in metres, default 200, at most 1,000. |
| per_side | Address reverse only: number of addresses, default 1, at most 20. |

**GET/v1/jordstykker/reverse?lon=&lat=**

Point → parcel and property The parcel the point lies on, with parcel number, cadastral district, area, geometry and BFE number.

**GET/v1/adgangsadresser/reverse?lon=&lat=**

Point → nearest addresses Addresses nearest the point, each with afstand_m (distance in metres) and its BFE.

FAQ

## Questions about reverse geocoding

### What is the difference between parcel reverse and address reverse?

`/v1/jordstykker/reverse` answers with the parcel the point lies on — cadastre number, district and BFE number. `/v1/adgangsadresser/reverse` answers with the addresses nearest the point, with afstand_m for each. A point in the middle of a field has a parcel but perhaps no address within 200 metres.

### How do I get the BFE number for a coordinate?

Call `/v1/jordstykker/reverse` with lon and lat. The answer is the parcel under the point with bfe_nummer — the national ID of the property — and with that number the same key fetches the buildings from BBR, the whole cadastre entry and the public valuation.

### Which coordinates can I send?

WGS84 longitude and latitude — what a phone, a web map or a GPS gives you. Clients that send DAWA-style x and y work too. Points outside Denmark are rejected with a 400.

### What if the point is in the water?

Then there is no parcel, and `/v1/jordstykker/reverse` answers 404. `/v1/adgangsadresser/reverse` can still find addresses on land within the radius — raise radius to as much as 1,000 metres.

### How precise is the distance?

afstand_m is the straight line in metres between the point and the address’s entrance point, rounded to whole metres. It is not a route along roads.

### What does a reverse lookup cost?

One point is one call. The Free plan includes 5,000 calls a month and Starter 100,000, and the key is the same one that reads the rest of the registers.

See also

- [Cadastre API](https://grundfast.dk/en/cadastre-api)
- [Danish address API](https://grundfast.dk/en/address-api)
- [Property data API](https://grundfast.dk/en/property-data-api)
- [Pricing](https://grundfast.dk/en/pricing)

## Look up your first point

Create a free key and make your first call in a minute. Build against a `gf_test_` key that is never billed, and upgrade when the traffic is real.

[Get started free](https://grundfast.dk/dashboard?mode=register) [Read the API reference](https://grundfast.dk/docs/api)

Free up to 5,000 calls a month · no card · test keys never billed · data from Klimadatastyrelsen / Datafordeler, CC BY 4.0
