Introduction

L’API publique Blacklayer donne accès aux données immobilières et territoriales (parcelles, bâtiments, prix, transactions, loyers, entreprises, etc.) via REST ou MCP pour les agents IA.

URL de base : https://data.blacklayer.ai

Swagger UI (exemples, schémas, tests) : https://data.blacklayer.ai/docs

Concepts

REST : requêtes HTTP classiques (GET, POST) avec réponses JSON.

MCP : protocole pour agents IA (Cursor, Claude, etc.). Après initialisation, l’agent peut appeler tous les outils de l’API dans une session.

Authentification

Toutes les routes fonctionnent sans clé (quotas par IP). Pour des quotas plus élevés, ajoutez une clé API.

En-tête : Authorization: Bearer blk_live_votre_secret

Créez vos clés sur https://blacklayer.ai/dashboard/api-keys

Codes d’erreur HTTP

Codes d’erreur courants.

CodeSignification
401Clé API invalide ou révoquée.
404Ressource introuvable.
429Quota dépassé.
400Paramètres invalides (validation).
500Erreur serveur.

Quotas

Limites par fenêtre glissante (~1 min et ~24 h). Les en-têtes X-RateLimit-* indiquent le quota restant.

CritèreSans clé (par IP)Avec clé blk_live_ valide
Plafond (~1 min)10 requêtes30 requêtes
Plafond (~24 h)100 requêtes300 requêtes

Maximum 5 clés actives par compte. En cas de dépassement (HTTP 429), attendez ou contactez-nous.

Questions fréquentes

  • Oui, toutes les routes fonctionnent sans clé avec des quotas réduits par IP.
GET/v1/parcels/nearestClé optionnelle

Parcelle cadastrale la plus proche

Retourne la parcelle cadastrale la plus proche d’un point GPS. La géométrie est incluse en GeoJSON. C’est le point d’entrée principal : l’IDU renvoyé sert de clé pour tous les autres endpoints.

Paramètres d'URL (query)

NomTypeRequisDescription
lngnumberRequisLongitude WGS84 (EPSG:4326), entre -180 et 180.
latnumberRequisLatitude WGS84 (EPSG:4326), entre -90 et 90.

Réponses

  • 200Parcelle trouvée avec identifiant (IDU), surface, commune et géométrie.
  • 401Clé API invalide ou révoquée.
  • 404Aucune parcelle pour ce point.
  • 429Quota dépassé.
Voir le schéma complet sur Swagger UI
GET/v1/buildings/by-parcel/{idu}Clé optionnelle

Bâtiments BDNB d’une parcelle

Fiche des bâtiments d’une parcelle : année de construction, nombre de logements, hauteur, étages, surface au sol, usages, matériaux et adresses rattachées.

Paramètres de chemin

NomTypeRequisDescription
idustringRequisIdentifiant unique cadastral (IDU, 14 caractères), ex. 69386000BL0063.

Réponses

  • 200Liste des bâtiments avec caractéristiques et adresses.
  • 401Clé API invalide ou révoquée.
  • 429Quota dépassé.
  • 503Service temporairement indisponible.
Voir le schéma complet sur Swagger UI
GET/v1/demographie/by-parcel/{idu}Clé optionnelle

Démographie INSEE (recensement) par parcelle

Indicateurs démographiques INSEE autour d’une parcelle : population, tranches d’âge, CSP, revenus. Données ventilées par quartier (IRIS), commune, département et région.

Paramètres de chemin

NomTypeRequisDescription
idustringRequisIDU cadastral (ex. 69386000BL0063).

Réponses

  • 200Indicateurs démographiques par niveau géographique.
  • 401Clé API invalide ou révoquée.
  • 404Parcelle inconnue.
  • 429Quota dépassé.
  • 503Service temporairement indisponible.
Voir le schéma complet sur Swagger UI
GET/v1/dpe-residential/by-parcel/{idu}Clé optionnelle

DPE résidentiels (ADEME) par parcelle

Diagnostics de performance énergétique (DPE) des logements situés sur une parcelle. Étiquettes énergie et GES (A à G), surface, type de chauffage, consommations.

Paramètres de chemin

NomTypeRequisDescription
idustringRequisIDU cadastral (ex. 69386000BL0063).

Réponses

  • 200Liste des DPE avec étiquettes, surface et consommations.
  • 401Clé API invalide ou révoquée.
  • 404Parcelle inconnue.
  • 429Quota dépassé.
  • 503Service temporairement indisponible.
