API REST / Estimate

Estimate

Estimation automatisée (AVM) d'un bien immobilier à partir de comparables DVF réels.

GET/v1/estimate10 crédits

Retourne une fourchette d'estimation (basse / médiane / haute) calculée à partir des transactions comparables les plus proches. Fournit également le prix au m², un score de confiance et le nombre de comparables utilisés.

Paramètres requis
latitude, longitude et surface sont obligatoires. Le type_local est optionnel et vaut Appartement par défaut.

Paramètres

ParamètreTypeDéfautDescription
latitude*numberLatitude GPS du bien (ex. 48.8566)
longitude*numberLongitude GPS du bien (ex. 2.3522)
surface*numberSurface en m² (5–5000)
type_localenumAppartementMaison | Appartement
piecesnumberNombre de pièces (tolérance ±1 sur les comparables)
radius_mnumber500Rayon de recherche en mètres (100–2000)
max_age_monthsnumber18Ancienneté max des transactions (1–24 mois). Défaut 18 mois car DVF est mis à jour semestriellement.

Exemple — estimer un appartement de 65 m² à Paris 11

curl "https://mcp.normi.fr/v1/estimate?latitude=48.8581&longitude=2.3790&surface=65&type_local=Appartement&pieces=3" \
  -H "X-API-Key: normi_votre_token"

Réponse

{
  "estimate": {
    "price_range": {
      "low": 572000,
      "mid": 614500,
      "high": 668000
    },
    "price_per_m2": {
      "min": 8800,
      "median": 9454,
      "max": 10277
    },
    "confidence": 0.87,
    "based_on_count": 11
  },
  "input": {
    "latitude": 48.8581,
    "longitude": 2.379,
    "surface": 65,
    "type_local": "Appartement"
  },
  "_credits": { "used": 10, "remaining": 85 },
  "query_time_ms": 312
}

Réponse sans comparables suffisants

Si moins de 3 comparables sont trouvés, estimate est null et un message d'aide est retourné. Les 10 crédits sont quand même déduits.

{
  "estimate": null,
  "message": "Insufficient comparable transactions. Try increasing radius_m or max_age_months.",
  "input": { ... },
  "_credits": { "used": 10, "remaining": 75 },
  "query_time_ms": 198
}
Interpréter les résultats
  • confidence : entre 0 et 1 — plus il y a de comparables proches, plus le score est élevé.
  • price_range.mid : médiane des prix estimés sur les comparables, pondérée par la similarité.
  • Le défaut 18 mois pour max_age_months est intentionnel : DVF est mis à jour semestriellement (avril / octobre), une fenêtre de 12 mois peut manquer le dernier lot.
  • Pour les zones denses (Paris, Lyon…), réduire radius_m à 200–300 m améliore la précision.
  • Utilisez GET /v1/comparables si vous souhaitez accéder aux transactions individuelles utilisées pour le calcul.