Open address data in Europe: which licence needs which attribution

Most European geocoders sit on open address registers. "Open" does not mean "no conditions": each register has a licence, and the licence says what you must show when you display or store a result. This guide explains the four you will meet and how Addrova hands you what you need.

This is a practical summary, not legal advice. [À VÉRIFIER : relecture juridique avant publication.]

The four licences

Licence Typical sources What it asks of you
Licence Ouverte 2.0 (Etalab) France: BAN Free reuse, including commercial. Name the source and the date of the data.
CC0 1.0 Netherlands: BAG; Luxembourg: BD-Adresses Nothing. No attribution is required.
CC BY 4.0 Spain: CartoCiudad; Czechia and Austria registers Credit the source, link the licence, say if you changed the data.
ODbL 1.0 OpenStreetMap Credit the source, and share-alike: a database you derive from it must be shared under the same licence.

The country pages list each source, its licence and its status: France, Netherlands, Spain, Czechia, Austria, Luxembourg. A country on the roadmap is not live until its data is ingested and measured. [À VÉRIFIER : licences de CZ et AT d'après le journal de conception de P2.]

Why share-alike data is kept apart

ODbL share-alike is the one condition that can spread. If open data under it were mixed into the official index, results from that index could pull your stored addresses into the share-alike obligation. Addrova's design keeps share-alike sources in a separate index that is never merged with the official one, and each result says which family it came from.

What Addrova puts in every answer

Every response carries an attribution list with the text the licence requires, and every result lists its sources. Display that text where you display the results, and keep it if you store them. You may store results permanently; the attribution is the only string attached.

The public /coverage endpoint lists, for each country, the sources, the licence and whether a source is official or share_alike:

import requests

resp = requests.get("https://api.addrova.eu/coverage", timeout=10)
resp.raise_for_status()
for country in resp.json()["countries"]:
    for source in country.get("sources", []):
        print(country["country"], source.get("id"), source.get("license"), source.get("family"))

The base URL https://api.addrova.eu is not live yet; the fields follow the API specification. [À VÉRIFIER : service ouvert, URL de base définitive.]

A checklist for your own product

  1. Read the attribution of the response and render it near the data.
  2. Store the sources and attribution next to each address you keep.
  3. If a source is share_alike, ask what the licence means for the database you build before you mix it with your own.
  4. Update the attribution if the data date matters for your licence.

Live coverage and licences are on the coverage page.