Bonjour,
Je teste la recherche d’adresse via l’api /addressList/byText
.
Pour les 2 premières adresses essayées je n’obtiens aucun résultat :
- 2 rue du moulin 26400 allex
- 8 Impasse du Clos du Baron 26150 Die
Ces adresses sont identifiées sans difficultées avec l’API de la BAN.
curl "https://api-adresse.data.gouv.fr/search/?q=2+rue+moulin+allex"
curl "https://api-adresse.data.gouv.fr/search/?q=8+impasse+clos+baron+die"
Pouvez vous m’éclairer sur cette difficulté ? Quelle différence entre votre système et celui de la BAN ? Fiabilité ?
Merci !
Un petit up sur mon problème @Valentin_Lamirault ?
Les 2 adresses sont identifiées sans pb sur la BAN, mais impossible d’avoir un résultat avec l’URBS.
En revanche l’adresse donnée en example fonctionne 14 rue paul et pierre guichard 42000 Saint-Étienne
Merci d’avance !
import requests
import json
# https://forum.urbs.fr/t/utiliser-lapi-ouverte-u-r-b-s-via-python/542
API_KEY = "_your_key_"
def get_catalog(apiKey:str=API_KEY) -> dict:
url = 'https://api.urbs.fr/catalog'
headers = {"Authorization" : "Bearer "+apiKey}
response = requests.get(url, headers=headers)
return response.json()
def search_address_by_text(search_text:str, apiKey:str=API_KEY):
url = 'https://api.urbs.fr/addressList/byText'
headers = {"Authorization" : "Bearer "+apiKey}
body = {"text" : search_text}
response = requests.post(url, data=body, headers=headers)
return response.json()
def search_address_by_ban_id(ban_id:str, apiKey:str=API_KEY):
url = 'https://api.urbs.fr/addressList/byBanId'
headers = {"Authorization" : "Bearer "+apiKey}
params = {"ban_id" : ban_id}
response = requests.get(url, params=params, headers=headers)
return response.json()
if __name__ == "__main__":
catalogue = get_catalog()
# search by text
a1 = search_address_by_text("2 rue du moulin 26400 Allex")
a2 = search_address_by_text("8 Impasse du Clos du Baron 26150 Die")
a3 = search_address_by_text("14 rue paul et pierre guichard 42000 Saint-Étienne")
# search with ids collected here : https://adresse.data.gouv.fr/api-doc/adresse
b1 =search_address_by_ban_id("26006_0070_00002")
b2 =search_address_by_ban_id("5dde0dda-eadf-477a-83f3-462a79cb4bec")
b3 =search_address_by_ban_id("42218_6780_00014")
pass
1 « J'aime »
Bonjour,
Veuillez m’excuser pour ce délais de réponse.
Effectivement ces deux adresses ne sont pas présente dans IMOPE. En effet, ces adresses n’ont pas encore été mises à jour dans le cadastre (une de nos principale source de données) et nos process ne permettent pas toujours de corriger ces décalages. En conséquence, les BANid ne sont également pas fonctionnels dans l’API.
Voici les correspondances qui vous permettraient de retrouver les informations à ces deux adresses :
2 rue du moulin 26400 allex → 5120 le village 26400 allex
8 Impasse du Clos du Baron 26150 Die → 8 lot le Clos du Baron 26150 Die
Enfin sur la fiabilité des données, je vous invite à consulter le sujet suivant, lequel revient sur les principaux éléments de ce thématique : Fiabilité des données
En espérant que cela réponde à vos questions.
2 « J'aime »
Merci de votre retour @Valentin_Lamirault