Les requêtes
DemandeAnalyse
Le corps de POST /v1/analyses.
| Champ | Type | Requis | Sens |
|---|---|---|---|
source |
SourceLien ou SourceTexte ou SourceAdresse |
oui | Ce qu'on analyse, sous une seule des trois formes : un lien (listing_url), le texte d'une page (listing_text) ou une adresse (address). C'est la forme qui fixe le tarif de l'appel. |
prix_eur |
nombre ou nul | — | Le prix affiché, s'il n'est pas dans la source. Sans prix : la fourchette. |
radii |
liste d'entiers ou nul | — | Rayons de comparaison en mètres, parmi ceux du site ; 300, 500, 800 et 1000 par défaut. |
SourceLien
Une annonce désignée par son lien : Stream Estate d'abord, le fetcher ensuite.
| Champ | Type | Requis | Sens |
|---|---|---|---|
listing_url |
chaîne (motif `^https?://`) | oui | Le lien de l'annonce, tel qu'il s'affiche dans la barre du navigateur. La source des annonces le compare au caractère près : copiez-le entier. (longueur 12–2000) |
SourceTexte
Le texte d'une page d'annonce, analysé puis jeté : rien n'en est conservé.
| Champ | Type | Requis | Sens |
|---|---|---|---|
listing_text |
chaîne | oui | Le texte de la page d'annonce tel que le navigateur l'affiche (tout sélectionner, copier). Il est lu puis jeté : rien n'en est conservé. (longueur 20–200000) |
source_domain |
chaîne ou nul | — | Le domaine d'où vient le texte, pour les statistiques agrégées seulement. |
SourceAdresse
Une adresse postale, géocodée dans la Base Adresse Nationale — sans annonce.
| Champ | Type | Requis | Sens |
|---|---|---|---|
address |
chaîne | oui | L'adresse à analyser, avec sa commune ou son code postal (« 12 rue de l'Exemple, 59000 Lille »). Sans ban_id, la première proposition de la Base Adresse Nationale est retenue, en méthode « adresse_saisie ». (longueur 5–250) |
ban_id |
chaîne ou nul | — | L'identifiant BAN à retenir parmi les propositions, s'il est connu. |
facts |
PropertyFacts ou nul |
— | Ce qu'on sait du bien : type, surface, pièces… |
DemandeCompletude
Ce que POST /v1/listings/completeness reçoit : une annonce structurée, ou un texte.
| Champ | Type | Requis | Sens |
|---|---|---|---|
listing |
AnnonceApi ou nul |
— | Une annonce déjà structurée : commune, bien, diagnostic. |
text |
chaîne ou nul | — | Le texte d'une page d'annonce, lu par le parseur puis jeté. |
source_domain |
chaîne ou nul | — | Le domaine d'origine : il n'adapte que la phrase d'aide. |
tous_les_champs |
booléen | — | Rendre la liste entière des champs manquants, au lieu des trois du site. |
AnnonceApi
Une annonce structurée telle que l'API l'accepte : des faits, sans provenance. Ni lien ni référence d'annonce : ces deux champs désignent une annonce chez un tiers et n'entrent pas par cette porte.
| Champ | Type | Requis | Sens |
|---|---|---|---|
commune |
Commune ou nul |
— | Où est le bien : nom, code postal, code INSEE — chacun facultatif. |
property |
PropertyFacts ou nul |
— | Le bien : type, surface, pièces, prix, étage, année de construction… |
dpe |
DPEFacts ou nul |
— | Le diagnostic : numéro ADEME, classes, consommation, émissions, date et sa précision. C'est ce qui trouve l'adresse le plus sûrement. |
description_text |
chaîne ou nul | — | Le texte libre de l'annonce ; on y lit les repères (rue, quartier, résidence) et les faits que les champs structurés ne portent pas. |
Commune
Localité de l'annonce. Tous les champs sont facultatifs et indépendants.
| Champ | Type | Requis | Sens |
|---|---|---|---|
nom |
chaîne ou nul | — | Nom de la commune |
code_postal |
chaîne (motif `^\d{5}$`) ou nul | — | Code postal à 5 chiffres |
code_insee |
chaîne (motif `^[0-9][0-9AB]\d{3}$`) ou nul | — | Code INSEE de la commune (2A/2B admis pour la Corse) |
PropertyFacts
Caractéristiques du bien telles qu'annoncées, toutes facultatives.
| Champ | Type | Requis | Sens |
|---|---|---|---|
type_bien |
« appartement » | « maison » | « autre » ou nul | — | Nature du bien : « appartement », « maison », ou « autre » (terrain, local, parking…) |
surface_m2 |
nombre ou nul | — | Surface habitable en m² |
surface_terrain_m2 |
nombre ou nul | — | Surface totale du terrain en m², telle que l'annonce l'indique. Le cadastre publie la même grandeur, à la parcelle près : les deux se confrontent. |
nb_pieces |
entier ou nul | — | Nombre de pièces |
nb_chambres |
entier ou nul | — | Nombre de chambres |
nb_salles_de_bain |
entier ou nul | — | Nombre de salles de bain ou d'eau |
prix_eur |
nombre ou nul | — | Prix de vente affiché en euros. Un loyer n'en est pas un : sur une annonce de location, ce champ reste vide et le montant mensuel est dans « loyer_mensuel_eur ». |
transaction |
« vente » | « location » ou nul | — | Nature de l'annonce, quand la source la dit : « vente » ou « location ». Une location est située comme une vente, mais son loyer ne se compare jamais aux ventes voisines — pas de note de prix, pas de budget d'achat. |
loyer_mensuel_eur |
nombre ou nul | — | Loyer mensuel affiché en euros, sur une annonce de location — charges comprises ou non selon ce que le diffuseur publie. |
prix_hors_honoraires |
nombre ou nul | — | Prix hors honoraires d'agence, quand l'annonce le publie. C'est la grandeur comparable aux ventes DVF, qui enregistrent le prix porté à l'acte — c'est elle que la note de prix compare quand elle existe. |
honoraires_acquereur |
booléen ou nul | — | L'annonce indique-t-elle que les honoraires sont à la charge de l'acquéreur ? Vrai signifie que « prix_eur » comprend des honoraires que DVF n'enregistre pas : la comparaison de prix devient incertaine, et le Deal Score le dit au lieu de comparer deux grandeurs différentes. |
etage |
entier ou nul | — | Étage (0 = rez-de-chaussée) |
annee_construction |
entier ou nul | — | Année de construction annoncée. Elle ne situe aucun bien à elle seule, mais elle recoupe le bâti et sert de critère de départage au moment de confronter un candidat au cadastre. |
chauffage |
« gaz » | « fioul » | « reseau » | « electrique » | « pompe_a_chaleur » | « bois » ou nul | — | Énergie de chauffage annoncée (« chauffage au gaz », « pompe à chaleur »…). Le diagnostic ne la publie pas, mais ses émissions rapportées à sa consommation la trahissent : c'est un critère de départage, pas un critère portant. |
DPEFacts
Éléments de diagnostic de performance énergétique issus de l'annonce.
| Champ | Type | Requis | Sens |
|---|---|---|---|
numero_ademe |
chaîne (motif `^[0-9A-Z]{13}$`) ou nul | — | Numéro ADEME : 13 caractères alphanumériques majuscules |
date_etablissement |
chaîne (date AAAA-MM-JJ) ou nul | — | Date d'établissement du DPE |
date_precision |
« jour » | « mois » | « annee » ou nul | — | Finesse réellement connue de la date d'établissement |
classe_energie |
« A » | « B » | « C » | « D » | « E » | « F » | « G » ou nul | — | Étiquette énergie, de A à G |
classe_ges |
« A » | « B » | « C » | « D » | « E » | « F » | « G » ou nul | — | Étiquette climat (émissions de gaz à effet de serre), de A à G |
conso_kwh_m2_an |
nombre ou nul | — | Consommation d'énergie primaire en kWh/m²/an |
emission_ges_kg_m2_an |
nombre ou nul | — | Émissions de gaz à effet de serre en kgCO₂/m²/an |
facture_energie_min |
nombre ou nul | — | Borne basse des dépenses annuelles d'énergie estimées par le diagnostic, en euros. Indice faible : la fourchette dépend de l'année de référence des prix de l'énergie, qui n'est pas toujours celle du DPE. |
facture_energie_max |
nombre ou nul | — | Borne haute des dépenses annuelles d'énergie estimées, en euros |
Les réponses
ReponseAnalyse
La réponse 200 : où, autour, à quel prix — et ce que l'appel a coûté.
| Champ | Type | Requis | Sens |
|---|---|---|---|
id |
chaîne | oui | L'identifiant de l'analyse ; le résultat reste lisible une heure. |
statut |
chaîne | oui | « termine » : le travail est fini, voici son résultat. |
billed |
booléen | oui | Vrai quand cet appel a été débité. Faux en mode test, et quand un rejeu par Idempotency-Key rend un résultat déjà payé. |
source |
chaîne | oui | La forme de source reçue : « listing_url », « listing_text » ou « address ». |
mode |
chaîne | oui | « live » (clé réelle, facturé) ou « test » (bac à sable, gratuit). |
cost_credits |
nombre | oui | Crédits débités pour cet appel, selon la forme de source ; 0 en mode test. Un lien déjà résolu dans l'heure se paie comme un lien neuf. (≥ 0) |
resolution |
ResolutionApi |
oui | Où est ce bien : les adresses candidates avec leur score, et ce que le moteur a fait pour les trouver. |
deal_scores |
liste de NotesParCandidat |
— | Ce que vaut le prix : une entrée par adresse candidate, dans le même ordre que resolution.candidates, chacune avec une note (ou une fourchette, sans prix) par rayon demandé. Vide sans candidat. |
comparables |
liste de ComparableApi |
— | Les ventes retenues pour noter la première adresse candidate, tous rayons confondus. |
enrichment |
EnvironnementApi ou nul |
— | L'environnement de la première adresse candidate : risques, urbanisme, chantiers, terrain, toiture, copropriété. Nul sans candidat, ou quand le temps a manqué (voir sections). |
neighborhood |
NeighborhoodResult ou nul |
— | La vie quotidienne autour de la première adresse candidate : commerces, écoles, transports, connectivité, air, délinquance, évènements. Nul sans candidat, ou quand le temps a manqué (voir sections). |
diffuseurs |
Diffuseurs |
— | Sur combien de portails l'annonce est diffusée (analyse par lien). |
sections |
liste de AnalysisSection |
— | L'état de chacune des quatre parties de l'analyse, et pourquoi l'une manque ou est partielle : à lire avant d'interpréter un champ nul. |
sources_status |
SourceStatus |
oui | État de chaque source publique sur l'ensemble de l'analyse. |
duration_ms |
entier | oui | Durée totale du travail, en millisecondes. (≥ 0) |
AnalyseAcceptee
La réponse 202 : le travail est parti, voici où le suivre.
| Champ | Type | Requis | Sens |
|---|---|---|---|
id |
chaîne | oui | L'identifiant de l'analyse. Son résultat reste lisible une heure, puis GET répond 404 not_found. |
status |
chaîne | oui | « en_cours » : le travail est parti. |
status_url |
chaîne | oui | L'adresse à relire jusqu'à ce que le résultat soit prêt (GET /v1/analyses/{id}, qui accepte aussi ?wait=). |
AnalyseEnCours
La réponse 202 de GET tant que le travail dure.
| Champ | Type | Requis | Sens |
|---|---|---|---|
id |
chaîne | oui | L'identifiant de l'analyse, le même que celui du POST. |
status |
chaîne | oui | « en_cours » : relisez plus tard, ou avec ?wait=. |
AnalyseEchouee
Un travail qui a échoué par notre faute ou celle d'une source : crédit libéré.
| Champ | Type | Requis | Sens |
|---|---|---|---|
id |
chaîne | oui | L'identifiant de l'analyse, le même que celui du POST. |
statut |
chaîne | oui | « echec » : le travail s'est arrêté, rien n'est débité. |
code |
chaîne | oui | Pourquoi, en un mot : « source_unavailable » (une source publique ou la source des annonces n'a pas répondu — réessayez plus tard), « service_unavailable » (le service était saturé) ou « internal_error » (une faute de notre côté, consignée). |
raison |
chaîne | oui | La même chose en français, affichable telle quelle. |
billed |
booléen | — | Toujours faux : le crédit réservé a été rendu. |
FicheDpe
Ce que GET /v1/dpe/{numero} rend : la fiche, et d'où elle vient.
| Champ | Type | Requis | Sens |
|---|---|---|---|
numero |
chaîne (motif `^[0-9A-Z]{13}$`) | oui | Le numéro du diagnostic, treize caractères, tel qu'il figure sur l'annonce. |
provenance |
chaîne | oui | « local » (le miroir du dump ADEME) ou « api » (le flux data.ademe.fr). |
billed |
booléen | oui | Vrai quand cet appel a été débité ; faux en mode test. |
mode |
chaîne | oui | « live » (clé réelle, facturé) ou « test » (bac à sable, gratuit). |
cost_credits |
nombre | oui | Crédits débités pour cet appel ; 0 en mode test. (≥ 0) |
dpe |
AdemeDpeRecord |
oui | La fiche telle que le moteur la lit : adresse, commune, bien, diagnostic. |
ReponseCompletude
Ce que POST /v1/listings/completeness rend.
| Champ | Type | Requis | Sens |
|---|---|---|---|
billed |
booléen | oui | Vrai quand cet appel a été débité ; faux en mode test. |
mode |
chaîne | oui | « live » (clé réelle, facturé) ou « test » (bac à sable, gratuit). |
cost_credits |
nombre | oui | Crédits débités pour cet appel ; 0 en mode test. (≥ 0) |
suffisant |
booléen | oui | Vrai quand rien ne vaut la peine d'être demandé : l'annonce a de quoi chercher, lancez l'analyse. Faux : champs dit quoi demander. |
champs |
liste de MissingField |
— | Les champs absents qui changeraient le résultat, du plus discriminant au moins ; trois au plus, sauf tous_les_champs. |
message |
chaîne | oui | Phrase d'accompagnement en français, affichable telle quelle. |
champs_lus |
liste de chaînes | — | Les champs du contrat que l'annonce renseignait (« property.surface_m2 »…). |
tous_les_champs |
booléen | oui | Rappel de l'option reçue : la liste entière, ou les trois du site. |
Compte
Ce que GET /v1/account rend.
| Champ | Type | Requis | Sens |
|---|---|---|---|
email |
chaîne | oui | L'adresse du compte titulaire de la clé. |
key |
CleDuCompte |
oui | La clé qui a servi à cet appel. |
balance_credits |
nombre | — | Le solde du portefeuille, en crédits. (≥ 0) |
usage |
dictionnaire de FenetreUsage |
— | Par fenêtre (« 24h », « 7d », « 30d », « 90d ») : appels et crédits. |
tarifs |
dictionnaire de nombres | — | Le coût de chaque service, en crédits par appel. |
Les objets emboîtés
AdemeDpeRecord
Fiche DPE de l'ADEME, exprimée dans les contrats de données du domaine.
Volontairement bâtie sur Commune, PropertyFacts et DPEFacts plutôt que
sur une structure inventée pour l'occasion : un resolver compare ainsi une fiche
ADEME et une annonce dans le même langage, champ à champ.
numero_dpe conserve le numéro tel que l'ADEME le publie ; s'il ne respecte pas
la forme attendue, dpe.numero_ademe reste vide plutôt que de faire échouer la
lecture de toute la fiche.
| Champ | Type | Requis | Sens |
|---|---|---|---|
numero_dpe |
chaîne | oui | Le numéro du diagnostic, tel que l'ADEME le publie |
adresse |
chaîne ou nul | — | L'adresse du logement telle que la BAN l'a normalisée ; nulle si le géocodage a échoué |
adresse_brute |
chaîne ou nul | — | L'adresse telle que le diagnostiqueur l'a saisie, avant normalisation ; c'est là que se lit un nom de lotissement ou un complément que la BAN ignore |
ban_id |
chaîne ou nul | — | Identifiant de l'adresse dans la Base Adresse Nationale |
lat |
nombre ou nul | — | Latitude (WGS 84) de l'adresse géocodée ; nulle si non située |
lon |
nombre ou nul | — | Longitude, avec lat |
commune |
Commune |
oui | La commune du logement : nom, code postal, code INSEE |
property |
PropertyFacts |
oui | Le logement tel que le diagnostic le décrit : type, surface, étage, année, chauffage |
dpe |
DPEFacts |
oui | Le diagnostic : classes, consommation, émissions, date d'établissement (précision « jour ») et fourchette de facture |
desactive |
booléen | — | Vrai quand l'ADEME a retiré ce diagnostic (remplacé, annulé, corrigé). Toujours faux sur la voie « api », qui ne publie pas cette information |
remplace_par |
chaîne ou nul | — | Numéro du diagnostic plus récent qui a remplacé celui-ci pour le même logement, quand la voie « local » le connaît ; nul sinon |
identifiant_source |
chaîne ou nul | — | Identifiant interne de la fiche chez l'ADEME ; nul sur la voie « api » |
remplace_identifiant_source |
chaîne ou nul | — | Identifiant interne du diagnostic que celui-ci remplace ; nul sinon |
conso_avant_reforme_kwh_m2_an |
nombre ou nul | — | La consommation (kWh/m²/an) imprimée sur l'étiquette avant la réforme de 2026, quand la source la publie ; c'est ce chiffre qu'une annonce d'avant la réforme recopie. Nul sur la voie « api » et pour une fiche non touchée |
remplace |
chaîne ou nul | — | Numéro du diagnostic antérieur que celui-ci remplace, quand il a été retrouvé |
jours_herites |
liste de chaîne (date AAAA-MM-JJ) | — | Les dates du diagnostic remplacé, que celui-ci fait siennes : une annonce qui cite encore la date de l'ancien diagnostic désigne aussi celui-ci |
periode_construction |
chaîne ou nul | — | Tranche de construction publiée par l'ADEME (« 1989-2000 », « avant 1948 ») ; elle complète property.annee_construction, souvent absente |
date_visite |
chaîne (date AAAA-MM-JJ) ou nul | — | Jour de la visite du diagnostiqueur, quand la source le publie ; distinct de dpe.date_etablissement dans près de six cas sur dix |
cout_annuel_energie_eur |
nombre ou nul | — | Coût annuel d'énergie estimé par le diagnostic, tous usages, en euros ; l'annonce en publie la fourchette (dpe.facture_energie_min / _max) |
AirQualityInfo
Indice ATMO du jour, publié par l'association agréée de la région. L'indice est communal et quotidien : il décrit l'air d'une journée sur une commune, pas l'exposition d'un logement. Une adresse au bord d'un boulevard et une autre au fond d'un parc partagent le même indice.
| Champ | Type | Requis | Sens |
|---|---|---|---|
indice |
entier ou nul | — | Indice ATMO global : 1 bon, 6 extrêmement mauvais |
libelle |
chaîne ou nul | — | Lecture de l'indice, ex. « Moyen » |
date_indice |
chaîne (date AAAA-MM-JJ) ou nul | — | Journée décrite par l'indice |
polluants |
liste de PollutantIndex |
— | Sous-indices par polluant, du plus élevé au plus faible |
source |
chaîne ou nul | — | Association agréée qui publie l'indice, ex. « Atmo Hauts-de-France » |
zone |
chaîne ou nul | — | Zone décrite, telle que publiée |
AnalysisSection
État d'une section de l'analyse, et ce qui l'explique en français.
| Champ | Type | Requis | Sens |
|---|---|---|---|
nom |
« resolution » | « enrichissement » | « quartier » | « deal_score » | oui | « resolution » (où est le bien), « enrichissement » (son environnement), « quartier » (la vie quotidienne), « deal_score » (le prix) |
statut |
« ok » | « partielle » | « absente » | oui | « ok » ; « partielle », une source a manqué au milieu des autres — le cas ordinaire ; « absente », la section n'a pas pu être produite |
detail |
chaîne ou nul | — | Pourquoi la section est absente ou partielle, en français |
AntenneRelais
Un site d'antennes-relais du secteur, tel que l'Arcep le publie. Le produit dit qu'un site existe, à quelle distance, et qui l'exploite. Il ne dit pas si c'est bien ou mal — la question de l'exposition aux ondes est réglée par une réglementation nationale de valeurs limites, et l'ANFR publie les mesures faites sur le terrain. LogiScan ne mesure rien, ne modélise rien, et renvoie là où la réponse existe. C'est le vocabulaire du constat, et il vaut ici autant que pour la délinquance : un chiffre mal formulé sur ce sujet inquiète sans informer. Un site porte souvent plusieurs opérateurs. Un pylône partagé par quatre opérateurs est un site, pas quatre : les compter séparément quadruplerait le nombre affiché et laisserait croire à une concentration d'antennes qui n'existe pas. Les opérateurs sont donc regroupés sur le point.
| Champ | Type | Requis | Sens |
|---|---|---|---|
operateurs |
liste de chaînes | — | Les opérateurs installés sur ce site, par ordre alphabétique |
technologies |
liste de chaînes | — | Technologies ouvertes sur le site : « 2G », « 3G », « 4G », « 5G » |
distance_m |
nombre ou nul | — | Distance au bien, en mètres |
lat |
nombre ou nul | — | Latitude (WGS 84), pour poser un repère ; nulle quand la source n'a pas situé l'élément |
lon |
nombre ou nul | — | Longitude, avec lat |
CandidatApi
Une adresse candidate, avec son score de confiance, et son lien Google Maps.
| Champ | Type | Requis | Sens |
|---|---|---|---|
label |
chaîne | oui | Adresse formatée, telle qu'affichée (longueur 1–…) |
ban_id |
chaîne ou nul | — | Identifiant BAN de l'adresse |
lat |
nombre ou nul | — | Latitude (WGS 84) du point de l'adresse, pour poser un repère ; nulle quand le point n'est pas situé |
lon |
nombre ou nul | — | Longitude (WGS 84), avec lat |
parcelle |
chaîne ou nul | — | Référence cadastrale de la parcelle |
confidence |
nombre | oui | Score de confiance dans [0, 1] (≥ 0.0, ≤ 1.0) |
method |
chaîne | oui | Ce qui a produit le candidat : « ademe_direct » (le numéro du diagnostic), « ademe_fuzzy » (le recoupement des diagnostics), « position_source » (la position que publie la source), « cadastre_terrain » (la contenance du terrain), « dvf_cadastre » (les ventes et le cadastre), « adresse_saisie » (une adresse donnée par l'appelant) (longueur 1–…) |
matched_criteria |
liste de chaînes | — | Les règles qui ont concordé, par leur nom (« surface_m2 (± 15 %) ») ; un suffixe « critère non utilisé » marque ce que l'annonce ne permettait pas d'exercer. Pour lire ce qui a été comparé, voir comparaisons |
diverged_criteria |
liste de chaînes | — | Les règles que ce candidat contredit, sous la même forme |
comparaisons |
liste de CriterionComparison |
— | Les mêmes critères, avec la valeur de l'annonce et la valeur trouvée face à face, déjà mises en forme ; vide quand le niveau n'a aucune fiche à opposer à l'annonce (niveau 4, adresse saisie) |
position_approchee |
booléen | — | Vrai quand le point n'est pas celui d'un référentiel mais celui d'une prise de vue devant la façade : la Base Adresse Nationale ne connaissait que la voie, et le repère aurait été au milieu de la rue. |
dpe_trouve |
DPEFacts ou nul |
— | Diagnostic qui a désigné ce candidat, quand un niveau s'appuie sur l'ADEME. C'est la donnée trouvée dans la source, pas celle de l'annonce. |
maps_url |
chaîne ou nul | — | Le lien Google Maps qui pose un repère sur ce candidat ; nul quand le point n'est pas situé. Un lien à ouvrir ; rien n'est chargé depuis Google. |
ClayHazard
Exposition au retrait-gonflement des argiles, au point demandé. Seule donnée de ce profil qui soit vraiment ponctuelle : elle est lue aux coordonnées du bien, et non à l'échelle de la commune.
| Champ | Type | Requis | Sens |
|---|---|---|---|
niveau |
entier ou nul | — | Code d'exposition : 0 nulle, 1 faible, 2 moyenne, 3 forte |
libelle |
chaîne | oui | Intitulé publié, ex. « Exposition moyenne » (longueur 1–…) |
CleDuCompte
La clé qui a servi à appeler, telle que le compte la voit.
| Champ | Type | Requis | Sens |
|---|---|---|---|
prefixe |
chaîne | oui | Le début de la clé, seul élément conservé en clair. |
libelle |
chaîne | oui | Le nom donné à la clé sur /compte/api. |
mode |
chaîne | oui | « live » (facturé) ou « test » (bac à sable, gratuit). |
created_at |
chaîne (date et heure ISO 8601) | oui | Quand la clé a été créée. |
expires_at |
chaîne (date et heure ISO 8601) ou nul | — | Fin du sursis quand la clé a été remplacée par une rotation ; absent sinon. |
ComparableApi
Une vente retenue comme comparable : ce que DVF publie, sans parcelle ni personne.
| Champ | Type | Requis | Sens |
|---|---|---|---|
date |
chaîne (date AAAA-MM-JJ) | oui | Jour de la vente, tel que l'acte le porte. |
prix_eur |
nombre | oui | Prix porté à l'acte, honoraires exclus. |
surface_m2 |
nombre | oui | Surface réelle bâtie, en m². |
type_local |
chaîne ou nul | — | Nature du local telle que DVF l'écrit (« Appartement », « Maison »). |
voie |
chaîne ou nul | — | L'adresse de la vente, telle que DVF la publie. |
distance_m |
nombre ou nul | — | Distance entre la vente et la première adresse candidate, en mètres ; nulle quand la vente n'est pas située. |
ConnectivityInfo
Ce que les données de l'Arcep disent de la connectivité à cette adresse.
La partie fixe est communale. « Ma connexion internet » publie l'éligibilité
immeuble par immeuble, mais en fichiers départementaux de plusieurs dizaines de
mégaoctets ; ce sont ses statistiques communales qui sont lues ici. fibre_disponible
signifie « la fibre est déployée dans la commune », pas « ce logement est
raccordable » — c'est le test d'éligibilité de l'opérateur qui répond à cela.
| Champ | Type | Requis | Sens |
|---|---|---|---|
fibre_disponible |
booléen ou nul | — | La fibre dessert-elle au moins une partie des locaux de la commune ? |
part_locaux_fibre |
nombre ou nul | — | Part des locaux de la commune éligibles à la fibre |
technologies_filaires |
liste de FixedTechnology |
— | Technologies d'accès fixe présentes, de la mieux déployée à la moins |
couverture_mobile |
liste de MobileCoverage |
— | Opérateurs mobiles installés aux abords, du plus proche au plus lointain |
statuts |
dictionnaire de « ok » | « degraded » | « down » | « not_used » | — | État de la source pour chacun des deux volets, fixe et mobile |
CoproprieteInfo
La copropriété d'un appartement, telle que le registre national la publie. Le registre ne dit ni les impayés ni les procédures : ce qu'il ne contient pas n'est pas promis. Une copropriété absente n'est pas une copropriété non immatriculée — la recherche est géographique, un immeuble mal situé n'apparaît pas. Un booléen nul se lit « le registre ne le dit pas ».
| Champ | Type | Requis | Sens |
|---|---|---|---|
nom |
chaîne ou nul | — | Nom d'usage de la copropriété |
adresse |
chaîne ou nul | — | Adresse de référence déclarée |
distance_m |
nombre ou nul | — | Distance entre le bien et l'adresse de référence |
nombre_total_lots |
entier ou nul | — | Nombre total de lots déclarés (habitation, stationnement, autres) |
nombre_lots_habitation |
entier ou nul | — | Lots à usage d'habitation, de bureaux ou de commerces |
nombre_lots_stationnement |
entier ou nul | — | Lots de stationnement |
periode_construction |
chaîne ou nul | — | Tranche de construction déclarée, telle que le registre l'écrit (« 1949-1960 ») |
type_syndic |
chaîne ou nul | — | professionnel, bénévole… |
mandat_en_cours |
booléen ou nul | — | Un syndic est-il en place ? Nul : le registre ne le dit pas |
syndicat_cooperatif |
booléen ou nul | — | La copropriété est-elle gérée en syndicat coopératif ? Nul : non dit |
residence_service |
booléen ou nul | — | Est-ce une résidence avec services (seniors, étudiants…) ? Nul : non dit |
attribution |
chaîne | oui | La mention que la licence exige (longueur 1–…) |
CriterionComparison
Un critère confronté, avec les deux valeurs mises côte à côte.
matched_criteria disait qu'un critère avait joué, sans dire ce qu'il avait
comparé : « surface_m2 (± 15 %, fenêtre portante) » est le nom d'une règle, pas
un renseignement. Le lecteur, lui, veut lire « Surface habitable — annonce
95 m², diagnostic 84,8 m² » : c'est là qu'il voit d'un coup d'œil que le
diagnostic déclare dix mètres carrés de moins, et qu'il juge lui-même.
Les valeurs sont déjà mises en forme : le contrat porte ce qui s'affiche,
et non des flottants que chaque interface remettrait en français à sa façon.
valeur_trouvee peut être vide : un critère que l'annonce ne permettait pas
d'exercer se déclare inexercé plutôt que de disparaître, faute de quoi une
adresse retenue sans avoir été confrontée à sa date se lirait comme une adresse
dont la date concordait.
| Champ | Type | Requis | Sens |
|---|---|---|---|
critere |
chaîne | oui | Nom du critère au contrat, ex. « surface_m2 » (longueur 1–…) |
libelle |
chaîne | oui | Intitulé lisible, ex. « Surface habitable » (longueur 1–…) |
valeur_annonce |
chaîne ou nul | — | Ce que l'annonce disait, déjà mis en forme |
valeur_trouvee |
chaîne ou nul | — | Ce que la source publie, déjà mis en forme |
concorde |
booléen | — | Faux lorsque le critère a été retenu au prix d'un écart admis |
precision |
chaîne ou nul | — | Tolérance ou repli ayant permis de retenir ce critère, s'il y a lieu |
DealScoreResult
Position du prix d'une annonce dans le marché local, ou refus motivé de trancher.
Le score ne juge que le prix affiché au regard des ventes enregistrées autour :
il ignore l'état du bien, son étage, sa vue, ses travaux et son exposition. Un
logement rénové au-dessus du marché n'est pas une mauvaise affaire, et ce score ne
prétend pas le dire.
methodology_version accompagne chaque résultat : deux scores calculés par deux
versions de la méthode ne se comparent pas.
| Champ | Type | Requis | Sens |
|---|---|---|---|
statut |
« calcule » | « donnees_insuffisantes » | « annonce_incomplete » | « source_indisponible » | oui | « calcule », seul cas où score est renseigné ; « donnees_insuffisantes », trop peu de ventes comparables ; « annonce_incomplete », ni prix, ni surface, ni commune ; « source_indisponible », les ventes injoignables |
adresse |
chaîne ou nul | — | Adresse candidate à laquelle ce score se rapporte. Nulle quand le calcul n'a pas eu d'adresse à viser — comparaison à l'échelle de la commune, ou raison de silence qui vaut pour toutes. |
score |
nombre ou nul | — | Note de 0 à 10 ; nulle dès que le statut n'est pas « calcule » |
libelle |
chaîne ou nul | — | Lecture du score : « bonne opportunité », « dans le marché »… |
explication |
chaîne | oui | Ce que le score dit, ou pourquoi il n'y en a pas — en français (longueur 1–…) |
avertissement |
chaîne ou nul | — | Réserve à afficher avec le score, quand la comparaison porte sur des grandeurs qui ne se correspondent pas tout à fait. Le cas connu : une annonce qui n'affiche qu'un prix honoraires inclus, là où DVF enregistre le prix porté à l'acte. Un score assorti d'une réserve reste un score ; une réserve tue se lirait comme une certitude. |
ecart_relatif |
nombre ou nul | — | Écart au prix estimé : 0,12 signifie « 12 % au-dessus » |
prix_m2_annonce |
nombre ou nul | — | Prix au m² affiché par l'annonce |
prix_m2_median |
nombre ou nul | — | Prix au m² médian des ventes comparables, indexé à aujourd'hui |
estimation_basse_eur |
nombre ou nul | — | Premier quartile des comparables, appliqué à la surface annoncée |
estimation_mediane_eur |
nombre ou nul | — | Prix médian des comparables, appliqué à la surface annoncée |
estimation_haute_eur |
nombre ou nul | — | Troisième quartile des comparables, appliqué à la surface annoncée |
nb_comparables |
entier | — | Ventes retenues pour comparer (≥ 0) |
ventes_examinees |
entier | — | Ventes de la commune examinées avant filtrage (≥ 0) |
rayon_m |
nombre ou nul | — | Rayon autour du bien dans lequel les comparables ont été pris. Nul quand la commune entière a servi de terrain — le cas rural, faute de ventes assez proches. |
etapes |
liste de FilterStage |
— | Étapes du tamis des comparables, en chiffres : où les ventes disparaissent |
mutations_comparables |
liste de chaînes | — | Identifiants DVF des ventes retenues comme comparables. Ils permettent à une interface de désigner, dans une liste de ventes, celles qui ont réellement servi au calcul — sans réappliquer les règles de son côté. |
methodology_version |
chaîne | oui | Version de la méthode de calcul ayant produit ce résultat (longueur 1–…) |
sources_status |
SourceStatus |
— | État des ventes publiques (DVF) pendant ce calcul |
duration_ms |
entier | — | Durée du calcul en millisecondes (≥ 0) |
DelinquanceInfo
Ce que la délinquance enregistrée dit d'une commune, et ce qu'elle ne dit pas. Quatre limites de fond accompagnent ces chiffres, et l'interface doit les porter : * la maille est communale, le bien est à une adresse — une grande ville a des quartiers calmes et des quartiers agités, et le chiffre les moyenne ; * le lieu enregistré est celui du fait, pas celui du domicile — une commune qui porte une gare ou un centre commercial enregistre ce qui s'y produit, rapporté à ses seuls habitants ; * « enregistrée » n'est pas « commise » — une hausse peut signaler que les victimes portent davantage plainte ; * le millésime a un an et demi de retard — le producteur publie une fois l'an. Aucune note d'ensemble n'est calculée, et il ne faut pas en ajouter : additionner des cambriolages et des dégradations reviendrait à décider que l'un vaut l'autre. Le produit refuse déjà cela pour les risques naturels.
| Champ | Type | Requis | Sens |
|---|---|---|---|
annee |
entier | oui | Millésime des données (≥ 2016) |
indicateurs |
liste de IndicateurDelinquance |
— | Indicateurs retenus, dans l'ordre où ils s'affichent |
source |
chaîne | — | Producteur et licence — l'ODbL en fait une condition d'usage |
Diffuseurs
Combien de portails diffusent l'annonce, et lesquels, sans leurs liens.
| Champ | Type | Requis | Sens |
|---|---|---|---|
nombre |
entier | oui | Nombre de portails où la source des annonces a vu ce bien ; 0 hors d'une analyse par lien. Plusieurs agences : un mandat souvent non exclusif. (≥ 0) |
portails |
liste de chaînes | — | Leurs noms (« leboncoin », « seloger »…), sans doublon et sans leurs liens. |
EnvironnementApi
L'environnement de l'adresse retenue : risques, urbanisme, chantiers, terrain, toiture.
| Champ | Type | Requis | Sens |
|---|---|---|---|
adresse |
CandidatApi |
oui | L'adresse décrite : la première candidate de resolution. |
risques |
RiskProfile |
oui | Inondation, séisme, argiles, radon, risques recensés sur la commune et sites à risque autour du point — chaque famille avec son statut. |
urbanisme |
UrbanContext |
oui | La zone du document d'urbanisme au point, et les servitudes qui le couvrent. |
projets |
liste de ProjetApi |
— | Les autorisations d'urbanisme récentes autour du bien (Sitadel). |
terrain |
TerrainInfo ou nul |
— | La parcelle à l'adresse : sa surface, sa forme, de quel côté elle s'étend. Nul quand le cadastre n'a pas répondu ou n'a pas de parcelle à cet endroit. |
solaire |
SolaireInfo ou nul |
— | Ce que la toiture produirait avec des panneaux (PVGIS) ; nul quand le calcul n'a pas eu lieu. |
copropriete |
CoproprieteInfo ou nul |
— | La copropriété trouvée au registre national près de l'adresse, pour un appartement. Nul quand aucune n'est trouvée — ce qui ne dit pas qu'il n'y en a pas : la recherche est géographique. |
sources_status |
SourceStatus |
oui | État de chaque source pendant cet enrichissement. |
EvenementQuartier
Un évènement public à venir autour du bien.
Un acheteur qui visite un samedi matin ne sait pas qu'un marché occupe la place
tous les mercredis, ni qu'un festival s'y tient chaque été.
La source est contributive, et sa couverture le montre : environ une commune sur
cinq a un évènement à venir. Un secteur sans évènement n'est donc pas un secteur où
il ne se passe rien — c'est, le plus souvent, un secteur dont personne n'alimente
l'agenda. La section disparaît dans ce cas, plutôt que d'écrire « rien à signaler ».
distance_m peut être nulle : la source filtre par cercle mais ne rend pas la
distance, et un évènement qu'elle n'a pas situé n'est pas placé au hasard près du
bien.
| Champ | Type | Requis | Sens |
|---|---|---|---|
titre |
chaîne | oui | Intitulé de l'évènement, tel que l'agenda l'écrit (longueur 1–…) |
debut |
chaîne (date AAAA-MM-JJ) ou nul | — | Premier jour de l'évènement |
fin |
chaîne (date AAAA-MM-JJ) ou nul | — | Dernier jour de l'évènement |
periode |
chaîne ou nul | — | La période telle que la source l'écrit en français |
lieu |
chaîne ou nul | — | Nom du lieu (salle, place, parc) |
commune |
chaîne ou nul | — | Commune du lieu |
distance_m |
nombre ou nul | — | Distance au bien, en mètres ; nulle quand la source n'a pas situé l'évènement |
lien |
chaîne ou nul | — | Page publique de l'évènement |
agenda |
chaîne ou nul | — | Agenda d'origine, qui fait foi |
FenetreUsage
Les appels d'une fenêtre de temps, et ce qu'ils ont coûté.
| Champ | Type | Requis | Sens |
|---|---|---|---|
calls |
entier | oui | Nombre d'appels facturés ou non. (≥ 0) |
credits |
nombre | oui | Crédits consommés sur la fenêtre. (≥ 0) |
FilterStage
Une étape de filtrage traversée par un resolver, et ce qu'il en reste.
C'est la version chiffrée de ce que ResolverOutcome.detail raconte en
français : « le filtre surface, 0 restant ». Le texte se lit, ces étapes se
comptent — c'est sur elles que s'appuie le journal d'échec pour dire *où* les
candidats disparaissent, sans avoir à relire une phrase.
Deux nombres et un intitulé, sans aucune valeur venue de l'annonce : une étape est
par construction anonyme et peut donc être conservée.
| Champ | Type | Requis | Sens |
|---|---|---|---|
etape |
chaîne | oui | Intitulé du filtre, ex. « le filtre surface » (longueur 1–…) |
restants |
entier | oui | Nombre d'éléments encore en lice après ce filtre (≥ 0) |
FixedTechnology
Technologie d'accès fixe, et la part des locaux de la commune qu'elle dessert.
| Champ | Type | Requis | Sens |
|---|---|---|---|
code |
chaîne | oui | Code de la technologie, ex. « ftth » (longueur 1–…) |
libelle |
chaîne | oui | Intitulé en français (longueur 1–…) |
part_locaux |
nombre | oui | Part des locaux de la commune éligibles à cette technologie (≥ 0.0, ≤ 1.0) |
FloodRisk
Exposition de la commune au risque d'inondation. Le risque est communal, pas parcellaire : savoir qu'une commune est concernée ne dit pas qu'un logement donné l'est. Le champ se lit comme une invitation à consulter le zonage détaillé, pas comme un verdict sur le bien.
| Champ | Type | Requis | Sens |
|---|---|---|---|
concerne |
booléen | oui | La commune est-elle recensée comme inondable ? |
libelles |
liste de chaînes | — | Intitulés des risques d'inondation recensés |
atlas |
liste de chaînes | — | Bassins couverts par un atlas des zones inondables |
IndicateurDelinquance
Un fait de délinquance enregistré, situé par rapport à trois échelons.
Le taux seul ne veut rien dire. « 8,96 cambriolages pour mille logements » ne
se lit qu'en regard de ce qui se passe ailleurs : 6,73 dans le département, 5,78
dans la région, 5,63 dans le pays. C'est la comparaison qui informe, et c'est aussi
ce qui empêche le chiffre de devenir un jugement — on situe, on ne qualifie pas.
Le dénominateur n'est pas toujours la population, et rien ne le dit dans le nom
du taux : les cambriolages de logement se rapportent au nombre de logements, les
quatorze autres indicateurs aux habitants. Le champ unite le porte donc jusqu'à
l'affichage, faute de quoi la page écrirait « pour 1 000 habitants » sous un chiffre
qui n'en est pas un.
| Champ | Type | Requis | Sens |
|---|---|---|---|
nom |
chaîne | oui | Intitulé publié par le SSMSI (longueur 1–…) |
unite |
chaîne | oui | Ce à quoi le taux se rapporte (longueur 1–…) |
commune |
nombre ou nul | — | Taux de la commune ; vide quand le secret statistique le masque |
departement |
nombre ou nul | — | Le même taux à l'échelle du département, pour situer |
region |
nombre ou nul | — | Le même taux à l'échelle de la région |
france |
nombre ou nul | — | Le même taux à l'échelle de la France |
MissingField
Un champ absent qu'il vaut la peine de demander, et ce que sa venue changerait.
champ porte le nom du contrat de données, préfixé de sa famille
(dpe.date_etablissement) : une interface peut donc mettre en évidence le bon
champ de son formulaire sans table de correspondance.
| Champ | Type | Requis | Sens |
|---|---|---|---|
champ |
chaîne | oui | Le nom du champ dans le contrat, préfixé de sa famille (« dpe.date_etablissement », « property.surface_m2 ») |
intitule |
chaîne | oui | Nom du champ en français, tel qu'il s'affiche à côté d'une case à remplir |
pourquoi |
chaîne | oui | Ce que ce champ apporterait au résultat, en une phrase |
aide |
chaîne | oui | Où le chercher sur la page d'origine |
MobileCoverage
Présence d'un opérateur mobile aux abords de l'adresse. Ce qui est mesuré est la distance au site le plus proche de cet opérateur, non une couverture simulée : l'Arcep publie ses cartes de couverture en fichiers géographiques lourds, alors que la liste des sites ouverts commercialement est précise, datée, et suffit à dire quels opérateurs sont installés dans le secteur. Un site proche ne dit rien de la réception à l'intérieur du logement.
| Champ | Type | Requis | Sens |
|---|---|---|---|
operateur |
chaîne | oui | Nom de l'opérateur, ex. « Orange » (longueur 1–…) |
technologies |
liste de chaînes | — | Technologies ouvertes sur le site : « 2G », « 3G », « 4G », « 5G » |
distance_site_m |
nombre ou nul | — | Distance au site le plus proche de cet opérateur, en mètres |
NearbyAmenity
Équipement de la vie courante situé à proximité de l'adresse.
nom est presque toujours vide, et c'est normal : la Base permanente des
équipements publie le type d'un équipement (« Boulangerie-pâtisserie »), pas
son enseigne. Le champ existe pour les sources qui, elles, la publient — les
écoles, par exemple, portent bien un nom.
| Champ | Type | Requis | Sens |
|---|---|---|---|
categorie |
« alimentation » | « sante » | « education » | oui | « alimentation », « sante » ou « education » : la famille de l'équipement |
type |
chaîne | oui | Type d'équipement, ex. « Boulangerie-pâtisserie » (longueur 1–…) |
nom |
chaîne ou nul | — | Enseigne, lorsque la source la publie ; vide pour la BPE |
distance_m |
nombre ou nul | — | Distance à l'adresse de référence, en mètres |
code |
chaîne ou nul | — | Code du type d'équipement, ex. « B207 » |
lat |
nombre ou nul | — | Latitude (WGS 84), pour poser un repère ; nulle quand la source n'a pas situé l'élément |
lon |
nombre ou nul | — | Longitude, avec lat |
NeighborhoodResult
La vie quotidienne du quartier d'une adresse résolue.
Cinq sources indépendantes, interrogées en parallèle, qui échouent chacune de son
côté. Le dictionnaire statuts distingue famille par famille « la source n'a rien
dit » de « il n'y a rien » — sans lui, une panne de l'annuaire de l'éducation se
lirait « aucune école à proximité ».
La cinquième, les transports en commun, ne se lit pas sur le réseau mais dans un
miroir local : c'est la seule dont l'absence signifie « pas installé » plutôt que
« en panne », et c'est aussi pourquoi l'interface efface sa section quand elle
ne rend rien, au lieu d'écrire « aucun transport à proximité ». Le dire serait un
jugement là où ce n'est peut-être qu'une lacune de données.
| Champ | Type | Requis | Sens |
|---|---|---|---|
amenities |
liste de NearbyAmenity |
— | Équipements de la vie courante, du plus proche au plus lointain |
schools |
liste de SchoolInfo |
— | Établissements scolaires, du plus proche au plus lointain |
transit_stops |
liste de TransitStop |
— | Arrêts de transport en commun, du plus proche au plus lointain |
transit_source |
TransitSource ou nul |
— | Réseaux cités et date des données GTFS, exigés par leurs licences |
connectivity |
ConnectivityInfo ou nul |
— | Fibre, technologies fixes et couverture mobile à la commune ; nul = pas de réponse |
antennes |
liste de AntenneRelais |
— | Sites d'antennes-relais du secteur, du plus proche au plus lointain |
evenements |
liste de EvenementQuartier |
— | Évènements publics à venir autour du bien, du plus proche dans le temps |
air_quality |
AirQualityInfo ou nul |
— | Indice Atmo du jour pour la commune ; nul = commune absente du flux ou pas de réponse |
delinquance |
DelinquanceInfo ou nul |
— | Délinquance enregistrée de la commune, comparée à trois échelons |
statuts |
dictionnaire de « ok » | « degraded » | « down » | « not_used » | — | État de la source pour chaque famille d'informations |
sources_status |
SourceStatus |
— | État de chaque source pendant la description du quartier |
duration_ms |
entier | — | Durée totale en millisecondes (≥ 0) |
NotesParCandidat
Pour une adresse candidate, une note de prix — ou une fourchette — par rayon.
| Champ | Type | Requis | Sens |
|---|---|---|---|
adresse |
chaîne ou nul | oui | Le label de l'adresse candidate à laquelle ces notes se rapportent. |
par_rayon |
dictionnaire de DealScoreResult |
oui | Clé : le rayon en mètres (« 300 », « 500 »…), valeur : le résultat. |
PluZone
Zone du document d'urbanisme couvrant le point demandé.
code est celui du règlement, tel que la commune l'a écrit (« UCM1.1.1 ») ;
type_zone est la classification nationale, la seule comparable d'une commune à
l'autre.
| Champ | Type | Requis | Sens |
|---|---|---|---|
code |
chaîne ou nul | — | Code de la zone au règlement du document, ex. « UCM1.1.1 » |
libelle |
chaîne ou nul | — | Intitulé de la zone, tel que publié |
type_zone |
chaîne ou nul | — | Classification nationale : « U » urbaine, « AU » à urbaniser, « A » agricole, « N » naturelle |
document |
chaîne ou nul | — | Nature du document dont la zone est issue : PLU, PLUi, PSMV, CC… |
date_validation |
chaîne (date AAAA-MM-JJ) ou nul | — | Date de validation du document, si elle est publiée |
PollutantIndex
Sous-indice de qualité de l'air d'un polluant, de 1 (bon) à 6 (extrêmement mauvais).
| Champ | Type | Requis | Sens |
|---|---|---|---|
code |
chaîne | oui | Code du polluant, ex. « pm10 » (longueur 1–…) |
libelle |
chaîne | oui | Nom du polluant en français (longueur 1–…) |
indice |
entier | oui | Sous-indice ATMO du polluant (≥ 1, ≤ 6) |
ProjetApi
Un permis de construire voisin, sans sa parcelle.
| Champ | Type | Requis | Sens |
|---|---|---|---|
type_autorisation |
chaîne | oui | Type d'autorisation d'urbanisme : « PC » permis de construire, « DP » déclaration préalable, « PA » permis d'aménager… |
nature |
chaîne | oui | Résumé du projet, en une ligne |
distance_m |
nombre ou nul | — | Distance entre le bien et le terrain du projet, en mètres ; nulle quand le cadastre n'a pas su le situer — le projet est alors signalé sans distance. |
date_autorisation |
chaîne (date AAAA-MM-JJ) ou nul | — | Date à laquelle l'autorisation a été accordée. |
etat |
chaîne | oui | Avancement du chantier : « autorise », « commence », « termine », « annule » ou « inconnu ». |
logements_crees |
entier ou nul | — | Nombre de logements créés, quand la déclaration le dit. |
surface_m2 |
nombre ou nul | — | Surface de plancher créée, en m². |
adresse |
chaîne ou nul | — | Adresse du projet, telle que déclarée. |
lat |
nombre ou nul | — | Position du terrain du projet, pour une carte ; vide exactement quand distance_m l'est. |
lon |
nombre ou nul | — | Longitude, avec lat. |
RadonPotential
Potentiel radon de la commune, de 1 (faible) à 3 (significatif).
| Champ | Type | Requis | Sens |
|---|---|---|---|
potentiel |
entier | oui | Classe de potentiel radon (≥ 1, ≤ 3) |
libelle |
chaîne | oui | Lecture en français de la classe (longueur 1–…) |
RecordedRisk
Risque naturel ou technologique recensé par l'État sur la commune.
| Champ | Type | Requis | Sens |
|---|---|---|---|
code |
chaîne | oui | Code du risque au référentiel GASPAR (longueur 1–…) |
libelle |
chaîne | oui | Intitulé du risque, tel que publié (longueur 1–…) |
ResolutionApi
La résolution telle que l'API la rend : les mêmes candidats, avec leur lien Maps.
| Champ | Type | Requis | Sens |
|---|---|---|---|
request_id |
chaîne | oui | Identifiant de la demande, repris dans le journal des appels (longueur 1–…) |
status |
« resolved » | « ambiguous » | « unresolved » | oui | Si le moteur a tranché (et non s'il a raison) : « resolved », un niveau a désigné un bien ; « ambiguous », des candidats existent mais aucun niveau n'a su choisir ; « unresolved », aucun candidat. La sûreté se lit sur confidence_label, qui peut valoir « moyen » sur un « resolved ». |
candidates |
liste de CandidatApi |
— | Les adresses candidates, de la plus sûre à la moins sûre, cinq au plus. Vide quand rien n'a été trouvé : c'est une réponse, pas une erreur. |
confidence_label |
« eleve » | « moyen » | « faible » ou nul | — | Étiquette du premier candidat, le mieux noté : « eleve » à partir de 0,80, « moyen » à partir de 0,50, « faible » en dessous ; nulle si aucun candidat |
resolved_by_level |
entier ou nul | — | Niveau de résolution ayant produit le premier candidat, le mieux noté |
levels_attempted |
liste d'entiers | — | Les niveaux parcourus, dans l'ordre : 1, le numéro du diagnostic ; 2, le recoupement des diagnostics de la commune (et la position que publie la source) ; 3, les repères cités dans le texte, puis la contenance du terrain ; 4, les ventes et le cadastre. La descente s'arrête dès qu'un niveau conclut à 0,80 ou plus |
sources_status |
SourceStatus |
— | État de chaque source publique pendant la résolution |
search_area |
objet ou nul | — | Secteur où se trouve vraisemblablement le bien, déduit des repères cités dans l'annonce. Renseigné même sans candidat : ne pas savoir l'adresse n'empêche pas de savoir le quartier. |
duration_ms |
entier | — | Durée totale en millisecondes (≥ 0) |
interrompue |
booléen | — | La descente a-t-elle été écourtée faute de temps ? Vrai quand un niveau a été coupé, ou n'a pas été entamé, parce que le temps imparti était écoulé. Les candidats déjà trouvés sont conservés — c'est tout l'objet — mais l'appelant doit pouvoir dire que la recherche n'est pas allée à son terme, plutôt que de présenter une liste écourtée comme complète. |
RiskProfile
Ce que les bases publiques disent des risques à cette adresse.
Chaque famille est facultative : None signifie « pas de réponse », ce qui n'a
rien à voir avec « pas de risque ». Le dictionnaire statuts permet de faire la
différence, famille par famille.
| Champ | Type | Requis | Sens |
|---|---|---|---|
inondation |
FloodRisk ou nul |
— | Ce que l'atlas des zones inondables dit de la commune ; nul = pas de réponse (voir statuts) |
seisme |
SeismicZone ou nul |
— | Zone de sismicité de la commune (1 à 5) ; nul = pas de réponse |
argiles |
ClayHazard ou nul |
— | Exposition au retrait-gonflement des argiles, lue au point ; nul = pas de réponse |
radon |
RadonPotential ou nul |
— | Potentiel radon de la commune (1 à 3) ; nul = pas de réponse |
risques_recenses |
liste de RecordedRisk |
— | Liste brute des risques recensés sur la commune |
sites |
liste de SiteARisque |
— | Ce que les bases publiques recensent autour du point |
statuts |
dictionnaire de « ok » | « degraded » | « down » | « not_used » | — | État de la source pour chaque famille de risques |
SchoolIndicators
Résultats nationaux publiés pour un collège ou un lycée. La valeur ajoutée compte plus que le taux de réussite, et c'est tout l'objet de ce modèle. Un lycée qui affiche 98 % de réussite dans un quartier favorisé n'enseigne pas forcément mieux qu'un lycée à 82 % ailleurs : le taux brut mesure d'abord le public accueilli. La valeur ajoutée, elle, compare le résultat obtenu à celui qu'on attendait *de ces élèves-là* — elle est publiée pour cette raison précise, et c'est elle qui dit quelque chose de l'établissement. Un écart positif se lit « fait mieux que ce que son public laissait attendre ».
| Champ | Type | Requis | Sens |
|---|---|---|---|
examen |
« brevet » | « baccalaureat » | oui | Examen mesuré : brevet ou baccalauréat |
annee |
entier | oui | Millésime de la session (≥ 1990, ≤ 2100) |
taux_reussite |
nombre ou nul | — | Taux de réussite brut, en pourcentage |
valeur_ajoutee |
nombre ou nul | — | Écart au taux attendu compte tenu du public accueilli, en points. Négatif quand l'établissement fait moins bien qu'attendu. |
taux_mentions |
nombre ou nul | — | Part des candidats reçus avec mention, en pourcentage |
nb_candidats |
entier ou nul | — | Nombre de candidats présentés |
source |
chaîne | oui | Jeu de données d'origine, cité pour que le chiffre soit vérifiable (longueur 1–…) |
SchoolInfo
Établissement scolaire proche, tel que l'annuaire de l'éducation le publie.
secteur dit public ou privé, la seule acception du mot que l'annuaire
renseigne. Il ne dit rien de la carte scolaire : le secteur de rattachement d'un
logement se décide commune par commune et ne fait l'objet d'aucune base nationale.
| Champ | Type | Requis | Sens |
|---|---|---|---|
nom |
chaîne | oui | Nom de l'établissement (longueur 1–…) |
type |
chaîne | oui | Nature : « Ecole », « Collège », « Lycée »… (longueur 1–…) |
distance_m |
nombre ou nul | — | Distance à l'adresse de référence, en mètres |
secteur |
chaîne ou nul | — | Secteur public ou privé, quand l'annuaire le renseigne |
education_prioritaire |
chaîne ou nul | — | Appartenance à l'éducation prioritaire : « REP », « REP+ » |
commune |
chaîne ou nul | — | Commune de l'établissement |
lat |
nombre ou nul | — | Latitude (WGS 84), pour poser un repère ; nulle quand la source n'a pas situé l'élément |
lon |
nombre ou nul | — | Longitude, avec lat |
uai |
chaîne ou nul | — | Identifiant national de l'établissement. C'est la seule clé qui rapproche l'annuaire des jeux de résultats — deux établissements peuvent porter le même nom dans deux communes voisines. |
nature |
« maternelle » | « elementaire » | « primaire » | « college » | « lycee » ou nul | — | Maternelle, élémentaire, primaire, collège ou lycée |
indicateurs |
SchoolIndicators ou nul |
— | Résultats nationaux, quand ils existent. Vides pour une école maternelle ou élémentaire : l'État ne publie aucun résultat par école primaire, et cette absence est une décision, pas une lacune. |
SeismicZone
Zone de sismicité réglementaire de la commune, de 1 (très faible) à 5 (forte).
| Champ | Type | Requis | Sens |
|---|---|---|---|
zone |
entier | oui | Numéro de la zone de sismicité (≥ 1, ≤ 5) |
libelle |
chaîne | oui | Intitulé publié, ex. « 1 - TRES FAIBLE » (longueur 1–…) |
Servitude
Servitude d'utilité publique dont l'assiette couvre le point demandé.
| Champ | Type | Requis | Sens |
|---|---|---|---|
code |
chaîne ou nul | — | Catégorie officielle, ex. « AC1 » |
libelle |
chaîne | oui | Intitulé de la servitude (longueur 1–…) |
nature |
chaîne ou nul | — | Nature de l'assiette, ex. « Périmètre des abords » |
SiteARisque
Un site recensé autour du bien, et ce que la source en dit. La différence avec le reste du profil est de nature, pas de degré. Les autres familles portent un *classement réglementaire* qui vaut pour toute une commune — « sismicité 3 », « potentiel radon 2 ». Celles-ci portent des objets situés : une usine à quatre cents mètres, une ancienne fonderie sur la parcelle d'à côté, une cavité sous la rue. On dit ce que la source recense et à quelle distance ; on n'en tire ni note, ni couleur, ni « quartier à risque ». C'est le vocabulaire du constat, et il compte ici autant que pour la délinquance : une ancienne activité industrielle ne dit rien de ce qu'on respire aujourd'hui, et le laisser croire serait inventer une mesure que personne n'a faite.
| Champ | Type | Requis | Sens |
|---|---|---|---|
famille |
« installation_classee » | « ancien_site_industriel » | « cavite » | « mouvement_terrain » | oui | « installation_classee » (installation classée pour la protection de l'environnement), « ancien_site_industriel » (inventaire des anciens sites industriels et activités de service), « cavite » (cavité souterraine recensée), « mouvement_terrain » (mouvement de terrain recensé) |
libelle |
chaîne | oui | Ce que la source nomme : raison sociale, type… |
detail |
chaîne ou nul | — | Activité, régime, fiabilité — ce que la source ajoute au nom |
seveso |
chaîne ou nul | — | Le statut Seveso publié, quand il existe, sans déduction |
distance_m |
nombre ou nul | — | Distance au bien. Nulle quand la source n'a pas situé le site |
lat |
nombre ou nul | — | Latitude (WGS 84), pour poser un repère ; nulle quand la source n'a pas situé l'élément |
lon |
nombre ou nul | — | Longitude, avec lat |
date_maj |
chaîne (date AAAA-MM-JJ) ou nul | — | Date de mise à jour publiée. Un relevé de 2014 se dit comme tel |
fiche_url |
chaîne ou nul | — | La fiche publique du site, quand la source en publie une |
SolaireInfo
Ce qu'une toiture produirait, si on y posait des panneaux.
Un potentiel théorique, pas un devis : la production dépend de l'ensoleillement, de
l'inclinaison et de l'orientation ; le prix d'une installation dépend de
l'installateur, du raccordement, de la charpente et des aides du moment. Le produit
refuse déjà d'écrire un montant d'aide à la rénovation, et pour la
même raison.
orientation_supposee est la réserve principale : LogiScan ne connaît pas la
pente ni l'orientation du toit — aucune source publique ne les publie. Sans elle,
un potentiel calculé pour un sud théorique se lirait comme un potentiel mesuré sur
ce toit-ci.
| Champ | Type | Requis | Sens |
|---|---|---|---|
production_kwh_an |
nombre | oui | Production annuelle estimée, en kWh (> 0) |
puissance_kwc |
nombre | oui | Puissance crête retenue, en kWc (> 0) |
inclinaison_degres |
entier | oui | Inclinaison supposée du toit (≥ 0, ≤ 90) |
orientation |
chaîne | oui | Orientation retenue, en toutes lettres (longueur 1–…) |
orientation_supposee |
booléen | — | Vrai quand l'orientation est une hypothèse |
attribution |
chaîne | oui | La mention que la source exige (longueur 1–…) |
SourceStatus
État de chaque source publique à l'issue d'une résolution ou d'un enrichissement. Quatre états, les mêmes pour toutes : « ok », la source a répondu et a été lue ; « degraded », elle a répondu mais sa réponse était inexploitable ; « down », elle n'a pas répondu ; « not_used », elle n'a pas été sollicitée pour cet appel. Une source « down » ou « degraded » laisse un vide dans la réponse, pas un zéro : ce vide se lit « la source n'a rien dit », pas « il n'y a rien ».
| Champ | Type | Requis | Sens |
|---|---|---|---|
ademe |
« ok » | « degraded » | « down » | « not_used » | — | ADEME : les diagnostics de performance énergétique (DPE). |
ademe_local |
« ok » | « degraded » | « down » | « not_used » | — | D'où les diagnostics ont été lus, et non une source de plus : « ok », depuis la copie locale de l'ADEME ; « down », il a fallu se rabattre sur l'API ; « not_used », aucune copie locale. La donnée est la même. |
ban |
« ok » | « degraded » | « down » | « not_used » | — | Base Adresse Nationale : le géocodage des adresses. |
ign |
« ok » | « degraded » | « down » | « not_used » | — | Géoplateforme de l'IGN : les lieux nommés que cite l'annonce (parcs, quartiers). |
dvf |
« ok » | « degraded » | « down » | « not_used » | — | Demandes de valeurs foncières : les ventes enregistrées. |
cadastre |
« ok » | « degraded » | « down » | « not_used » | — | Cadastre : les parcelles, pour la résolution comme pour les chantiers. |
georisques |
« ok » | « degraded » | « down » | « not_used » | — | Géorisques : inondation, séisme, argiles, radon, sites à risque. |
gpu |
« ok » | « degraded » | « down » | « not_used » | — | Géoportail de l'urbanisme : zonage et servitudes. |
sitadel |
« ok » | « degraded » | « down » | « not_used » | — | Sitadel : les autorisations d'urbanisme (permis, déclarations). |
bpe |
« ok » | « degraded » | « down » | « not_used » | — | Base permanente des équipements (INSEE) : commerces, santé, écoles. |
education |
« ok » | « degraded » | « down » | « not_used » | — | Ministère de l'Éducation nationale : établissements et résultats. |
arcep |
« ok » | « degraded » | « down » | « not_used » | — | Arcep : fibre, technologies fixes et couverture mobile. |
atmo |
« ok » | « degraded » | « down » | « not_used » | — | Atmo : l'indice de qualité de l'air du jour. |
transit |
« ok » | « degraded » | « down » | « not_used » | — | Arrêts de transport en commun, lus dans une copie locale des réseaux (Point d'accès national) : « not_used » y signifie le plus souvent « aucune copie installée ». |
TerrainInfo
La forme d'un terrain, et de quel côté il s'étend. Une annonce écrit « exposition sud-ouest » et personne ne peut le vérifier. Le plan cadastral publie le contour de la parcelle tel qu'il est levé, la Base Adresse Nationale publie le point d'adresse — qui se trouve du côté de la voie. La direction qui va du point d'adresse vers le centre du terrain est celle où le terrain s'étend, c'est-à-dire, pour une maison individuelle, celle du jardin. C'est une approximation, et le produit le dit : le point d'adresse n'est pas la porte d'entrée, et une parcelle en L a un centre qui ne veut pas dire grand-chose. Elle a en revanche une propriété que rien d'autre n'a — elle se vérifie, le contour étant public. L'orientation se tait sous une profondeur minimale. Sur un terrain de dix mètres, l'écart entre le point d'adresse et le centre est du même ordre que l'imprécision du point : la direction serait du bruit présenté comme une information.
| Champ | Type | Requis | Sens |
|---|---|---|---|
aire_m2 |
nombre | oui | Aire calculée sur le contour, trous déduits (≥ 0) |
contenance_m2 |
entier ou nul | — | Contenance cadastrale publiée — la grandeur juridique, qui fait foi |
orientation |
chaîne ou nul | — | Direction dans laquelle le terrain s'étend, en toutes lettres |
cap_degres |
nombre ou nul | — | La même direction, en degrés depuis le nord |
profondeur_m |
nombre ou nul | — | Distance du point d'adresse au centre du terrain |
TransitSource
D'où viennent les arrêts affichés, et de quand ils datent. Ce n'est pas une politesse, c'est une condition d'usage. Les jeux de données du Point d'accès national sont publiés sous des licences — Licence Ouverte, ODbL selon les réseaux — qui exigent la mention de la source. Le modèle la porte à côté des arrêts eux-mêmes, pour la même raison que l'attribution d'un fond de carte vit à côté de la couche : séparés, les deux finissent par diverger, et la page cite alors une source qu'elle n'affiche pas.
| Champ | Type | Requis | Sens |
|---|---|---|---|
reseaux |
liste de chaînes | — | Noms des réseaux dont un arrêt est affiché |
date_donnees |
chaîne (date AAAA-MM-JJ) ou nul | — | Date de l'import le plus ancien parmi les arrêts affichés |
TransitStop
Arrêt de transport en commun proche de l'adresse.
Ce que la Base permanente des équipements ne contenait pas. Le domaine
« transports » de la BPE tient en cinq codes — taxi, stations-service,
parkings, aéroport, gares — et ne recense aucun arrêt de bus ou de
métro : un arrêt n'est pas un équipement au sens de l'Insee. Ces arrêts-ci
viennent des fichiers GTFS que les réseaux publient sur le Point d'accès
national, importés une fois par mois dans un miroir local.
passages_jour est une fréquence indicative, et le mot compte : c'est
le nombre de passages comptés sur une journée de semaine type, tous sens et
toutes lignes confondus. Il distingue un arrêt desservi quatre fois par jour
d'un arrêt desservi toutes les cinq minutes — ce qui est la seule question
qu'un acheteur se pose. Il ne dit ni les horaires, ni les correspondances, ni
ce qui circule le dimanche : LogiScan n'importe pas les horaires détaillés,
qui pèsent l'essentiel de la masse d'un GTFS et ne servent pas ici.
temps_marche_min est calculé à vol d'oiseau : c'est un ordre de grandeur,
pas un itinéraire, et l'interface doit le dire comme elle le dit déjà des
commerces.
| Champ | Type | Requis | Sens |
|---|---|---|---|
nom |
chaîne | oui | Nom de l'arrêt, tel que le réseau le publie (longueur 1–…) |
mode |
« metro » | « tram » | « train » | « bus » | « ferry » | « funiculaire » | « autre » | oui | Mode de transport desservant l'arrêt |
lignes |
liste de chaînes | — | Noms courts des lignes desservant l'arrêt, ex. « 2 », « CO1 » |
distance_m |
nombre ou nul | — | Distance à l'adresse de référence, en mètres |
temps_marche_min |
entier ou nul | — | Temps de marche estimé à vol d'oiseau, en minutes |
passages_jour |
entier ou nul | — | Passages comptés un jour de semaine type ; vide si non calculable |
lat |
nombre ou nul | — | Latitude (WGS 84), pour poser un repère ; nulle quand la source n'a pas situé l'élément |
lon |
nombre ou nul | — | Longitude, avec lat |
UrbanContext
Ce que le document d'urbanisme dit du point demandé.
| Champ | Type | Requis | Sens |
|---|---|---|---|
zonage |
PluZone ou nul |
— | La zone du document d'urbanisme qui couvre le point ; nul = pas de réponse ou pas de document |
servitudes |
liste de Servitude |
— | Servitudes notables couvrant le point |
statuts |
dictionnaire de « ok » | « degraded » | « down » | « not_used » | — | État de la source pour chaque famille d'informations |