Batch geocode a CSV file

You have a spreadsheet of addresses and need latitude and longitude for each. Addrova's batch endpoint takes the file, geocodes every row and returns the same file with coordinates, a confidence score and the sources used. A browser upload tool is planned; today the batch is an API call. [À VÉRIFIER : disponibilité de l'outil web de géocodage CSV, limites sans compte, gratuité.]

What you need

  • An API key. [À VÉRIFIER : ouverture du service et délivrance des clés.]
  • A UTF-8 CSV with a header row, separated by , ; tab or |, or a JSON Lines file. Defaults: up to 50 MB and 100,000 rows (configurable).
  • One column with the full address, or separate columns for street, postcode and city.

Step by step

# 1. submit the file
curl -s https://api.addrova.eu/v1/batch \
  -H "X-API-Key: $ADDROVA_API_KEY" \
  -F file=@addresses.csv -F address_column=address -F country=FR

# 2. poll until status is "succeeded" (use the job id returned in step 1)
curl -s https://api.addrova.eu/v1/batch/JOB_ID -H "X-API-Key: $ADDROVA_API_KEY"

# 3. download the result
curl -s https://api.addrova.eu/v1/batch/JOB_ID/result \
  -H "X-API-Key: $ADDROVA_API_KEY" -o geocoded.csv

If your file has separate columns, send columns=street=adresse,postcode=cp,city=ville instead of address_column. A per-row country column takes precedence over the default country.

Reading the result

Every input column is kept, with these added: addrova_label, addrova_lat, addrova_lon, addrova_precision, addrova_confidence, addrova_confidence_level, addrova_sources and addrova_status.

addrova_status Meaning
matched A confident match
uncertain Best candidate returned, but confidence is low: review it
not_found No candidate
invalid Empty or rejected address
error Processing error

The attribution of all sources used is a trailing comment line in the CSV. Keep it with your data: the open data licences require it.

Billing and limits

One unit per non-empty address row, reserved at upload: your monthly quota must cover the whole file. Identical addresses within a file are geocoded once. [À VÉRIFIER : le prix unitaire du lot n'est pas encore décidé, voir /pricing.]

What happens to your file

  • The input file is deleted as soon as processing ends (claim ZL-22).
  • The result and the job metadata are deleted after one hour by default, or at once with DELETE /v1/batch/JOB_ID (ZL-22).
  • Job metadata holds no row of your file (ZL-23), and another customer cannot see your job (ZL-24).
  • No address is written to logs (ZL-10).

Each identifier refers to an automated test, listed on the compliance page. Where the processing physically runs (EU hosting) is not proven by those tests and is to be confirmed before launch. [À VÉRIFIER : hébergeur et région.]

Tips for cleaner results

  • Geocode a sample of 500 rows first and look at the uncertain rows.
  • Keep the postcode and city columns separate when you have them: they improve matching.
  • For typos and abbreviations, run problem rows through POST /v1/repair, billed on success only.

FAQ

Is there a free way to geocode a CSV? The free tier is 30,000 requests a month. [À VÉRIFIER : le lot consomme-t-il le quota gratuit, ligne par ligne ?]

Can I keep the results? Yes, permanently, with the attribution.

Excel? Save as CSV (UTF-8) first.