Accueil / Services / Géocodage OSM
Géocodage OpenStreetMap

Adresses, lieux et points d'intérêt

Transformez une adresse ou un nom de lieu en coordonnées, et des coordonnées en adresse, en France, en Belgique et en Allemagne, à partir des données OpenStreetMap.

Préfixe /v2/geocoding/osm/ Moteur Nominatim Documentation complète de Nominatim ↗
Principe

Les fonctions disponibles

Toutes les fonctions s'appellent en GET, avec des paramètres d'URL. Un POST reçoit une erreur 405.

FonctionUsage
searchRecherche libre (q) ou structurée (rue, ville, code postal…)
reverseAdresse ou lieu le plus proche de coordonnées
lookupAdresse d'objets OpenStreetMap connus par leur identifiant
detailsFiche complète d'un lieu : noms, étiquettes, hiérarchie administrative
statusÉtat du moteur et date des données

Précisez toujours format. Sans lui, search répond en JSON mais reverse répond en XML, et les erreurs arrivent en XML. Avec format=jsonv2, tout est en JSON.

Paramètres

Paramètres communs

ParamètreDescription
formatjsonv2 (recommandé), json, geojson, geocodejson ou xml. Voir formats.
accept-languageLangue des noms, par exemple fr. Sans lui, les noms sont dans la langue locale (néerlandais ou français à Bruxelles, allemand en Allemagne).
addressdetails1 pour détailler l'adresse (numéro, rue, quartier, ville, code postal, pays) dans address. Actif par défaut en reverse.
limitNombre maximal de résultats de search.
countrycodesRestreint à des pays : fr, be, de, ou une liste fr,be.
viewbox, boundedEmprise lon1,lat1,lon2,lat2 qui favorise les résultats situés à l'intérieur ; avec bounded=1, les exclut au dehors.
extratags, namedetails1 pour recevoir les étiquettes OSM supplémentaires (site web, horaires…) et les noms dans toutes les langues.
Endpoint

Trouver l'adresse d'un point

GET/v2/geocoding/osm/reverse

Renvoie l'objet le plus proche des coordonnées lat et lon. Le paramètre zoom (de 3, pays, à 18, bâtiment) règle le niveau de détail recherché.

Requête
curl "https://geoservice.example.com/v2/geocoding/osm/reverse?lat=48.8240267&lon=2.3584248&format=jsonv2&accept-language=fr" \
  -H "X-API-Key: $GEOSERVICE_KEY"
200 OK
{
  "place_id": 255476,
  "licence": "Data © OpenStreetMap contributors, ODbL 1.0. http://osm.org/copyright",
  "osm_type": "node",
  "osm_id": 2540682965,
  "lat": "48.8240267",
  "lon": "2.3584248",
  "category": "place",
  "type": "house",
  "place_rank": 30,
  "addresstype": "place",
  "name": "",
  "display_name": "87, Avenue d'Italie, Maison-Blanche, Paris 13e Arrondissement, Paris, 75013, France",
  "address": {
    "house_number": "87",
    "road": "Avenue d'Italie",
    "quarter": "Maison-Blanche",
    "suburb": "Paris 13e Arrondissement",
    "city": "Paris",
    "postcode": "75013",
    "country": "France",
    "country_code": "fr"
  },
  "boundingbox": ["48.8239767", "48.8240767", "2.3583748", "2.3584748"]
}
Endpoint

Retrouver des objets par identifiant

GET/v2/geocoding/osm/lookup

Renvoie l'adresse d'objets OpenStreetMap dont vous connaissez l'identifiant, par exemple mémorisé lors d'une recherche précédente. osm_ids est une liste séparée par des virgules ; chaque identifiant est préfixé par son type : N (nœud), W (voie) ou R (relation).

Requête : l'avenue d'Italie et le 87 de l'avenue
curl "https://geoservice.example.com/v2/geocoding/osm/lookup?osm_ids=W685719842,N2540682965&format=jsonv2&accept-language=fr" \
  -H "X-API-Key: $GEOSERVICE_KEY"

La réponse est une liste au même format que search.

Endpoint

Consulter la fiche d'un lieu

GET/v2/geocoding/osm/details

Renvoie tout ce que le moteur sait d'un objet : noms dans toutes les langues, étiquettes OSM, code postal calculé, rattachements administratifs. Désignez l'objet par osmtype (N, W, R) et osmid, ou par place_id.

Requête
curl "https://geoservice.example.com/v2/geocoding/osm/details?osmtype=W&osmid=685719842&format=json" \
  -H "X-API-Key: $GEOSERVICE_KEY"
200 OK · extrait
{
  "place_id": 256245,
  "osm_type": "W",
  "osm_id": 685719842,
  "category": "highway",
  "type": "primary",
  "localname": "Avenue d'Italie",
  "names": {"name": "Avenue d'Italie", "name:fr": "Avenue d'Italie", "name:zh": "意大利大道", "old_ref": "N 7"},
  "calculated_postcode": "75013",
  "country_code": "fr",
  …
}

Pour l'affichage, préférez lookup. details sert surtout à comprendre pourquoi un lieu est trouvé (ou non) ; son format peut évoluer d'une version du moteur à l'autre.

Formats

Choisir un format de réponse

formatFormePour
jsonv2Liste d'objets, coordonnées en chaînesUsage général, recommandé
jsonComme jsonv2, avec class au lieu de categoryCompatibilité avec d'anciens clients
geojsonFeatureCollection, coordonnées [lon, lat]Affichage direct sur une carte
geocodejsonGeoJSON avec un bloc geocoding normalisé (label, name…)Outils qui suivent la spécification GeocodeJSON
format=geocodejson · 200 OK
{
  "type": "FeatureCollection",
  "geocoding": {"version": "0.1.0", "licence": "ODbL", "query": "notre dame paris", "…": "…"},
  "features": [{
    "type": "Feature",
    "properties": {
      "geocoding": {
        "osm_type": "way", "osm_id": 201611261,
        "osm_key": "amenity", "osm_value": "place_of_worship",
        "name": "Cathédrale Notre-Dame de Paris",
        "label": "Cathédrale Notre-Dame de Paris, 6, Parvis Notre-Dame - Place Jean-Paul II, Quartier Les Îles, Paris 4e Arrondissement, Paris, 75004, France"
      }
    },
    "geometry": {"type": "Point", "coordinates": [2.3500501, 48.8529371]}
  }]
}
Endpoint

Statut du moteur

GET/v2/geocoding/osm/status?format=json
200 OK
{"status": 0, "message": "OK", "data_updated": "2026-09-16T19:20:55+00:00", "software_version": "5.3.2", "database_version": "5.3.2-0"}

data_updated donne la fraîcheur des données OpenStreetMap en service.

Erreurs

Erreurs du moteur

Une requête invalide reçoit une erreur 400 de Nominatim, au format demandé par format :

400 Bad Request · format=jsonv2
{"error": {"code": 400, "message": "Parameter 'lat' must be a number."}}

Sans format, la même erreur arrive en XML (<error><code>400</code>…). Une recherche sans résultat n'est pas une erreur : la réponse est 200 avec une liste vide [].

Licence

Citer OpenStreetMap

Les données OpenStreetMap sont sous licence ODbL. Toute carte ou application qui affiche des résultats du géocodage OSM ou des itinéraires doit mentionner la source, par exemple :

Mention à afficher
© les contributeurs d'OpenStreetMap