Le droit de construire › L'API ouverte
Une API ouverte pour les règles d'urbanisme d'une adresse
Gratuite, sans clé, sans inscription. Elle rend en JSON la zone du plan local d'urbanisme qui couvre une adresse, et ce que son règlement dit de la hauteur, des reculs, de l'emprise au sol et de la pleine terre. Chaque règle porte la phrase du règlement d'où elle vient et l'article qui la contient. Seules les règles relues et validées sont rendues.
La zone et les règles d'une adresse
curl "https://fr2.afreelun.ch/droit-de-construire/api/v1/adresse?q=12+rue+de+la+Paix+94400+Vitry-sur-Seine"
Paramètre facultatif travaux : le projet (maison, extension, surélévation, piscine,
abri, clôture). Ses règles passent en tête, marquées en_avant.
Le champ etat dit toujours ce qui a été trouvé : ok,
non_collecte (zone connue, règlement pas encore chez nous), zone_inconnue,
introuvable (404), source_muette (503, le service public d'adresses ou de
zones ne répond pas). Le champ manques dit, pour chaque règle absente, si le règlement
ne la chiffre pas ou s'il n'est pas encore relu.
Une commune
curl "https://fr2.afreelun.ch/droit-de-construire/api/v1/commune/94081"
Le document en vigueur, ses zones (avec leur nombre de règles validées), les risques connus.
Une zone
curl "https://fr2.afreelun.ch/droit-de-construire/api/v1/zone/94081_PLU_20200101/UA"
L'identifiant du document est celui que rendent les deux appels précédents.
Chercher une commune
curl "https://fr2.afreelun.ch/droit-de-construire/api/v1/communes?q=vitry"
Ce que contient une règle
{
"nature": "hauteur_max",
"libelle": "Hauteur maximale",
"valeur": 12.0,
"unite": "m",
"condition": null,
"citation": "la phrase du règlement, mot pour mot",
"article": {"id": 123, "numero": "UA 10", "titre": "Hauteur des constructions", "url": "..."},
"source": {"document_id": "...", "type_document": "PLU", "date_approbation": "2020-01-01", "libelle": "..."}
}
Erreurs : un objet {"erreur": "..."} avec le code 400 (paramètre invalide), 404
(inconnu) ou 503 (source muette). Toutes les réponses sont lisibles depuis un navigateur
(Access-Control-Allow-Origin: *).
Le serveur MCP, pour les assistants
Un assistant compatible MCP (protocole « streamable HTTP », réponses JSON) se branche sur
https://fr2.afreelun.ch/droit-de-construire/mcp. Quatre outils : chercher_commune,
zone_a_l_adresse, regles_de_la_zone, texte_de_l_article.
curl -X POST "https://fr2.afreelun.ch/droit-de-construire/mcp" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"zone_a_l_adresse","arguments":{"adresse":"12 rue de la Paix 94400 Vitry-sur-Seine"}}}'
Les conditions
Aucune adresse demandée n'est gardée. Réutilisation libre, en citant « A Free Lunch, le droit de construire ». Merci de rester raisonnable sur le rythme des appels : les services publics d'adresses et de zones qui sont derrière ont leurs propres limites.
Le règlement dit, rien n'est opposable. Ces règles sont lues dans le règlement d'urbanisme, chacune avec la phrase d'où elle vient. Seul le certificat d'urbanisme délivré par la mairie engage : demandez-le avant tout projet.