Voir le schéma complet sur Swagger UI
GET/v1/dpe-tertiary/by-parcel/{idu}Clé optionnelle

DPE tertiaires (ADEME) par parcelle

DPE des locaux tertiaires (bureaux, commerces) sur une parcelle. Même format que le DPE résidentiel, avec en plus le secteur d’activité.

Paramètres de chemin

NomTypeRequisDescription
idustringRequisIDU cadastral (ex. 69386000BL0063).

Réponses

  • 200Enveloppe { data } : parcelId, count, dpes[] (adresse, surface, secteur d’activité, conso, énergies, geopoint).
  • 401Clé API invalide ou révoquée.
  • 404Parcelle inconnue.
  • 429Quota dépassé.
  • 503Service temporairement indisponible.
Voir le schéma complet sur Swagger UI
GET/v1/copropriete/by-parcel/{idu}Clé optionnelle

Copropriétés RNIC par parcelle

Copropriétés immatriculées (RNIC) rattachées à une parcelle. Inclut le nom, l’adresse, le nombre de lots, le syndic et ses coordonnées. Liste vide si aucune copropriété n’est enregistrée.

Paramètres de chemin

NomTypeRequisDescription
idustringRequisIDU cadastral (ex. 69386000BL0063).

Réponses

  • 200Liste des copropriétés avec nom, adresse, lots et syndic.
  • 401Clé API invalide ou révoquée.
  • 429Quota dépassé.
  • 503Service temporairement indisponible.
Voir le schéma complet sur Swagger UI
GET/v1/occupants/by-parcel/{idu}Clé optionnelle

Occupants (entreprises SIREN) par parcelle

Entreprises actives implantées sur une parcelle (SIREN, activité, forme juridique, effectifs, dirigeants). Seuls les établissements en activité sont retournés. Liste vide si aucune entreprise n’est présente.

Paramètres de chemin

NomTypeRequisDescription
idustringRequisIDU cadastral (ex. 69386000AM0109).

Réponses

  • 200Liste des entreprises présentes avec identité, activité et dirigeants.
  • 401Clé API invalide ou révoquée.
  • 429Quota dépassé.
  • 503Service temporairement indisponible.
Voir le schéma complet sur Swagger UI
GET/v1/entreprises/{siren}Clé optionnelle

Détail entreprise (SIREN)

Fiche complète d’une entreprise à partir de son SIREN : identité, siège social, établissements actifs, dirigeants, chiffre d’affaires et compléments (RGE, Qualiopi, etc.).

Paramètres de chemin

NomTypeRequisDescription
sirenstringRequisSIREN exactement 9 chiffres (ex. 552032534).

Réponses

  • 200Fiche complète de l’entreprise.
  • 400SIREN invalide.
  • 401Clé API invalide ou révoquée.
  • 404SIREN introuvable.
  • 429Quota dépassé.
Voir le schéma complet sur Swagger UI
GET/v1/proprietaires/by-parcel/{idu}Clé optionnelle

Propriétaires par parcelle (IDU)

Propriétaires personnes morales d’une parcelle (SCI, SAS, etc.). Inclut le nom, le SIREN, le nombre de locaux détenus et le statut bailleur. Chaque propriétaire identifié est enrichi avec ses informations entreprise.

Paramètres de chemin

NomTypeRequisDescription
idustringRequisIDU cadastral (ex. 69386000AM0109).

Réponses

  • 200Liste des propriétaires avec nom, SIREN, nombre de locaux et statut bailleur.
  • 401Clé API invalide ou révoquée.
  • 429Quota dépassé.
Voir le schéma complet sur Swagger UI
GET/v1/transactions/by-parcel/{idu}Clé optionnelle

Transactions DVF par parcelle

Historique des ventes immobilières (DVF) sur une parcelle, de 2014 à 2025. Chaque mutation inclut la date, le prix, la surface, le type de bien et l’adresse.

Paramètres de chemin

NomTypeRequisDescription
idustringRequisIdentifiant unique cadastral (IDU), ex. 750560000D0073.

Réponses

  • 200Liste des mutations groupées. Enveloppe { data } (tableau d’objets mutation).
  • 401Clé API invalide ou révoquée.
  • 429Quota dépassé.
  • 503Service ou données temporairement indisponibles.
Voir le schéma complet sur Swagger UI
POST/v1/transactions/searchClé optionnelle

