Parcellaire — cadastre, DVF & DPE

French real estate data: cadastre, DVF sales, DPE energy ratings, price estimates, parcel context

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
94%
Vollständigkeit des Schemas
85%
Qualität der Benennung
97%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (1)

  • LOWTool 'get_parcelle' description lacks action verbin get_parcelle

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~7,553Tokens (Tool-Definitionen)
~4.8 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (5.90% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "parcellaire": {
      "url": "https://parcellai.re/api/mcp"
    }
  }
}

Remote-Endpunkte

https://parcellai.re/api/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (12)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢search_communes(query)

Recherche une commune française par nom ou code postal. Retourne le code INSEE (nécessaire pour get_commune_stats), les coordonnées et l'URL de la page cadastre quand elle existe. À utiliser en premier quand on ne connaît que le nom d'une ville.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "description": "Nom de commune ou code postal, ex: 'Bordeaux' ou '33000'"
    }
  },
  "required": [
    "query"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢find_parcelles_by_address(address)

Géocode une adresse postale française (Base Adresse Nationale) puis retourne la ou les parcelles cadastrales correspondantes avec leur IDU. L'IDU permet ensuite d'appeler get_parcelle. Donner l'adresse la plus complète possible (numéro, rue, commune).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "minLength": 3,
      "description": "Adresse postale, ex: '10 quai des Chartrons, Bordeaux'"
    }
  },
  "required": [
    "address"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢get_parcelle(parcelle_id, include, max_items)

Retourne la fiche de base d'une parcelle cadastrale à partir de son IDU (14 caractères) : surface, adresse, commune. Tout le reste est à demander via 'include', uniquement pour les sections utiles à la question (chaque section allonge la réponse) : parcelles adjacentes (parcelles_adjacentes : celles qui la touchent, avec surface, bâti et nombre de DPE ; pour toute question de voisinage ou quand l'adresse ou un DPE pointe une petite parcelle sans bâti), bâtiments (batiments), transactions immobilières (dvf), diagnostics énergétiques (dpes), zonage d'urbanisme (urbanisme, la plus lente), données bâtiment BDNB (bdnb), piscines, copropriétés (rnc), propriétaires personnes morales (majic_pm), permis de construire (sitadel).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "parcelle_id": {
      "type": "string",
      "minLength": 14,
      "maxLength": 14,
      "description": "IDU de la parcelle, 14 caractères, ex: '33063000IK0001'"
    },
    "include": {
      "description": "Sections à inclure, ex: ['dvf', 'dpes']. Aucune par défaut : sans include, seule la fiche de base de la parcelle est retournée.",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "parcelles_adjacentes",
                  "batiments",
                  "dvf",
                  "dpes",
                  "urbanisme",
                  "bdnb",
                  "piscines",
                  "rnc",
                  "majic_pm",
                  "sitadel"
                ]
              }
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "max_items": {
      "description": "Nombre maximum d'éléments par section liste (défaut 30). Les sections tronquées sont signalées dans 'sections_tronquees'.",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 1,
              "maximum": 200
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "parcelle_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢get_dpe(dpe_id)

Retourne le résumé d'un DPE à partir de son numéro ADEME (13 caractères, présent sur les annonces immobilières et les diagnostics) : classe énergie, GES, surface, type de bien, localisation, ainsi qu'une estimation de prix du bien quand elle est possible.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "dpe_id": {
      "type": "string",
      "minLength": 8,
      "description": "Numéro ADEME du DPE, ex: '2233E1234567X'"
    }
  },
  "required": [
    "dpe_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢estimate_property_price(address, lat, lng, code_insee, type_bien, ...)

Estime le prix de vente d'une maison ou d'un appartement en France à partir des transactions DVF récentes et d'un modèle statistique national. Localisation par 'address' OU par 'lat' + 'lng' + 'code_insee'. Retourne un prix total, une fourchette, un prix au m² et des facteurs explicatifs.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "address": {
      "description": "Adresse du bien (option la plus simple)",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "lat": {
      "description": "Latitude, si pas d'adresse",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "lng": {
      "description": "Longitude, si pas d'adresse",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "code_insee": {
      "description": "Code INSEE de la commune, si pas d'adresse",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string",
              "minLength": 5,
              "maxLength": 5
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "type_bien": {
      "type": "string",
      "enum": [
        "maison",
        "appartement"
      ],
      "description": "Type de bien : 'maison' ou 'appartement'"
    },
    "surface_m2": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Surface habitable en m², nombre, ex: 85"
    },
    "classe_dpe": {
      "description": "Classe DPE si connue (affine l'estimation)",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G"
              ]
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "annee_construction": {
      "description": "Année de construction, ex: 1975 (affine l'estimation)",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "terrain_m2": {
      "description": "Surface du terrain en m² (maisons)",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "type_bien",
    "surface_m2"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢get_commune_stats(insee_id, commune)

Retourne les statistiques d'une commune française : parcelles et bâtiments, prix au m² et volumes de transactions DVF par année, répartition des classes DPE, taux de propriétaires, logements vacants, etc. Identifier la commune par 'insee_id' (fiable) ou par 'commune' (nom ou code postal).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "insee_id": {
      "description": "Code INSEE de la commune (prioritaire si fourni)",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string",
              "minLength": 5,
              "maxLength": 5
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "commune": {
      "description": "Nom ou code postal de la commune, ex: 'Bordeaux'",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢search_parcelles(region, departement, commune, viewport, surface_parcelle_m2, ...)

Recherche des parcelles cadastrales dans une zone avec les filtres de la carte parcellai.re/carte : surfaces, DPE, ventes DVF, année de construction, piscines, permis de construire, copropriétés, propriétaires personnes morales… Définir la zone par 'commune' (nom), 'departement' (code ou nom), 'region' (code ou nom) OU par 'viewport'. Région + SIREN est supporté sans commune. Omettre les filtres non demandés ; une valeur vide ou null signifie aucun filtre. Retourne le nombre total de parcelles, une PAGE de résultats détaillés et un lien vers la carte interactive. Résultats paginés : 'nb_parcelles' est le total, mais seules 'limit' parcelles (défaut 20, max 50) sont détaillées à partir de 'offset'. Vérifier 'pagination.has_more' et relancer avec 'offset' = 'pagination.next_offset' pour les pages suivantes. Si la zone est trop large, retourne une répartition agrégée par commune.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "region": {
      "description": "Nom ou code INSEE de la région, ex: 'Bretagne', 'Île-de-France', '52'. Recherche dans tous ses départements couverts (France métropolitaine hors Corse).",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "departement": {
      "description": "Code ou nom du département, ex: '49', 'Maine-et-Loire'. Peut aussi restreindre une commune ou un viewport.",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "commune": {
      "description": "Nom de la commune où chercher, ex: 'Angers'",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "viewport": {
      "description": "Zone géographique explicite (alternative à commune). Hauteur ≤ 20 km pour un détail parcelle par parcelle",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "sw_lat": {
                  "type": "number"
                },
                "sw_lng": {
                  "type": "number"
                },
                "ne_lat": {
                  "type": "number"
                },
                "ne_lng": {
                  "type": "number"
                }
              },
              "required": [
                "sw_lat",
                "sw_lng",
                "ne_lat",
                "ne_lng"
              ]
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "surface_parcelle_m2": {
      "description": "Une seule surface de parcelle en m² par appel. Nombre ou texte : 250 ou '250' (exact), '100-500' (plage), '100-' (minimum), '-500' (maximum). Un entier seul est quasi exact (tolérance d'arrondi) : pour une surface approximative (« environ 600 m² »), passer une plage, ex: '540-660'. Pour plusieurs surfaces exactes, effectuer un appel séparé par surface; ne jamais fournir de tableau ni de liste séparée par des virgules.",
      "anyOf": [
        {
          "anyOf": [
            {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "surface_habitable_m2": {
      "description": "Surface habitable (DPE) en m². Nombre ou texte : 250 ou '250' (exact), '100-500' (plage), '100-' (minimum), '-500' (maximum). Un entier seul est quasi exact : pour une surface approximative, passer une plage, ex: '135-145'.",
      "anyOf": [
        {
          "anyOf": [
            {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "surface_batiment_m2": {
      "description": "Emprise au sol d'un bâtiment en m². Nombre ou texte : 250 ou '250' (exact), '100-500' (plage), '100-' (minimum), '-500' (maximum)",
      "anyOf": [
        {
          "anyOf": [
            {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "nombre_batiments": {
      "description": "Nombre de bâtiments sur la parcelle. Nombre ou texte : 250 ou '250' (exact), '100-500' (plage), '100-' (minimum), '-500' (maximum)",
      "anyOf": [
        {
          "anyOf": [
            {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "annee_construction": {
      "description": "Année de construction (BDNB). Nombre ou texte : 250 ou '250' (exact), '100-500' (plage), '100-' (minimum), '-500' (maximum)",
      "anyOf": [
        {
          "anyOf": [
            {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "classe_dpe": {
      "description": "Classe énergie d'un logement. Clé exacte: classe_dpe; valeur: une lettre A-G.",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G"
              ]
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "conso_dpe_kwh_m2": {
      "description": "Consommation énergie primaire en kWh/m²/an (alternative à classe_dpe). Nombre ou texte : 250 ou '250' (exact), '100-500' (plage), '100-' (minimum), '-500' (maximum)",
      "anyOf": [
        {
          "anyOf": [
            {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "classe_ges": {
      "description": "Classe GES. Clé exacte: classe_ges; valeur: une lettre A-G.",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G"
              ]
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "date_dpe": {
      "description": "Date d'établissement du DPE. Année (2021) ou texte : '2021', '2021-06', ou plage '2019-2024'",
      "anyOf": [
        {
          "anyOf": [
            {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "prix_vente_eur": {
      "description": "Prix de la dernière vente DVF en euros. Nombre ou texte : 250 ou '250' (exact), '100-500' (plage), '100-' (minimum), '-500' (maximum)",
      "anyOf": [
        {
          "anyOf": [
            {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "date_vente": {
      "description": "Date de vente DVF. Année (2021) ou texte : '2021', '2021-06', ou plage '2019-2024'",
      "anyOf": [
        {
          "anyOf": [
            {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "has_piscine": {
      "description": "Uniquement les parcelles avec piscine",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "surface_piscine_m2": {
      "description": "Surface de la piscine en m². Nombre ou texte : 250 ou '250' (exact), '100-500' (plage), '100-' (minimum), '-500' (maximum)",
      "anyOf": [
        {
          "anyOf": [
            {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "has_permis_construire": {
      "description": "Uniquement les parcelles avec permis de construire",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "date_permis_construire": {
      "description": "Date du permis de construire. Année (2021) ou texte : '2021', '2021-06', ou plage '2019-2024'",
      "anyOf": [
        {
          "anyOf": [
            {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "has_copropriete": {
      "description": "Uniquement les parcelles en copropriété",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "has_proprietaire_personne_morale": {
      "description": "Uniquement les parcelles détenues par une personne morale (société, collectivité…)",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "siren": {
      "description": "SIREN du propriétaire personne morale",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "limit": {
      "description": "Nombre de parcelles détaillées retournées par page (défaut 20, max 50)",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 1,
              "maximum": 50
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "offset": {
      "description": "Index de départ pour la pagination (défaut 0). Utiliser pagination.next_offset pour la page suivante.",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢geolocate_listing(url)

Analyse l'URL d'une annonce immobilière française (SeLoger, PAP, Bien'ici, Le Figaro Immobilier…) : extrait les caractéristiques du bien (surface, DPE, commune, terrain) puis identifie les parcelles cadastrales candidates en croisant avec la base des DPE. Service gratuit avec une limite GLOBALE de 50 analyses par heure, tous clients MCP confondus, sans limite individuelle — si la limite est atteinte (erreur 429), NE PAS réessayer immédiatement.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "description": "URL complète de l'annonce immobilière"
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢get_parcelle_context(parcelle_id, risques, fibre, loyers, ecoles, ...)

Retourne l'environnement d'une parcelle cadastrale (IDU 14 caractères) à partir de sources publiques (Géorisques, ARCEP, ministère de l'Éducation, observatoires des loyers…). Passer à true uniquement les sections utiles à la question, ex: { risques: true, fibre: true }. Sans aucune section à true, aucune donnée d'environnement n'est retournée.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "parcelle_id": {
      "type": "string",
      "minLength": 14,
      "maxLength": 14,
      "description": "IDU de la parcelle, 14 caractères, ex: '33063000IK0001'"
    },
    "risques": {
      "description": "Risques Géorisques : inondation, argiles, radon, sismicité, pollution…",
      "type": "boolean"
    },
    "fibre": {
      "description": "Éligibilité fibre et opérateurs (ARCEP)",
      "type": "boolean"
    },
    "loyers": {
      "description": "Loyers de référence en €/m²",
      "type": "boolean"
    },
    "ecoles": {
      "description": "Écoles proches",
      "type": "boolean"
    },
    "secteur_scolaire": {
      "description": "Établissements du secteur scolaire",
      "type": "boolean"
    },
    "commerces": {
      "description": "Commerces proches",
      "type": "boolean"
    },
    "sante": {
      "description": "Médecins, pharmacies… proches",
      "type": "boolean"
    },
    "recharge": {
      "description": "Bornes de recharge proches",
      "type": "boolean"
    },
    "restrictions_eau": {
      "description": "Arrêtés de restriction d'eau (sécheresse) en cours",
      "type": "boolean"
    },
    "terrain": {
      "description": "Relief et altitude",
      "type": "boolean"
    },
    "emprise": {
      "description": "Emprise du bâti au sol",
      "type": "boolean"
    },
    "filiation": {
      "description": "Historique des découpages cadastraux",
      "type": "boolean"
    }
  },
  "required": [
    "parcelle_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢find_parcelles_by_criteria(commune, code_postal, type_bien, surface_habitable_m2, surface_terrain_m2, ...)

Identifie les parcelles candidates d'un bien immobilier à partir de ses caractéristiques (celles d'une annonce : commune, surface, classe et consommation DPE, GES, date du DPE, année de construction, terrain), en croisant avec la base des DPE et des ventes DVF. Équivalent sans URL ni quota de geolocate_listing. Plus il y a de critères DPE (consommation en kWh/m²/an, émissions GES, date), plus le résultat est précis. Retourne jusqu'à 10 candidates triées par score.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "commune": {
      "description": "Nom de la commune, ex: 'Angers'",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "code_postal": {
      "description": "Code postal, ex: '49100'",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string",
              "minLength": 5,
              "maxLength": 5
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "type_bien": {
      "description": "Type de bien : 'maison' ou 'appartement'",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "maison",
                "appartement"
              ]
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "surface_habitable_m2": {
      "description": "Surface habitable en m², ex: 85",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "number",
              "exclusiveMinimum": 0
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "surface_terrain_m2": {
      "description": "Surface du terrain en m² (maisons), ex: 600",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "number",
              "exclusiveMinimum": 0
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "classe_dpe": {
      "description": "Classe énergie du DPE : une lettre de A à G",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G"
              ]
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "conso_dpe_kwh_m2": {
      "description": "Consommation énergie primaire en kWh/m²/an",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "number",
              "exclusiveMinimum": 0
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "classe_ges": {
      "description": "Classe GES du DPE : une lettre de A à G",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G"
              ]
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "ges_kg_m2": {
      "description": "Émissions GES en kg CO2/m²/an",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "number",
              "minimum": 0
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "date_dpe": {
      "description": "Date du DPE, 'AAAA-MM' ou 'AAAA-MM-JJ'",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}(-\\d{2})?$"
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "annee_construction": {
      "description": "Année de construction, ex: 1975",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢search_dpe(address, parcelle_id, lat, lng, commune, ...)

Liste les diagnostics de performance énergétique (DPE ADEME) d'une zone : autour d'une adresse, d'une parcelle ou d'un point (rayon), ou dans toute une commune. Filtres : type de bâtiment, classes énergie/GES, surface, année de construction, date du DPE. Avec 'address' (numéro + rue), retourne aussi les DPE rattachés exactement à cette adresse. Résultats triés du plus récent au plus ancien et paginés ('limit', 'offset').

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "address": {
      "description": "Adresse postale au centre de la zone",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string",
              "minLength": 3
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "parcelle_id": {
      "description": "IDU d'une parcelle au centre de la zone",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string",
              "minLength": 14,
              "maxLength": 14
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "lat": {
      "description": "Latitude du centre (avec 'lng')",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "lng": {
      "description": "Longitude du centre (avec 'lat')",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "commune": {
      "description": "Nom de commune : toute la commune (ignore 'rayon_m')",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "rayon_m": {
      "description": "Rayon autour du centre en mètres (défaut 500, max 2000)",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 50,
              "maximum": 2000
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "type_batiment": {
      "description": "'immeuble' = DPE d'immeuble collectif entier",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "maison",
                "appartement",
                "immeuble"
              ]
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "classe_dpe": {
      "description": "Classe énergie : une lettre de A à G",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G"
              ]
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "classe_ges": {
      "description": "Classe GES : une lettre de A à G",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G"
              ]
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "surface_min_m2": {
      "description": "Surface habitable minimale en m², ex: 60",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "surface_max_m2": {
      "description": "Surface habitable maximale en m², ex: 120",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "annee_construction_min": {
      "description": "Année de construction minimale, ex: 1950",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "annee_construction_max": {
      "description": "Année de construction maximale, ex: 1990",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "date_dpe_min": {
      "description": "Date minimale du DPE, 'AAAA-MM-JJ'",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "date_dpe_max": {
      "description": "Date maximale du DPE, 'AAAA-MM-JJ'",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "limit": {
      "description": "DPE par page (défaut 20, max 50)",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 1,
              "maximum": 50
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "offset": {
      "description": "Index de départ pour la pagination (défaut 0, max 5000). Utiliser pagination.next_offset pour la page suivante.",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 5000
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢search_ventes_dvf(address, parcelle_id, lat, lng, commune, ...)

Liste les ventes immobilières (DVF) d'une zone : autour d'une adresse, d'une parcelle ou d'un point (rayon), ou dans toute une commune — idéal pour trouver des biens comparables. Une ligne par vente : date, prix, type de bien, surface bâtie, pièces, terrain, parcelles, prix au m² (quand la vente porte sur un seul logement). Retourne aussi la médiane du prix au m² des ventes filtrées. Seules les ventes géolocalisées sont couvertes (depuis 2021). Filtrer par 'type_bien' pour des prix au m² comparables.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "address": {
      "description": "Adresse postale au centre de la zone",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string",
              "minLength": 3
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "parcelle_id": {
      "description": "IDU d'une parcelle au centre de la zone",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string",
              "minLength": 14,
              "maxLength": 14
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "lat": {
      "description": "Latitude du centre (avec 'lng')",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "lng": {
      "description": "Longitude du centre (avec 'lat')",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "commune": {
      "description": "Nom de commune : toute la commune (ignore 'rayon_m')",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "rayon_m": {
      "description": "Rayon autour du centre en mètres (défaut 500, max 2000)",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 50,
              "maximum": 2000
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "type_bien": {
      "description": "Type de bien vendu : 'maison', 'appartement' ou 'local' (local commercial, industriel ou assimilé)",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "maison",
                "appartement",
                "local"
              ]
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "surface_min_m2": {
      "description": "Surface bâtie minimale en m², ex: 60",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "surface_max_m2": {
      "description": "Surface bâtie maximale en m², ex: 120",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "prix_min_eur": {
      "description": "Prix de vente minimal en euros, ex: 150000",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "prix_max_eur": {
      "description": "Prix de vente maximal en euros, ex: 400000",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "date_min": {
      "description": "Date minimale 'AAAA-MM-JJ' (défaut 2021-01-01)",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "date_max": {
      "description": "Date maximale 'AAAA-MM-JJ'",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "tri": {
      "description": "Tri des ventes (défaut : date décroissante ; distance pour les plus proches)",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "date",
                "distance"
              ]
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "limit": {
      "description": "Ventes par page (défaut 20, max 50)",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 1,
              "maximum": 50
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "offset": {
      "description": "Index de départ pour la pagination (défaut 0, max 5000). Utiliser pagination.next_offset pour la page suivante.",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 5000
            },
            {
              "type": "string",
              "const": ""
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet12 Tools
verifiziertVersion nicht aufgezeichnet12 Tools