API REST / Comparer des zones

Comparer des zones

Comparez 2 à 5 zones géographiques côte à côte : prix médian, prix/m², volume et évolution.

GET/v1/stats/compare10 crédits

Retourne les statistiques de marché pour chaque zone et les classe par prix au m². Inclut la variation annuelle (YoY) quand les données le permettent.

locations : tableau JSON encodé en URL
Le paramètre locations est un tableau JSON encodé en URL (utilisez encodeURIComponent en JS ou json.dumps en Python). Minimum 2, maximum 5 zones.

Paramètres

ParamètreTypeDéfautDescription
locations*string (JSON)Tableau JSON encodé de 2 à 5 objets. Chaque objet contient code_postal ou commune. Ex : [{"code_postal":"75011"},{"code_postal":"75012"}]
type_localenumAppartementMaison | Appartement
date_debutstringDate de début au format YYYY-MM-DD (défaut : 1 an en arrière).

Exemple — comparer le 11e et 12e arrondissement

curl "https://mcp.normi.fr/v1/stats/compare?locations=%5B%7B%22code_postal%22%3A%2275011%22%7D%2C%7B%22code_postal%22%3A%2275012%22%7D%5D&type_local=Appartement" \
  -H "X-API-Key: normi_votre_token"

Réponse

{
  "type_local": "Appartement",
  "period": { "date_debut": "2025-03-01", "date_fin": "2026-03-01" },
  "comparisons": [
    {
      "location": { "code_postal": "75011", "commune": "PARIS 11" },
      "metrics": {
        "count": 412,
        "price_m2_median": 9850,
        "price_m2_avg": 10120,
        "price_median": 560000,
        "yoy_price_change_pct": 2.4
      },
      "rank_price_m2": 1
    },
    {
      "location": { "code_postal": "75012", "commune": "PARIS 12" },
      "metrics": {
        "count": 387,
        "price_m2_median": 9320,
        "price_m2_avg": 9580,
        "price_median": 510000,
        "yoy_price_change_pct": 1.8
      },
      "rank_price_m2": 2
    }
  ],
  "winner_price_m2": { "code_postal": "75012", "label": "Le moins cher" },
  "_credits": { "used": 10, "remaining": 60 },
  "query_time_ms": 387
}
Conseils d'utilisation
  • Pour Paris, utilisez les codes postaux d'arrondissement (75001–75020) plutôt que la commune PARIS seule.
  • rank_price_m2: 1 = zone la plus chère.
  • Voir aussi compare_neighborhoods pour l'équivalent MCP.