Recherche transactions DVF par zone (max 50)

Endpoint canonique multi-modes : un body avec mode ∈ {bbox, radius, zone, geometry}, les paramètres spatiaux du mode choisi, et un objet filters avec les filtres communs (prix, période, trimestre, type, surface, pièces, multilots). Pour la majorité des cas, préférer les endpoints dédiés GET /by-bbox, GET /by-radius, GET /by-zone, POST /by-geometry. Réponse plafonnée à 50 transactions.

En-têtes

NomTypeRequisDescription
Content-TypestringRequisapplication/json

Corps de la requête (JSON)

NomTypeRequisDescription
modestringRequisbbox | radius | zone | geometry
bboxobjectOptionnelSi mode=bbox : { minLng, minLat, maxLng, maxLat } en WGS84
radiusobjectOptionnelSi mode=radius : { lng, lat, radiusMeters } (rayon ≤ 5000 m)
zoneobjectOptionnelSi mode=zone : { level: 'iris'|'commune', code } ou { q: 'Écully' }
geometryobject (GeoJSON)OptionnelSi mode=geometry : Polygon ou MultiPolygon WGS84
limitnumberOptionnel1..50, défaut 50
filtersobjectOptionnelFiltres communs (cf. lignes ci-dessous, à passer sous filters.*)
priceMinnumberOptionnelPrix minimum (€)
priceMaxnumberOptionnelPrix maximum (€)
yearnumberOptionnelAnnée (2021..2025)
quarterstringOptionnelT1 | T2 | T3 | T4
localTypesstring[]OptionnelEx: Appartement, Maison, Local industriel...
surfaceMinnumberOptionnelSurface bâtie min (m²)
surfaceMaxnumberOptionnelSurface bâtie max (m²)
roomsMinnumberOptionnelPièces min (T2 → roomsMin=2)
roomsMaxnumberOptionnelPièces max (T2 → roomsMax=2)
includeMultiLotbooleanOptionnelInclure les ventes multilots (défaut true)
mutationTypestringOptionnelEx: Vente, VEFA

Réponses

  • 200Enveloppe { data } avec transactions groupées par mutation.
  • 400Paramètres invalides (mode/spatial/filtres).
  • 401Clé API invalide ou révoquée.
  • 429Quota dépassé.
Voir le schéma complet sur Swagger UI
GET/v1/transactions/by-bboxClé optionnelle

Transactions DVF dans une bbox (max 50)

Retourne les transactions DVF (2021–2025) dont la parcelle intersecte la bbox WGS84 fournie. Tous les filtres communs sont supportés en query string (priceMin, priceMax, year, quarter, localTypes, surfaceMin/Max, roomsMin/Max, includeMultiLot, mutationType).

Paramètres d'URL (query)

NomTypeRequisDescription
minLngnumberRequisLongitude min WGS84
minLatnumberRequisLatitude min WGS84
maxLngnumberRequisLongitude max WGS84
maxLatnumberRequisLatitude max WGS84
limitnumberOptionnel1..50, défaut 50
priceMinnumberOptionnelPrix minimum (€)
priceMaxnumberOptionnelPrix maximum (€)
yearnumberOptionnelAnnée (2021..2025)
quarterstringOptionnelT1 | T2 | T3 | T4
localTypesstring[]OptionnelEx: Appartement, Maison, Local industriel...
surfaceMinnumberOptionnelSurface bâtie min (m²)
surfaceMaxnumberOptionnelSurface bâtie max (m²)
roomsMinnumberOptionnelPièces min (T2 → roomsMin=2)
roomsMaxnumberOptionnelPièces max (T2 → roomsMax=2)
includeMultiLotbooleanOptionnelInclure les ventes multilots (défaut true)
mutationTypestringOptionnelEx: Vente, VEFA

Réponses

  • 200Enveloppe { data } avec transactions groupées par mutation.
  • 400Paramètres invalides.
  • 401Clé API invalide ou révoquée.
  • 429Quota dépassé.
Voir le schéma complet sur Swagger UI
GET/v1/transactions/by-radiusClé optionnelle

Transactions DVF autour d’un point (max 50)

Retourne les transactions DVF (2021–2025) dans un rayon (mètres, max 5000) autour d’un point WGS84. Filtres communs disponibles en query string.

Paramètres d'URL (query)

