Skip to content

File format for jobs

5 min read

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

RuleHow
FormatsCSV, TSV (tab), NDJSON (one JSON value per line) and — via the API only — JSON
HeaderThe first line of a CSV/TSV file must be the column names. Upper/lower case doesn't matter
DelimiterComma or semicolon is detected from the header. Tab: save the file as .tsv
EncodingUTF-8, with or without BOM. Save from Excel as «CSV UTF-8» so æ, ø and å come through correctly
Decimal separatorPoint or comma (55.6761 or 55,6761). If you use comma, use semicolon as the delimiter
QuotesFields containing the delimiter must be in "…" (as Excel does it)
Other columnsIgnored and not included in the result — match the rows via idx
Empty linesSkipped

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.

ColumnAlsoRequiredValue
latlatitude, yyesLatitude (WGS84), 54–58
lonlng, longitude, xyesLongitude (WGS84), 7–16
radius–noSearch radius in metres, whole number 1–5000. Default 100
limit–noAt most this many addresses per point, 1–50. Default 5
CSV
lat,lon,radius
55.6761,12.5683,50
56.1503,10.2039,
55.3959,10.3883,
57.0488,9.9217,250

The same as NDJSON:

JSON
{"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).

ColumnAlsoRequiredValue
betegnelseadresse, address, adressebetegnelseyesThe 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.

CSV
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 V

Several columns: The column adresse (or one of the names above) is used, the rest are ignored:

CSV
kundenr;adresse
1001;Rådhuspladsen 1, 1550 København V
1002;Banegårdspladsen 1, 8000 Aarhus C

NDJSON: one address per line as a JSON string — or as an object with betegnelse:

JSON
"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.

ColumnAlsoRequiredValue
idid_lokalid, bygning_id, enhed_id, uuidyesBBR id (UUID)

If the file has only one column, it is used whatever it is called.

CSV
sagsnr,bygning_id
S-2041,57a791c4-25b0-4e57-8143-aa5b08efec51
S-2042,6c16b07d-acb1-414e-9d24-443340fe382e

NDJSON:

JSON
"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.

ColumnAlsoRequiredValue
latlatitude, ylat + lon or postnrLatitude (WGS84), 54–58
lonlng, longitude, xlat + lon or postnrLongitude (WGS84), 7–16
postnrpostnummerlat + lon or postnrFour-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:

CSV
lat;lon
55,6761;12,5683
56,1503;10,2039
CSV
postnr
8000
2100
800

In 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:

JSON
{"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:

JSON
{
  "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.

Was this helpful?