File format for jobs
This is exactly what the file for a job should look like. The rules are the same whether you upload in the dashboard or send the file to POST /v1/jobs. Under New job in the dashboard you can also click See file format and download an example file for each type.
The job reads the whole file before it starts. If even one row is invalid, the job is not created and you are told the line number — see input_ugyldigt.
Common rules
| Rule | How |
|---|---|
| Formats | CSV, TSV (tab), NDJSON (one JSON value per line) and — via the API only — JSON |
| Header | The first line of a CSV/TSV file must be the column names. Upper/lower case doesn't matter |
| Delimiter | Comma or semicolon is detected from the header. Tab: save the file as .tsv |
| Encoding | UTF-8, with or without BOM. Save from Excel as «CSV UTF-8» so æ, ø and å come through correctly |
| Decimal separator | Point or comma (55.6761 or 55,6761). If you use comma, use semicolon as the delimiter |
| Quotes | Fields containing the delimiter must be in "…" (as Excel does it) |
| Other columns | Ignored and not included in the result — match the rows via idx |
| Empty lines | Skipped |
Remember the header. Without a header, the first data row is either read as the header (and is missing from the result), or the file is rejected because a required column is missing.
Row numbers: idx in the result is the row's position among the data rows, starting from 0 (0 = the first row below the header). Error messages at creation use line numbers in the file, where the header is line 1.
reverse
Reverse geocoding: coordinates → the nearest addresses.
| Column | Also | Required | Value |
|---|---|---|---|
lat | latitude, y | yes | Latitude (WGS84), 54–58 |
lon | lng, longitude, x | yes | Longitude (WGS84), 7–16 |
radius | – | no | Search radius in metres, whole number 1–5000. Default 100 |
limit | – | no | At most this many addresses per point, 1–50. Default 5 |
lat,lon,radius
55.6761,12.5683,50
56.1503,10.2039,
55.3959,10.3883,
57.0488,9.9217,250The same as NDJSON:
{"lat":55.6761,"lon":12.5683,"radius":50}
{"lat":56.1503,"lon":10.2039}datavask
Address cleansing: addresses as text → the correct address, typos included. Choose the variant unit addresses (adresser, with floor and door) or access addresses (adgangsadresser, house number only).
| Column | Also | Required | Value |
|---|---|---|---|
betegnelse | adresse, address, adressebetegnelse | yes | The address as text, 3–2000 characters, with street name, house number and postal code |
Typos in the street name and town are fine — cleansing corrects them. But without a four-digit postal code the row can't be parsed (see ikke_tolket).
One column: If the file has only one column (no comma, semicolon or tab in the header), every line below the header is one address — commas in the address need no quotes. The column can be called anything.
adresse
Vesterbrogade 12, 3. th, 1620 København V
Nørrebrogade 20, 2. tv, 2200 København N
Vestergde 2, 8000 Århus C
Rådhuspladsen 1, 1550 København VSeveral columns: The column adresse (or one of the names above) is used, the rest are ignored:
kundenr;adresse
1001;Rådhuspladsen 1, 1550 København V
1002;Banegårdspladsen 1, 8000 Aarhus CNDJSON: one address per line as a JSON string — or as an object with betegnelse:
"Rådhuspladsen 1, 1550 København V"
{"betegnelse":"Boulevarden 13, 9000 Aalborg"}bbr
BBR lookup from the BBR object's id (id_lokalid, a UUID). Choose the variant buildings (bygninger) or units (enheder) — the ids must match the variant.
| Column | Also | Required | Value |
|---|---|---|---|
id | id_lokalid, bygning_id, enhed_id, uuid | yes | BBR id (UUID) |
If the file has only one column, it is used whatever it is called.
sagsnr,bygning_id
S-2041,57a791c4-25b0-4e57-8143-aa5b08efec51
S-2042,6c16b07d-acb1-414e-9d24-443340fe382eNDJSON:
"e71e2419-fca7-4b73-b178-9cafaa1995fd"
{"id":"ffed9944-62a8-4385-8495-9f1467ef9d7c"}dagi
DAGI lookup: coordinates or postal codes → municipality, region, parish, police district, court district, constituency and more.
| Column | Also | Required | Value |
|---|---|---|---|
lat | latitude, y | lat + lon or postnr | Latitude (WGS84), 54–58 |
lon | lng, longitude, x | lat + lon or postnr | Longitude (WGS84), 7–16 |
postnr | postnummer | lat + lon or postnr | Four-digit postal code |
Each row must have lat and lon or postnr — both kinds of rows can be in the same file. Danish Excel with semicolon and decimal comma works:
lat;lon
55,6761;12,5683
56,1503;10,2039postnr
8000
2100
800In CSV a missing leading zero is added (800 is read as 0800, as Excel often shows it). In NDJSON and JSON postnr must be text with four digits:
{"lat":55.6761,"lon":12.5683}
{"postnr":"0800"}JSON (via the API only)
Via the API you can also send the elements directly in a JSON body — the same elements as the NDJSON lines above:
{
"type": "datavask",
"variant": "adresser",
"navn": "customers-october",
"input": [
"Vesterbrogade 12, 3. th, 1620 København V",
"Nørrebrogade 20, 2. tv, 2200 København N"
]
}See Jobs via the API for all the ways to send the file.
Export from Find properties
An export has no file — it uses the filters from your search in Find properties. Click Export CSV or JSONL on the Export tab. The columns are the same as in the property search.
