Skip to content
Developers

Importing addresses from files

Load a file of addresses into a country's registry from the console: map its columns, check every row, then publish.

Base URLhttps://makani-vol.lamah.com

How it works

Imports run from Imports in the console and need the import permission. There is no API-key endpoint for them: the file goes from your browser straight to storage, is processed in the background and is published only when you say so.

Prepare the file

Download the country's template from the Imports screen: it has the country's address fields, an optional public_code and source_record_id, and latitude and longitude, with two example rows.

  • Formats: CSV or TSV, NDJSON and GeoJSON.
  • Encodings: UTF-8, with or without a byte order mark, and Windows-1256.
  • Size: up to 2 GiB per file. A large upload resumes where it stopped.

Map the columns

The screen reads the start of the file, detects its format and suggests which column feeds each address field, matching Arabic and English column names. A field can also take a fixed value or a template built from several columns. Coordinates come from two columns, a WKT point column or the GeoJSON geometry.

The preview shows the first 20 rows as they will be stored, with their errors. A mapping can be saved as a preset for the next file from the same source.

Check the rows

Starting the import checks every row against the country's rules and stages the valid ones. You see progress as it runs, and a failed run resumes from its last saved point. A dry run checks the whole file without staging anything.

Rejected rows are written to a CSV report with the row number, the original columns and the reason. Rows that repeat an earlier row or an address already in the registry are counted as duplicates.

Publish

Publishing writes the staged rows to the registry and skips addresses that already exist. From then on they are found by search, lookup and reverse lookup. An import that published nothing can be deleted with its file.