NomTypeRequisDescription
lngnumberRequisLongitude WGS84 du centre
latnumberRequisLatitude WGS84 du centre
radiusMetersnumberRequisRayon en mètres (1..5000)
limitnumberOptionnel1..50, défaut 50
priceMinnumberOptionnelPrix minimum (€)
priceMaxnumberOptionnelPrix maximum (€)
yearnumberOptionnelAnnée (2021..2025)
quarterstringOptionnelT1 | T2 | T3 | T4
localTypesstring[]OptionnelEx: Appartement, Maison, Local industriel...
surfaceMinnumberOptionnelSurface bâtie min (m²)
surfaceMaxnumberOptionnelSurface bâtie max (m²)
roomsMinnumberOptionnelPièces min (T2 → roomsMin=2)
roomsMaxnumberOptionnelPièces max (T2 → roomsMax=2)
includeMultiLotbooleanOptionnelInclure les ventes multilots (défaut true)
mutationTypestringOptionnelEx: Vente, VEFA

Réponses

  • 200Enveloppe { data }.
  • 400Paramètres invalides.
  • 401Clé API invalide ou révoquée.
  • 429Quota dépassé.
Voir le schéma complet sur Swagger UI
GET/v1/transactions/by-zoneClé optionnelle

Transactions DVF par zone IRIS ou commune (max 50)

Retourne les transactions DVF (2021–2025) dans une zone administrative. Deux modes mutuellement exclusifs : q libellé naturel (« Écully », « Lyon 6e ») résolu automatiquement OU level+code officiel.

Paramètres d'URL (query)

NomTypeRequisDescription
qstringOptionnelLibellé de zone (ex: Écully, Lyon 6e). Mutuellement exclusif avec level+code.
levelstringOptionneliris | commune (avec code)
codestringOptionnelCode IRIS (9) ou INSEE commune (5)
limitnumberOptionnel1..50, défaut 50
priceMinnumberOptionnelPrix minimum (€)
priceMaxnumberOptionnelPrix maximum (€)
yearnumberOptionnelAnnée (2021..2025)
quarterstringOptionnelT1 | T2 | T3 | T4
localTypesstring[]OptionnelEx: Appartement, Maison, Local industriel...
surfaceMinnumberOptionnelSurface bâtie min (m²)
surfaceMaxnumberOptionnelSurface bâtie max (m²)
roomsMinnumberOptionnelPièces min (T2 → roomsMin=2)
roomsMaxnumberOptionnelPièces max (T2 → roomsMax=2)
includeMultiLotbooleanOptionnelInclure les ventes multilots (défaut true)
mutationTypestringOptionnelEx: Vente, VEFA

Réponses

  • 200Enveloppe { data }.
  • 400Zone invalide ou paramètres incohérents.
  • 401Clé API invalide ou révoquée.
  • 429Quota dépassé.
Voir le schéma complet sur Swagger UI
POST/v1/transactions/by-geometryClé optionnelle

Transactions DVF dans un polygone GeoJSON (max 50)

Retourne les transactions DVF (2021–2025) dont la parcelle intersecte la géométrie GeoJSON fournie (Polygon ou MultiPolygon, WGS84). Les filtres communs (prix, période, trimestre, type, surface, pièces, multilots) se passent dans filters.

En-têtes

NomTypeRequisDescription
Content-TypestringRequisapplication/json

Corps de la requête (JSON)

NomTypeRequisDescription
geometryobject (GeoJSON)RequisPolygon ou MultiPolygon WGS84
limitnumberOptionnel1..50, défaut 50
filtersobjectOptionnelFiltres communs (cf. lignes ci-dessous, à passer sous filters.*)
priceMinnumberOptionnelPrix minimum (€)
priceMaxnumberOptionnelPrix maximum (€)
yearnumberOptionnelAnnée (2021..2025)
quarterstringOptionnelT1 | T2 | T3 | T4
localTypesstring[]OptionnelEx: Appartement, Maison, Local industriel...
surfaceMinnumberOptionnelSurface bâtie min (m²)
surfaceMaxnumberOptionnelSurface bâtie max (m²)
roomsMinnumberOptionnelPièces min (T2 → roomsMin=2)
roomsMaxnumberOptionnelPièces max (T2 → roomsMax=2)
includeMultiLotbooleanOptionnelInclure les ventes multilots (défaut true)
mutationTypestringOptionnelEx: Vente, VEFA

Réponses

  • 200Enveloppe { data }.
  • 400Géométrie invalide.
  • 401Clé API invalide ou révoquée.
  • 429Quota dépassé.
Voir le schéma complet sur Swagger UI
GET/v1/prices/by-parcel/{idu}Clé optionnelle

Prix au m² par parcelle

Prix médian au m² autour d’une parcelle, ventilé par quartier, commune, département et région. Séries annuelles de 2021 à 2025 pour les appartements et maisons.

Paramètres de chemin

NomTypeRequisDescription
idustringRequisIdentifiant unique cadastral (IDU), identique à data.id renvoyé par GET /v1/parcels/nearest (ex. 750560000D0073).

Réponses

  • 200Séries annuelles de prix médian au m² par niveau géographique.
  • 401Clé API invalide ou révoquée.
  • 404Parcelle inconnue.
  • 429Quota dépassé.
  • 503Service temporairement indisponible.
Voir le schéma complet sur Swagger UI
GET/v1/prices/by-rueClé optionnelle

Prix au m² par rue (point géographique)

À partir d’une longitude et latitude WGS84, identifie la parcelle cadastrale au point, résout la voie DVF la plus représentée sur cette parcelle, puis retourne les séries annuelles (2021–2025, maisons et appartements) depuis dvf.transaction_stats_rue, le territoire (IRIS, commune, etc.) et un classement des rues les plus actives dans la commune.

Paramètres d'URL (query)

NomTypeRequisDescription
lngnumberRequisLongitude WGS84 (EPSG:4326).
latnumberRequisLatitude WGS84 (EPSG:4326).

Réponses

  • 200Rue résolue, séries annuelles rue, territoire et comparaisons intra-commune.
  • 400lng ou lat manquant ou invalide.
  • 404Aucune rue ou statistiques rue pour ce point (parcelle hors cadastre, pas de voie DVF, ou volume insuffisant).
  • 401Clé API invalide ou révoquée.
  • 429Quota dépassé.
  • 503Service temporairement indisponible.
Voir le schéma complet sur Swagger UI
GET/v1/prices/by-zoneClé optionnelle

Prix au m² par zone (sans parcelle)

Résout une zone par libellé (q, recherche dans communes, départements, régions, IRIS) ou par couple level + code (IRIS 9 caractères, commune INSEE 5, département, région, etc.). Retourne les séries annuelles DVF (2021–2025, maisons et appartements) aux niveaux pertinents : depuis l’IRIS jusqu’aux échelons supérieurs selon la zone résolue (pour une région, seules les stats région sont renvoyées).

Paramètres d'URL (query)

NomTypeRequisDescription
qstringOptionnelLibellé à rechercher (ex. Écully, Rhône, Île-de-France). Mutuellement exclusif avec level + code.
levelstringOptionnelNiveau : quartier, commune, arrondissement, ville, departement, region — à utiliser avec code.
codestringOptionnelCode officiel associé à level : code IRIS (9), code INSEE commune (5), département, région.

Réponses

  • 200Zone résolue (resolvedZone), enveloppe territoriale et yearlyStats par niveau disponible.
  • 400Combinaison de paramètres invalide (ex. q avec level/code, ou codes incohérents).
  • 404Zone introuvable.
  • 401Clé API invalide ou révoquée.
  • 429Quota dépassé.
  • 503Service temporairement indisponible.
Voir le schéma complet sur Swagger UI
GET/v1/loyers/by-commune/{codeInsee}Clé optionnelle

Loyers OLL par commune (séries annuelles 2014–2025)

Statistiques annuelles de loyers du parc locatif privé pour une commune identifiée par son code INSEE (Observatoires Locaux des Loyers). Loyer médian/moyen au m², quartiles, loyer mensuel, surface moyenne, nombre d'observations et logements. Seules ~3 200 communes couvertes par un observatoire sont disponibles.

Paramètres de chemin

NomTypeRequisDescription
codeInseestringRequisCode INSEE de la commune (5 caractères), ex. 34172 (Montpellier).

Réponses

  • 200Séries annuelles de loyers avec médiane, moyenne, quartiles et volumes.
  • 401Clé API invalide ou révoquée.
  • 404Commune non couverte par un observatoire OLL ou code INSEE introuvable.
  • 429Quota dépassé.
  • 503Service temporairement indisponible.
Voir le schéma complet sur Swagger UI
GET/v1/loyers/by-commune/{codeInsee}/{annee}Clé optionnelle

Loyers OLL pour une commune et une année (avec ventilation)

