API Adresse
L’API adresse permet notamment d’effectuer rapidement une recherche d’adresse, mais aussi de pouvoir associer des coordonnées à une adresse ("géocoder") selon plusieurs critères. On vous explique tout en détail ici : Guide sur l’API Adresse
Vous atteignez fréquemment la limite de requête de l’API, fixée à 50 appels / seconde/ IP ?
2 options s’offrent à vous :
- Vous pouvez installer une instance de l’API sur vos propres serveurs. Nous vous indiquons la marche à suivre sur cette page : Installer une instance docker avec les données de la BAN
- Vous êtes un acteur public ET vous ne pouvez pas installer d’instance sur votre Système d’Information : vous pouvez demander une levée de cette limite au moyen de cette Démarche Simplifiée : Demander une levée de limite
/search/
Point d’entrée pour le géocodage.
Utiliser le paramètre q pour faire une recherche plein texte:
curl "https://api-adresse.data.gouv.fr/search/?q=8+bd+du+port"
Avec limit on peut contrôler le nombre d’éléments retournés:
curl "https://api-adresse.data.gouv.fr/search/?q=8+bd+du+port&limit=15"
Avec autocomplete on peut désactiver les traitements d’auto-complétion:
curl "https://api-adresse.data.gouv.fr/search/?q=8+bd+du+port&autocomplete=0"
Avec lat et lon on peut donner une priorité géographique:
curl "https://api-adresse.data.gouv.fr/search/?q=8+bd+du+port&lat=48.789&lon=2.789"
Les filtres type, postcode (code Postal) et citycode (code INSEE) permettent de restreindre la recherche:
curl "https://api-adresse.data.gouv.fr/search/?q=8+bd+du+port&postcode=44380"
curl "https://api-adresse.data.gouv.fr/search/?q=paris&type=street"
Le retour est un geojson FeatureCollection respectant la spec GeoCodeJSON:
{
"type":"FeatureCollection",
"version":"draft",
"features":[
{
"type":"Feature",
"geometry":{
"type":"Point",
"coordinates":[
2.290084,
49.897443
]
},
"properties":{
"label":"8 Boulevard du Port 80000 Amiens",
"score":0.49159121588068583,
"housenumber":"8",
"id":"80021_6590_00008",
"type":"housenumber",
"name":"8 Boulevard du Port",
"postcode":"80000",
"citycode":"80021",
"x":648952.58,
"y":6977867.25,
"city":"Amiens",
"context":"80, Somme, Hauts-de-France",
"importance":0.6706612694243868,
"street":"Boulevard du Port"
}
}
],
"attribution":"BAN",
"licence":"ODbL 1.0",
"query":"8 bd du port",
"limit":1
}
Les coordonnées GeoJSON sont exprimées en WGS-84 (EPSG 4326)
Les attributs retournés sont :
- id : identifiant de l’adresse (clef d’interopérabilité)
- type : type de résultat trouvé
- housenumber : numéro « à la plaque »
- street : position « à la voie », placé approximativement au centre de celle-ci
- locality : lieu-dit
- municipality : numéro « à la commune »
- score : valeur de 0 à 1 indiquant la pertinence du résultat
- housenumber : numéro avec indice de répétition éventuel (bis, ter, A, B)
- street : nom de la voie
- name : numéro éventuel et nom de voie ou lieu dit
- postcode : code postal
- citycode : code INSEE de la commune
- city : nom de la commune
- district : nom de l’arrondissement (Paris/Lyon/Marseille)
- oldcitycode : code INSEE de la commune ancienne (le cas échéant)
- oldcity : nom de la commune ancienne (le cas échéant)
- context : n° de département, nom de département et de région
- label : libellé complet de l’adresse
- x : coordonnées géographique en projection légale
- y : coordonnées géographique en projection légale
- importance : indicateur d’importance (champ technique)
/reverse/
Point d’entrée pour le géocodage inverse.
Les paramètres lat et lon sont obligatoires:
curl "https://api-adresse.data.gouv.fr/reverse/?lon=2.37&lat=48.357"
Le paramètre type permet forcer le type de retour:
curl "https://api-adresse.data.gouv.fr/reverse/?lon=2.37&lat=48.357&type=street"
Même format de réponse que pour le point d’entrée /search/.
/search/csv/
Point d’entrée pour le géocodage de masse à partir d’un fichier CSV.
Le fichier CSV, dont la taille ne doit pas excéder 50 Mo, doit être passé via le paramètre data. Veuillez noter l’arobase après data=.
curl -X POST -F data=@path/to/file.csv https://api-adresse.data.gouv.fr/search/csv/
Par défaut, toutes les colonnes sont concaténées pour constituer l’adresse qui sera géocodée. On peut définir les colonnes à utiliser via de multiples paramètres columns:
curl -X POST -F data=@path/to/file.csv -F columns=voie -F columns=ville https://api-adresse.data.gouv.fr/search/csv/
Il est possible de préciser le nom d’une colonne contenant le code INSEE ou le code Postal pour limiter les recherches, exemple :
curl -X POST -F data=@path/to/file.csv -F columns=voie -F columns=ville -F citycode=ma_colonne_code_insee https://api-adresse.data.gouv.fr/search/csv/
curl -X POST -F data=@path/to/file.csv -F columns=voie -F columns=ville -F postcode=colonne_code_postal https://api-adresse.data.gouv.fr/search/csv/
On peut utiliser le fichier https://adresse.data.gouv.fr/exemples/search.csv comme exemple.
curl -X POST -F data=@search.csv -F columns=adresse -F columns=postcode https://api-adresse.data.gouv.fr/search/csv/
Enfin, en cas d’industrialisation du géocodage, il peut être pertinent de lister spécifiquement les champs attendus dans la réponse, pour limiter la taille du fichier obtenu, et donc accélérer le transfert et réduire l’empreinte carbone.
curl -X POST -F data=@search.csv -F columns=adresse -F columns=postcode -F result_columns=result_id -F result_columns=result_score https://api-adresse.data.gouv.fr/search/csv/
/reverse/csv/
Point d’entrée pour le géocodage inverse de masse à partir d’un fichier CSV.
Le fichier CSV, encodé en UTF-8 et limité actuellement à 6 Mo, doit être passé via le paramètre data. Il doit contenir les colonnes latitude (ou lat) et longitude (ou lon ou lng).
curl -X POST -F data=@path/to/file.csv https://api-adresse.data.gouv.fr/reverse/csv/
On peut utiliser le fichier https://adresse.data.gouv.fr/exemples/reverse.csv comme exemple.
Documentation technique
Recherche par texte
La variable q vous permet d’effectuer une recherche par nom.
Bon à savoir
Il est possible d’utiliser la recherche par nom pour faire de l’autocomplétion.null