Skip to main content
Glama

Parcellaire — cadastre, DVF & DPE

Recherche cadastrale multicritères

search_parcelles
Read-onlyIdempotent

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), 'intercommunalite' (nom ou SIREN d'une communauté d'agglomération, de communes, urbaine ou d'une métropole), '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. Les filtres has_* acceptent true pour sélectionner une présence connue ; false est rejeté car la recherche par absence n’est pas prise en charge. 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. Avec date_vente ou prix_vente_eur, chaque parcelle inclut jusqu’à 3 mutations DVF correspondantes récentes et leur nombre, avec le prix total de chaque mutation (jamais réparti entre ses lignes, locaux ou parcelles).

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "search_parcelles"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoNombre de parcelles détaillées retournées par page (défaut 20, max 50)
sirenNoSIREN du propriétaire personne morale
offsetNoIndex de départ pour la pagination (défaut 0). Utiliser pagination.next_offset pour la page suivante.
regionNoNom 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).
communeNoNom de la commune, ex: 'Angers'. Pour une commune homonyme, préciser son code entre parenthèses : 'Thénac (17444)' (code INSEE), 'Thénac (17460)' (code postal) ou 'Thénac (17)' (département).
date_dpeNoDate d'établissement du DPE. Année (2026 ou '2026'), mois ISO ('2026-09'), jour ISO ('2026-09-15'), ou plage inclusive séparée par un tiret : '2026-09-15-2026-09-30', '2026-09-2026-10', '2019-2024'. Borne ouverte : '2026-09-15-' (minimum), '-2026-09-30' (maximum). Une année ou un mois couvre toute cette année ou ce mois. Ne pas fournir de tableau. Omettre si aucun filtre de date.
viewportNoZone géographique explicite (alternative à commune). Hauteur ≤ 20 km pour un détail parcelle par parcelle
classe_dpeNoClasse énergie d'un logement. Clé exacte: classe_dpe; valeur: une lettre A-G, ou une liste pour plusieurs classes en un seul appel, ex: ['F','G'] pour « F ou G » (parcelles ayant au moins un DPE de l'une de ces classes).
classe_gesNoClasse GES. Clé exacte: classe_ges; valeur: une lettre A-G, ou une liste, ex: ['F','G'] pour « F ou G ».
date_venteNoDate de vente DVF. Année (2026 ou '2026'), mois ISO ('2026-09'), jour ISO ('2026-09-15'), ou plage inclusive séparée par un tiret : '2026-09-15-2026-09-30', '2026-09-2026-10', '2019-2024'. Borne ouverte : '2026-09-15-' (minimum), '-2026-09-30' (maximum). Une année ou un mois couvre toute cette année ou ce mois. Ne pas fournir de tableau. Omettre si aucun filtre de date.
departementNoCode ou nom du département, ex: '49', 'Maine-et-Loire'. Peut aussi restreindre une commune ou un viewport.
has_piscineNoUniquement les parcelles avec piscine
prix_vente_eurNoPrix de la dernière vente DVF en euros. Nombre ou texte : 250 ou '250' (exact), '100-500' (plage), '100-' (minimum), '-500' (maximum)
has_coproprieteNotrue : parcelles avec une copropriété RNC connue. false non pris en charge ; omettre ne filtre pas ce critère.
conso_dpe_kwh_m2NoConsommation énergie primaire en kWh/m²/an (alternative à classe_dpe). Nombre ou texte : 250 ou '250' (exact), '100-500' (plage), '100-' (minimum), '-500' (maximum)
intercommunaliteNoNom ou SIREN d'une intercommunalité, ex: 'CA de La Rochelle', 'agglo de Niort', 'Bordeaux Métropole', '241700434'. Cherche dans toutes ses communes membres, listées dans le résultat avec leur nombre de parcelles.
nombre_batimentsNoNombre de bâtiments sur la parcelle. Nombre ou texte : 250 ou '250' (exact), '100-500' (plage), '100-' (minimum), '-500' (maximum)
annee_constructionNoAnnée de construction (BDNB). Nombre ou texte : 250 ou '250' (exact), '100-500' (plage), '100-' (minimum), '-500' (maximum)
has_permis_demolirNoUniquement les parcelles avec un permis de démolir (PD)
surface_piscine_m2NoSurface de la piscine en m². Nombre ou texte : 250 ou '250' (exact), '100-500' (plage), '100-' (minimum), '-500' (maximum)
surface_batiment_m2NoEmprise au sol d'un bâtiment en m². Nombre ou texte : 250 ou '250' (exact), '100-500' (plage), '100-' (minimum), '-500' (maximum)
surface_parcelle_m2NoUne 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.
surface_habitable_m2NoSurface 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'.
has_permis_construireNoUniquement les parcelles avec un permis de construire (PC), hors permis de démolir, d'aménager et déclarations préalables
date_permis_construireNoDate d'autorisation. Avec has_permis_construire ou has_permis_demolir, elle porte sur ce permis ; seule, sur toute autorisation d'urbanisme (permis de construire, de démolir, d'aménager, déclaration préalable). Année (2026 ou '2026'), mois ISO ('2026-09'), jour ISO ('2026-09-15'), ou plage inclusive séparée par un tiret : '2026-09-15-2026-09-30', '2026-09-2026-10', '2019-2024'. Borne ouverte : '2026-09-15-' (minimum), '-2026-09-30' (maximum). Une année ou un mois couvre toute cette année ou ce mois. Ne pas fournir de tableau. Omettre si aucun filtre de date.
has_proprietaire_personne_moraleNoUniquement les parcelles détenues par une personne morale (société, collectivité…)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed11 schema fields changed
    • changedInput schema / properties / annee_construction / anyOf
      Previous value: -[
      -  {
      -    "anyOf": [
      -      {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "number"
      -          }
      -        ]
      -      },
      -      {
      -        "const": "",
      -        "type": "string"
      -      }
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "type": [
      +          "string",
      +          "number"
      +        ]
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / conso_dpe_kwh_m2 / anyOf
      Previous value: -[
      -  {
      -    "anyOf": [
      -      {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "number"
      -          }
      -        ]
      -      },
      -      {
      -        "const": "",
      -        "type": "string"
      -      }
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "type": [
      +          "string",
      +          "number"
      +        ]
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / date_dpe / anyOf
      Previous value: -[
      -  {
      -    "anyOf": [
      -      {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "number"
      -          }
      -        ]
      -      },
      -      {
      -        "const": "",
      -        "type": "string"
      -      }
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "type": [
      +          "string",
      +          "number"
      +        ]
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / date_permis_construire / anyOf
      Previous value: -[
      -  {
      -    "anyOf": [
      -      {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "number"
      -          }
      -        ]
      -      },
      -      {
      -        "const": "",
      -        "type": "string"
      -      }
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "type": [
      +          "string",
      +          "number"
      +        ]
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / date_vente / anyOf
      Previous value: -[
      -  {
      -    "anyOf": [
      -      {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "number"
      -          }
      -        ]
      -      },
      -      {
      -        "const": "",
      -        "type": "string"
      -      }
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "type": [
      +          "string",
      +          "number"
      +        ]
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / nombre_batiments / anyOf
      Previous value: -[
      -  {
      -    "anyOf": [
      -      {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "number"
      -          }
      -        ]
      -      },
      -      {
      -        "const": "",
      -        "type": "string"
      -      }
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "type": [
      +          "string",
      +          "number"
      +        ]
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / prix_vente_eur / anyOf
      Previous value: -[
      -  {
      -    "anyOf": [
      -      {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "number"
      -          }
      -        ]
      -      },
      -      {
      -        "const": "",
      -        "type": "string"
      -      }
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "type": [
      +          "string",
      +          "number"
      +        ]
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / surface_batiment_m2 / anyOf
      Previous value: -[
      -  {
      -    "anyOf": [
      -      {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "number"
      -          }
      -        ]
      -      },
      -      {
      -        "const": "",
      -        "type": "string"
      -      }
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "type": [
      +          "string",
      +          "number"
      +        ]
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / surface_habitable_m2 / anyOf
      Previous value: -[
      -  {
      -    "anyOf": [
      -      {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "number"
      -          }
      -        ]
      -      },
      -      {
      -        "const": "",
      -        "type": "string"
      -      }
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "type": [
      +          "string",
      +          "number"
      +        ]
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / surface_parcelle_m2 / anyOf
      Previous value: -[
      -  {
      -    "anyOf": [
      -      {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "number"
      -          }
      -        ]
      -      },
      -      {
      -        "const": "",
      -        "type": "string"
      -      }
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "type": [
      +          "string",
      +          "number"
      +        ]
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / surface_piscine_m2 / anyOf
      Previous value: -[
      -  {
      -    "anyOf": [
      -      {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "number"
      -          }
      -        ]
      -      },
      -      {
      -        "const": "",
      -        "type": "string"
      -      }
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "type": [
      +          "string",
      +          "number"
      +        ]
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. Changed4 schema fields changed
    • changedInput schema / properties / classe_dpe / anyOf
      Previous value: -[
      -  {
      -    "anyOf": [
      -      {
      -        "enum": [
      -          "A",
      -          "B",
      -          "C",
      -          "D",
      -          "E",
      -          "F",
      -          "G"
      -        ],
      -        "type": "string"
      -      },
      -      {
      -        "const": "",
      -        "type": "string"
      -      }
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "A",
      +              "B",
      +              "C",
      +              "D",
      +              "E",
      +              "F",
      +              "G"
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "items": {
      +              "enum": [
      +                "A",
      +                "B",
      +                "C",
      +                "D",
      +                "E",
      +                "F",
      +                "G"
      +              ],
      +              "type": "string"
      +            },
      +            "maxItems": 7,
      +            "type": "array"
      +          }
      +        ]
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / classe_dpe / description
      Previous value: -"Classe énergie d'un logement. Clé exacte: classe_dpe; valeur: une lettre A-G."New value: +"Classe énergie d'un logement. Clé exacte: classe_dpe; valeur: une lettre A-G, ou une liste pour plusieurs classes en un seul appel, ex: ['F','G'] pour « F ou G » (parcelles ayant au moins un DPE de l'une de ces classes)."
    • changedInput schema / properties / classe_ges / anyOf
      Previous value: -[
      -  {
      -    "anyOf": [
      -      {
      -        "enum": [
      -          "A",
      -          "B",
      -          "C",
      -          "D",
      -          "E",
      -          "F",
      -          "G"
      -        ],
      -        "type": "string"
      -      },
      -      {
      -        "const": "",
      -        "type": "string"
      -      }
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "A",
      +              "B",
      +              "C",
      +              "D",
      +              "E",
      +              "F",
      +              "G"
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "items": {
      +              "enum": [
      +                "A",
      +                "B",
      +                "C",
      +                "D",
      +                "E",
      +                "F",
      +                "G"
      +              ],
      +              "type": "string"
      +            },
      +            "maxItems": 7,
      +            "type": "array"
      +          }
      +        ]
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / classe_ges / description
      Previous value: -"Classe GES. Clé exacte: classe_ges; valeur: une lettre A-G."New value: +"Classe GES. Clé exacte: classe_ges; valeur: une lettre A-G, ou une liste, ex: ['F','G'] pour « F ou G »."
  3. Changed4 schema fields changed
    • changedInput schema / properties / commune / description
      Previous value: -"Nom de la commune où chercher, ex: 'Angers'"New value: +"Nom de la commune, ex: 'Angers'. Pour une commune homonyme, préciser son code entre parenthèses : 'Thénac (17444)' (code INSEE), 'Thénac (17460)' (code postal) ou 'Thénac (17)' (département)."
    • changedInput schema / properties / date_dpe / description
      Previous value: -"Date d'établissement du DPE. Année (2026 ou '2026'), mois ISO ('2026-09'), jour ISO ('2026-09-15'), ou plage inclusive séparée par un tiret : '2026-09-15-2026-09-30', '2026-09-2026-10', '2019-2024'. Borne ouverte : '2026-09-15-' (minimum), '-2026-09-30' (maximum). Une année ou un mois couvre toute cette année ou ce mois. Ne pas séparer les bornes ISO par '/' ni fournir un tableau. Omettre si aucun filtre de date."New value: +"Date d'établissement du DPE. Année (2026 ou '2026'), mois ISO ('2026-09'), jour ISO ('2026-09-15'), ou plage inclusive séparée par un tiret : '2026-09-15-2026-09-30', '2026-09-2026-10', '2019-2024'. Borne ouverte : '2026-09-15-' (minimum), '-2026-09-30' (maximum). Une année ou un mois couvre toute cette année ou ce mois. Ne pas fournir de tableau. Omettre si aucun filtre de date."
    • changedInput schema / properties / date_permis_construire / description
      Previous value: -"Date d'autorisation. Avec has_permis_construire ou has_permis_demolir, elle porte sur ce permis ; seule, sur toute autorisation d'urbanisme (permis de construire, de démolir, d'aménager, déclaration préalable). Année (2026 ou '2026'), mois ISO ('2026-09'), jour ISO ('2026-09-15'), ou plage inclusive séparée par un tiret : '2026-09-15-2026-09-30', '2026-09-2026-10', '2019-2024'. Borne ouverte : '2026-09-15-' (minimum), '-2026-09-30' (maximum). Une année ou un mois couvre toute cette année ou ce mois. Ne pas séparer les bornes ISO par '/' ni fournir un tableau. Omettre si aucun filtre de date."New value: +"Date d'autorisation. Avec has_permis_construire ou has_permis_demolir, elle porte sur ce permis ; seule, sur toute autorisation d'urbanisme (permis de construire, de démolir, d'aménager, déclaration préalable). Année (2026 ou '2026'), mois ISO ('2026-09'), jour ISO ('2026-09-15'), ou plage inclusive séparée par un tiret : '2026-09-15-2026-09-30', '2026-09-2026-10', '2019-2024'. Borne ouverte : '2026-09-15-' (minimum), '-2026-09-30' (maximum). Une année ou un mois couvre toute cette année ou ce mois. Ne pas fournir de tableau. Omettre si aucun filtre de date."
    • changedInput schema / properties / date_vente / description
      Previous value: -"Date de vente DVF. Année (2026 ou '2026'), mois ISO ('2026-09'), jour ISO ('2026-09-15'), ou plage inclusive séparée par un tiret : '2026-09-15-2026-09-30', '2026-09-2026-10', '2019-2024'. Borne ouverte : '2026-09-15-' (minimum), '-2026-09-30' (maximum). Une année ou un mois couvre toute cette année ou ce mois. Ne pas séparer les bornes ISO par '/' ni fournir un tableau. Omettre si aucun filtre de date."New value: +"Date de vente DVF. Année (2026 ou '2026'), mois ISO ('2026-09'), jour ISO ('2026-09-15'), ou plage inclusive séparée par un tiret : '2026-09-15-2026-09-30', '2026-09-2026-10', '2019-2024'. Borne ouverte : '2026-09-15-' (minimum), '-2026-09-30' (maximum). Une année ou un mois couvre toute cette année ou ce mois. Ne pas fournir de tableau. Omettre si aucun filtre de date."
  4. Changed1 schema field changed
    • changedInput schema / properties / has_copropriete / description
      Previous value: -"Uniquement les parcelles en copropriété"New value: +"true : parcelles avec une copropriété RNC connue. false non pris en charge ; omettre ne filtre pas ce critère."
  5. Changed3 schema fields changed
    • changedInput schema / properties / date_dpe / description
      Previous value: -"Date d'établissement du DPE. Année (2021) ou texte : '2021', '2021-06', ou plage '2019-2024'"New value: +"Date d'établissement du DPE. Année (2026 ou '2026'), mois ISO ('2026-09'), jour ISO ('2026-09-15'), ou plage inclusive séparée par un tiret : '2026-09-15-2026-09-30', '2026-09-2026-10', '2019-2024'. Borne ouverte : '2026-09-15-' (minimum), '-2026-09-30' (maximum). Une année ou un mois couvre toute cette année ou ce mois. Ne pas séparer les bornes ISO par '/' ni fournir un tableau. Omettre si aucun filtre de date."
    • changedInput schema / properties / date_permis_construire / description
      Previous value: -"Date d'autorisation. Avec has_permis_construire ou has_permis_demolir, elle porte sur ce permis ; seule, sur toute autorisation d'urbanisme (permis de construire, de démolir, d'aménager, déclaration préalable). Année (2021) ou texte : '2021', '2021-06', ou plage '2019-2024'"New value: +"Date d'autorisation. Avec has_permis_construire ou has_permis_demolir, elle porte sur ce permis ; seule, sur toute autorisation d'urbanisme (permis de construire, de démolir, d'aménager, déclaration préalable). Année (2026 ou '2026'), mois ISO ('2026-09'), jour ISO ('2026-09-15'), ou plage inclusive séparée par un tiret : '2026-09-15-2026-09-30', '2026-09-2026-10', '2019-2024'. Borne ouverte : '2026-09-15-' (minimum), '-2026-09-30' (maximum). Une année ou un mois couvre toute cette année ou ce mois. Ne pas séparer les bornes ISO par '/' ni fournir un tableau. Omettre si aucun filtre de date."
    • changedInput schema / properties / date_vente / description
      Previous value: -"Date de vente DVF. Année (2021) ou texte : '2021', '2021-06', ou plage '2019-2024'"New value: +"Date de vente DVF. Année (2026 ou '2026'), mois ISO ('2026-09'), jour ISO ('2026-09-15'), ou plage inclusive séparée par un tiret : '2026-09-15-2026-09-30', '2026-09-2026-10', '2019-2024'. Borne ouverte : '2026-09-15-' (minimum), '-2026-09-30' (maximum). Une année ou un mois couvre toute cette année ou ce mois. Ne pas séparer les bornes ISO par '/' ni fournir un tableau. Omettre si aucun filtre de date."
  6. Changed3 schema fields changed
    • changedInput schema / properties / date_permis_construire / description
      Previous value: -"Date du permis de construire. Année (2021) ou texte : '2021', '2021-06', ou plage '2019-2024'"New value: +"Date d'autorisation. Avec has_permis_construire ou has_permis_demolir, elle porte sur ce permis ; seule, sur toute autorisation d'urbanisme (permis de construire, de démolir, d'aménager, déclaration préalable). Année (2021) ou texte : '2021', '2021-06', ou plage '2019-2024'"
    • changedInput schema / properties / has_permis_construire / description
      Previous value: -"Uniquement les parcelles avec permis de construire"New value: +"Uniquement les parcelles avec un permis de construire (PC), hors permis de démolir, d'aménager et déclarations préalables"
    • addedInput schema / properties / has_permis_demolir
      Added value: +{
      +  "anyOf": [
      +    {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "const": "",
      +          "type": "string"
      +        }
      +      ]
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Uniquement les parcelles avec un permis de démolir (PD)"
      +}
  7. Changed1 schema field changed
    • addedInput schema / properties / intercommunalite
      Added value: +{
      +  "anyOf": [
      +    {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "const": "",
      +          "type": "string"
      +        }
      +      ]
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Nom ou SIREN d'une intercommunalité, ex: 'CA de La Rochelle', 'agglo de Niort', 'Bordeaux Métropole', '241700434'. Cherche dans toutes ses communes membres, listées dans le résultat avec leur nombre de parcelles."
      +}
  8. Changed22 schema fields changed
    • changedInput schema / properties / annee_construction / anyOf
      Previous value: -[
      -  {
      -    "anyOf": [
      -      {
      -        "type": "string"
      -      },
      -      {
      -        "const": "",
      -        "type": "string"
      -      }
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "number"
      +          }
      +        ]
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / annee_construction / description
      Previous value: -"Année de construction (BDNB). Format: '250' (exact), '100-500' (plage), '100-' (minimum), '-500' (maximum)"New value: +"Année de construction (BDNB). Nombre ou texte : 250 ou '250' (exact), '100-500' (plage), '100-' (minimum), '-500' (maximum)"
    • changedInput schema / properties / conso_dpe_kwh_m2 / anyOf
      Previous value: -[
      -  {
      -    "anyOf": [
      -      {
      -        "type": "string"
      -      },
      -      {
      -        "const": "",
      -        "type": "string"
      -      }
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "number"
      +          }
      +        ]
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / conso_dpe_kwh_m2 / description
      Previous value: -"Consommation énergie primaire en kWh/m²/an (alternative à classe_dpe). Format: '250' (exact), '100-500' (plage), '100-' (minimum), '-500' (maximum)"New value: +"Consommation énergie primaire en kWh/m²/an (alternative à classe_dpe). Nombre ou texte : 250 ou '250' (exact), '100-500' (plage), '100-' (minimum), '-500' (maximum)"
    • changedInput schema / properties / date_dpe / anyOf
      Previous value: -[
      -  {
      -    "anyOf": [
      -      {
      -        "type": "string"
      -      },
      -      {
      -        "const": "",
      -        "type": "string"
      -      }
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "number"
      +          }
      +        ]
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / date_dpe / description
      Previous value: -"Date d'établissement du DPE. Format: '2021', '2021-06', ou plage '2019-2024'"New value: +"Date d'établissement du DPE. Année (2021) ou texte : '2021', '2021-06', ou plage '2019-2024'"
    • changedInput schema / properties / date_permis_construire / anyOf
      Previous value: -[
      -  {
      -    "anyOf": [
      -      {
      -        "type": "string"
      -      },
      -      {
      -        "const": "",
      -        "type": "string"
      -      }
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "number"
      +          }
      +        ]
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / date_permis_construire / description
      Previous value: -"Date du permis de construire. Format: '2021', '2021-06', ou plage '2019-2024'"New value: +"Date du permis de construire. Année (2021) ou texte : '2021', '2021-06', ou plage '2019-2024'"
    • changedInput schema / properties / date_vente / anyOf
      Previous value: -[
      -  {
      -    "anyOf": [
      -      {
      -        "type": "string"
      -      },
      -      {
      -        "const": "",
      -        "type": "string"
      -      }
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "number"
      +          }
      +        ]
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / date_vente / description
      Previous value: -"Date de vente DVF. Format: '2021', '2021-06', ou plage '2019-2024'"New value: +"Date de vente DVF. Année (2021) ou texte : '2021', '2021-06', ou plage '2019-2024'"
    • changedInput schema / properties / nombre_batiments / anyOf
      Previous value: -[
      -  {
      -    "anyOf": [
      -      {
      -        "type": "string"
      -      },
      -      {
      -        "const": "",
      -        "type": "string"
      -      }
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "number"
      +          }
      +        ]
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / nombre_batiments / description
      Previous value: -"Nombre de bâtiments sur la parcelle. Format: '250' (exact), '100-500' (plage), '100-' (minimum), '-500' (maximum)"New value: +"Nombre de bâtiments sur la parcelle. Nombre ou texte : 250 ou '250' (exact), '100-500' (plage), '100-' (minimum), '-500' (maximum)"
    • changedInput schema / properties / prix_vente_eur / anyOf
      Previous value: -[
      -  {
      -    "anyOf": [
      -      {
      -        "type": "string"
      -      },
      -      {
      -        "const": "",
      -        "type": "string"
      -      }
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "number"
      +          }
      +        ]
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / prix_vente_eur / description
      Previous value: -"Prix de la dernière vente DVF en euros. Format: '250' (exact), '100-500' (plage), '100-' (minimum), '-500' (maximum)"New value: +"Prix de la dernière vente DVF en euros. Nombre ou texte : 250 ou '250' (exact), '100-500' (plage), '100-' (minimum), '-500' (maximum)"
    • changedInput schema / properties / surface_batiment_m2 / anyOf
      Previous value: -[
      -  {
      -    "anyOf": [
      -      {
      -        "type": "string"
      -      },
      -      {
      -        "const": "",
      -        "type": "string"
      -      }
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "number"
      +          }
      +        ]
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / surface_batiment_m2 / description
      Previous value: -"Emprise au sol d'un bâtiment en m². Format: '250' (exact), '100-500' (plage), '100-' (minimum), '-500' (maximum)"New value: +"Emprise au sol d'un bâtiment en m². Nombre ou texte : 250 ou '250' (exact), '100-500' (plage), '100-' (minimum), '-500' (maximum)"
    • changedInput schema / properties / surface_habitable_m2 / anyOf
      Previous value: -[
      -  {
      -    "anyOf": [
      -      {
      -        "type": "string"
      -      },
      -      {
      -        "const": "",
      -        "type": "string"
      -      }
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "number"
      +          }
      +        ]
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / surface_habitable_m2 / description
      Previous value: -"Surface habitable (DPE) en m². Format: '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'."New value: +"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'."
    • changedInput schema / properties / surface_parcelle_m2 / anyOf
      Previous value: -[
      -  {
      -    "anyOf": [
      -      {
      -        "type": "string"
      -      },
      -      {
      -        "const": "",
      -        "type": "string"
      -      }
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "number"
      +          }
      +        ]
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / surface_parcelle_m2 / description
      Previous value: -"Une seule surface de parcelle en m² par appel. Format: '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."New value: +"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."
    • changedInput schema / properties / surface_piscine_m2 / anyOf
      Previous value: -[
      -  {
      -    "anyOf": [
      -      {
      -        "type": "string"
      -      },
      -      {
      -        "const": "",
      -        "type": "string"
      -      }
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "number"
      +          }
      +        ]
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / surface_piscine_m2 / description
      Previous value: -"Surface de la piscine en m². Format: '250' (exact), '100-500' (plage), '100-' (minimum), '-500' (maximum)"New value: +"Surface de la piscine en m². Nombre ou texte : 250 ou '250' (exact), '100-500' (plage), '100-' (minimum), '-500' (maximum)"
  9. Changed2 schema fields changed
    • changedInput schema / properties / surface_habitable_m2 / description
      Previous value: -"Surface habitable (DPE) en m². Format: '250' (exact), '100-500' (plage), '100-' (minimum), '-500' (maximum)"New value: +"Surface habitable (DPE) en m². Format: '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'."
    • changedInput schema / properties / surface_parcelle_m2 / description
      Previous value: -"Une seule surface de parcelle en m² par appel. Format: '250' (exact), '100-500' (plage), '100-' (minimum), '-500' (maximum). 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."New value: +"Une seule surface de parcelle en m² par appel. Format: '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."
  10. Changed1 schema field changed
    • addedInput schema / additionalProperties
      Added value: +false
  11. Changed56 schema fields changed
    • addedInput schema / properties / annee_construction / anyOf
      Added value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / annee_construction / type
      Removed value: -"string"
    • addedInput schema / properties / classe_dpe / anyOf
      Added value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "enum": [
      +          "A",
      +          "B",
      +          "C",
      +          "D",
      +          "E",
      +          "F",
      +          "G"
      +        ],
      +        "type": "string"
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / classe_dpe / enum
      Removed value: -[
      -  "A",
      -  "B",
      -  "C",
      -  "D",
      -  "E",
      -  "F",
      -  "G"
      -]
    • removedInput schema / properties / classe_dpe / type
      Removed value: -"string"
    • addedInput schema / properties / classe_ges / anyOf
      Added value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "enum": [
      +          "A",
      +          "B",
      +          "C",
      +          "D",
      +          "E",
      +          "F",
      +          "G"
      +        ],
      +        "type": "string"
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / classe_ges / enum
      Removed value: -[
      -  "A",
      -  "B",
      -  "C",
      -  "D",
      -  "E",
      -  "F",
      -  "G"
      -]
    • removedInput schema / properties / classe_ges / type
      Removed value: -"string"
    • addedInput schema / properties / commune / anyOf
      Added value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / commune / type
      Removed value: -"string"
    • addedInput schema / properties / conso_dpe_kwh_m2 / anyOf
      Added value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / conso_dpe_kwh_m2 / type
      Removed value: -"string"
    • addedInput schema / properties / date_dpe / anyOf
      Added value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / date_dpe / type
      Removed value: -"string"
    • addedInput schema / properties / date_permis_construire / anyOf
      Added value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / date_permis_construire / type
      Removed value: -"string"
    • addedInput schema / properties / date_vente / anyOf
      Added value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / date_vente / type
      Removed value: -"string"
    • addedInput schema / properties / departement / anyOf
      Added value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / departement / type
      Removed value: -"string"
    • addedInput schema / properties / has_copropriete / anyOf
      Added value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "type": "boolean"
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / has_copropriete / type
      Removed value: -"boolean"
    • addedInput schema / properties / has_permis_construire / anyOf
      Added value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "type": "boolean"
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / has_permis_construire / type
      Removed value: -"boolean"
    • addedInput schema / properties / has_piscine / anyOf
      Added value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "type": "boolean"
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / has_piscine / type
      Removed value: -"boolean"
    • addedInput schema / properties / has_proprietaire_personne_morale / anyOf
      Added value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "type": "boolean"
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / has_proprietaire_personne_morale / type
      Removed value: -"boolean"
    • addedInput schema / properties / limit / anyOf
      Added value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "maximum": 50,
      +        "minimum": 1,
      +        "type": "integer"
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / limit / maximum
      Removed value: -50
    • removedInput schema / properties / limit / minimum
      Removed value: -1
    • removedInput schema / properties / limit / type
      Removed value: -"integer"
    • addedInput schema / properties / nombre_batiments / anyOf
      Added value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / nombre_batiments / type
      Removed value: -"string"
    • addedInput schema / properties / offset / anyOf
      Added value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "maximum": 9007199254740991,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / offset / maximum
      Removed value: -9007199254740991
    • removedInput schema / properties / offset / minimum
      Removed value: -0
    • removedInput schema / properties / offset / type
      Removed value: -"integer"
    • addedInput schema / properties / prix_vente_eur / anyOf
      Added value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / prix_vente_eur / type
      Removed value: -"string"
    • addedInput schema / properties / region / anyOf
      Added value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / region / type
      Removed value: -"string"
    • addedInput schema / properties / siren / anyOf
      Added value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / siren / type
      Removed value: -"string"
    • addedInput schema / properties / surface_batiment_m2 / anyOf
      Added value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / surface_batiment_m2 / type
      Removed value: -"string"
    • addedInput schema / properties / surface_habitable_m2 / anyOf
      Added value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / surface_habitable_m2 / type
      Removed value: -"string"
    • addedInput schema / properties / surface_parcelle_m2 / anyOf
      Added value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / surface_parcelle_m2 / type
      Removed value: -"string"
    • addedInput schema / properties / surface_piscine_m2 / anyOf
      Added value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / surface_piscine_m2 / type
      Removed value: -"string"
    • addedInput schema / properties / viewport / anyOf
      Added value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "properties": {
      +          "ne_lat": {
      +            "type": "number"
      +          },
      +          "ne_lng": {
      +            "type": "number"
      +          },
      +          "sw_lat": {
      +            "type": "number"
      +          },
      +          "sw_lng": {
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "sw_lat",
      +          "sw_lng",
      +          "ne_lat",
      +          "ne_lng"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "const": "",
      +        "type": "string"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / viewport / properties
      Removed value: -{
      -  "ne_lat": {
      -    "type": "number"
      -  },
      -  "ne_lng": {
      -    "type": "number"
      -  },
      -  "sw_lat": {
      -    "type": "number"
      -  },
      -  "sw_lng": {
      -    "type": "number"
      -  }
      -}
    • removedInput schema / properties / viewport / required
      Removed value: -[
      -  "sw_lat",
      -  "sw_lng",
      -  "ne_lat",
      -  "ne_lng"
      -]
    • removedInput schema / properties / viewport / type
      Removed value: -"object"
  12. First observed

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the read-only, idempotent, non-destructive annotations, it discloses empty/null filter handling, rejection of has_*=false, total-versus-page result semantics, the has_more/next_offset pagination workflow, aggregate fallback for overly large zones, and DVF mutation enrichment. The explanation that each mutation's total price is never divided among its lines, premises, or parcels is especially valuable behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded, followed logically by zone selection, filter conventions, results, pagination, large-zone behavior, and DVF semantics. It is nevertheless a dense single paragraph and repeats some schema details, such as limit defaults and zone parameter formats, though nearly every sentence contributes useful operational information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 26-parameter search tool without an output schema, it covers nearly all invocation essentials, including the high-level result shape, pagination, filtering pitfalls, aggregate fallback, and interpretation of DVF prices. The main remaining gap is selection guidance among similarly named siblings, while the condition triggering the 'zone too large' fallback is described only qualitatively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although schema description coverage is 100%, the description adds substantial cross-parameter semantics: alternative zone definitions, region plus SIREN without a commune, global treatment of empty and null values, and the true-only convention across has_* filters. It also explains how offset interacts with pagination and how date_vente or prix_vente_eur changes the returned DVF details, going well beyond field-by-field schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence gives a specific verb and resource—searching cadastral parcels within a zone—and enumerates distinctive filter families such as surfaces, DPE, DVF sales, construction year, pools, permits, co-ownership, and corporate owners. It does not distinguish the tool from overlapping siblings such as find_parcelles_by_criteria or find_parcelles_by_address, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides concrete invocation context: define the zone through a commune, intercommunality, department, region, or viewport; omit unwanted filters; and follow the pagination workflow for additional results. It also explains supported zone combinations and that absence-based has_* searches are unsupported. However, it gives no explicit when-not guidance or alternative sibling for address-based or otherwise different parcel searches.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources