Spring til indhold

Paginering

De fleste endpoints returnerer ét objekt. De få, der returnerer lister, er enten sideinddelte med per_side og side eller returnerer de bedste hits til en søgning.

Sideinddelte lister

Registerlister sideinddeles med to query-parametre: per_side (antal pr. side) og side (1-indekseret). Svaret bærer antal (rækker på denne side) og total (rækker i hele listen), så du ved, hvornår du er færdig.

Endpointper_side standardper_side maks.Bemærk
GET /v1/ejerlav100100Sorteret efter ejerlavskode.
GET /v1/vejnavne100200Kan afgrænses med kommunekode.
GET /v1/postnumre——Ikke sideinddelt: hele listen i ét svar (antal = total).

En værdi over maksimum sættes ned til maksimum. En side efter den sidste giver en tom liste med antal: 0, ikke en fejl. Hver side er ét kald.

Svarets form
{
  antal: number,       // rækker på denne side
  total: number,       // rækker i hele listen
  vejnavne: string[],  // (ejerlav: ejerlav[])
  meta: { kilde, grundfast_version }
}

Hent alle sider

vejnavne.mjs
const headers = { Authorization: `Bearer ${process.env.GRUNDFAST_API_KEY}` };
const perSide = 200;
const vejnavne = [];

for (let side = 1; ; side++) {
  const url = `https://api.grundfast.dk/v1/vejnavne?kommunekode=0851&per_side=${perSide}&side=${side}`;
  const res = await fetch(url, { headers });
  if (!res.ok) throw new Error(`${res.status}: ${(await res.json()).error}`);

  const page = await res.json();
  vejnavne.push(...page.vejnavne);
  if (page.antal < perSide || vejnavne.length >= page.total) break;
}

console.log(vejnavne.length, 'vejnavne i Aalborg Kommune');

Med TypeScript-SDK’et er det samme gf.vejnavne(perSide, side, kommunekode) og gf.ejerlav(perSide, side).

Søgning og autocomplete

Søge-endpoints sideinddeles ikke. De returnerer de bedst rangerede hits op til et loft — til en søgeboks, ikke til at hente hele registret.

EndpointParameterStandardMaks.
GET /v1/adresse/searchper_side820
GET /v1/adgangsadresser/reverseper_side120
GET /v1/cvr/searchlimit (eller per_side)1020
GET /v1/autocomplete—2020
GET /v1/vejnavne/autocomplete, /v1/postnumre/autocomplete, /v1/ejerlav/autocomplete—2020

Autocomplete for vejnavne, postnumre og ejerlav bærer også antal og total; her er total størrelsen af hele listen, der blev søgt i, ikke antallet af mulige hits.

Mange ejendomme på én gang

Skal du slå mange kendte BFE-numre eller adresser op, så brug batch-endpoints eller eksport i stedet for løkker over enkeltkald.