De fleste applikationer kalder et adresse-API ved runtime — brugeren taster, API'et svarer, færdig. Men nogle systemer har brug for alle danske adresser tilgængeligt lokalt: offline-apps, datavarehuse, højtydende pipelines der ikke har råd til round-trip-latens på hvert record. Det er hvad adresse-replikering er til. Denne guide forklarer hvordan DAWA's replikerings-protokol virker og hvordan du holder en lokal kopi synkroniseret efter DAWA lukker den 17. august 2026.
Adresse-replikering betyder at vedligeholde en lokal kopi af hele det danske adressedatasæt — alle 2,7 millioner adresser og 1,1 millioner adgangsadresser fra DAR — og holde den opdateret efterhånden som adresser oprettes, ændres og slettes.
DAWA leverede en replikerings-protokol baseret på en hændelsesstream: enhver ændring til en adresse i DAR producerer en nummereret hændelse. En subscriber holder styr på den sidst behandlede hændelse (sekvensnummeret) og henter med jævne mellemrum nye hændelser til at anvende på sin lokale kopi.
Danadresse eksponerer den samme replikerings-protokol, med de samme sekvensnumre fra DAR. Hvis du allerede har en DAWA-replikerings-subscriber, er migration en URL-ændring.
De fleste applikationer har ikke brug for replikering. Du har brug for det når:
Hvis du kun bygger adresse-autocomplete eller validerer en adresse ved checkout, har du ikke brug for replikering. Det hostede API håndterer det.
Replikerings-protokollen har to endpoints:
GET /replikering/senesteSekvensnummer
→ { "sekvensnummer": 987654 }
Kald dette for at finde det nyeste sekvensnummer. Brug det til at opdage om nye hændelser er tilgængelige (sammenlign med dit gemte "sidst behandlede" nummer).
GET /replikering/haendelser?sekvensnummerfra=12345&maxantal=1000
→ [
{ "sekvensnummer": 12345, "operation": "Update", "tidspunkt": "2026-06-01T14:32:00Z",
"entitet": "Adresse", "data": { "id": "0a3f50c8-...", "vejnavn": "..." } },
...
]
Hent hændelser startende fra et givent sekvensnummer. maxantal begrænser batchstørrelsen (maks 10.000). Hændelser har tre operationer: Insert, Update, Delete.
Entitetstyper inkluderer: Adresse, Adgangsadresse, Postnummer, Vejstykke, NavngivenVej, Kommune, Region, Sogn.
Ved første kørsel kan du ikke starte fra sekvensnummer 1 og genafspille alle hændelser nogensinde — der er hundredvis af millioner af historiske hændelser. Bootstrappes i stedet med et snapshot:
senesteSekvensnummer (kald det N)./adresser?format=csv&side=1&per_side=10000 — paginér igennem alle records).Dette sikrer at du ikke misser hændelser der ankommer under snapshot-download.
En minimal replikerings-subscriber i pseudokode:
last_seq = indlæs_fra_db("sidst_behandlet_sekvensnummer")
while True:
latest = GET /replikering/senesteSekvensnummer
if latest > last_seq:
hændelser = GET /replikering/haendelser
?sekvensnummerfra={last_seq + 1}
&maxantal=1000
for hændelse in hændelser:
anvend_hændelse(hændelse) # Insert/Update/Delete i lokal DB
last_seq = hændelse["sekvensnummer"]
gem_i_db("sidst_behandlet_sekvensnummer", last_seq)
vent(60) # poll hvert minut
Vigtigt: gem last_seq holdbart (database, ikke hukommelse) så en genstart ikke genafspiller hændelser eller misser dem.
Hvis du har en eksisterende DAWA-replikerings-subscriber, er migration ligetil:
https://api.dataforsyningen.dk → https://api.danadresse.dkX-Api-Key: dawa_live_…Ingen re-bootstrap, intet re-download af hele datasættet, ingen skemaændringer.
Danadresses replikerings-API er en del af Enterprise-niveauet. Det sikrer pålidelig infrastruktur (dedikeret kapacitet, SLA, prioriteret support) til de use cases der har brug for det — offline-systemer, datavarehuse og compliance-pipelines er forretningskritiske og fortjener garanteret tilgængelighed.
Hvis du i øjeblikket bruger DAWA-replikering i produktion, kontakt os for at diskutere en Enterprise-migration. Vi tilbyder onboarding-support til storskalerede replikerings-subscribers.
Gratis niveau: 1 000 kald/måned. Ingen kreditkort.
Start gratis → Migrationsvejledning →