Loyers OLL pour une commune et une année spécifique, avec ventilation détaillée par type d'habitat (Appartement / Maison), nombre de pièces et époque de construction.

Paramètres de chemin

NomTypeRequisDescription
codeInseestringRequisCode INSEE de la commune (ex. 34172).
anneenumberRequisAnnée d'enquête OLL (2014–2025).

Réponses

  • 200Statistiques annuelles + ventilations par type, pièces et époque.
  • 400Année invalide.
  • 404Pas de données pour cette commune/année.
  • 429Quota dépassé.
  • 503Service indisponible.
Voir le schéma complet sur Swagger UI
GET/v1/loyers/by-coordinatesClé optionnelle

Loyers OLL par coordonnées GPS

À partir de la longitude et latitude WGS84, résout la commune cadastrale contenant le point, puis retourne les séries annuelles de loyers OLL. Pratique pour les agents IA et les intégrations carte.

Paramètres d'URL (query)

NomTypeRequisDescription
lngnumberRequisLongitude WGS84 (EPSG:4326).
latnumberRequisLatitude WGS84 (EPSG:4326).

Réponses

  • 200Séries annuelles de loyers pour la commune résolue.
  • 400lng ou lat invalide.
  • 404Commune introuvable ou non couverte par un observatoire OLL.
  • 429Quota dépassé.
  • 503Service indisponible.
Voir le schéma complet sur Swagger UI
POST/mcpClé optionnelle

MCP — Streamable HTTP

Endpoint Streamable HTTP du protocole MCP. Envoyez une requête JSON-RPC initialize pour créer une session, puis invoquez les outils ci-dessous. DELETE /mcp ferme la session. Avec un client MCP (Cursor, Claude, etc.), c’est le client qui gère la session automatiquement. Authorization optionnel : sans Bearer, quotas IP ; avec clé blk_live_, quotas par clé.

En-têtes

NomTypeRequisDescription
AuthorizationstringOptionnelOptionnel. Bearer blk_live_… pour quotas par clé ; omis = quotas anonymes (IP).
AcceptstringRequisapplication/json, text/event-stream
Content-TypestringRequisapplication/json
mcp-session-idstringOptionnelIdentifiant de session renvoyé après initialize (requêtes suivantes).

Outils disponibles

OutilParamètreRoute REST équivalente
search_addressqGET /v1/addresses/search
get_nearest_parcellng, latGET /v1/parcels/nearest
get_parcel_buildingsiduGET /v1/buildings/by-parcel/{idu}
get_parcel_demographicsiduGET /v1/demographie/by-parcel/{idu}
get_parcel_dpe_residentialiduGET /v1/dpe-residential/by-parcel/{idu}
get_parcel_dpe_tertiaryiduGET /v1/dpe-tertiary/by-parcel/{idu}
get_parcel_coproprieteiduGET /v1/copropriete/by-parcel/{idu}
get_parcel_occupantsiduGET /v1/occupants/by-parcel/{idu}
get_entreprise_by_sirensirenGET /v1/entreprises/{siren}
get_parcel_proprietairesiduGET /v1/proprietaires/by-parcel/{idu}
get_parcel_transactionsiduGET /v1/transactions/by-parcel/{idu}
transactions_by_bboxminLng, minLat, maxLng, maxLat, filters?GET /v1/transactions/by-bbox
transactions_by_radiuslng, lat, radiusMeters, filters?GET /v1/transactions/by-radius
transactions_by_zoneq | level+code, filters?GET /v1/transactions/by-zone
transactions_by_geometrygeometry, filters?POST /v1/transactions/by-geometry
search_transactionsmode + filtresPOST /v1/transactions/search
get_parcel_price_statsiduGET /v1/prices/by-parcel/{idu}
get_street_price_statslng, latGET /v1/prices/by-rue
get_rent_stats_by_communecodeInseeGET /v1/loyers/by-commune/{codeInsee}
get_rent_stats_by_commune_yearcodeInsee, anneeGET /v1/loyers/by-commune/{codeInsee}/{annee}
get_rent_stats_by_coordinateslng, latGET /v1/loyers/by-coordinates

Réponses

  • 200Réponse JSON-RPC ou flux selon l’étape (initialize, tools/call, etc.).
  • 400Requête MCP invalide ou session manquante.
  • 401Bearer fourni mais clé invalide ou révoquée.
  • 406Accept incomplet (doit inclure application/json et text/event-stream).
  • 429Quota dépassé.
Voir le schéma complet sur Swagger UI