API REST / Transactions

Transactions

Recherchez et récupérez des transactions immobilières DVF.

GET/v1/transactions5 crédits

Recherche des transactions DVF avec filtres.

Filtre de localisation requis : code_postal, commune, code_departement, ou latitude + longitude.

Paramètres

ParamètreTypeDéfautDescription
code_postalstringCode postal (ex. '75001')
communestringNom de la commune (ex. 'LYON', 'PARIS 03')
code_departementstringCode département (ex. '69')
latitudenumberLatitude (nécessite aussi longitude)
longitudenumberLongitude (nécessite aussi latitude)
radius_mnumber500Rayon en mètres pour recherche GPS (max 2000)
type_localenumMaison | Appartement | Terrain | Local commercial | Dépendance | Local industriel
prix_minnumberPrix minimum en euros
prix_maxnumberPrix maximum en euros
surface_minnumberSurface minimum en m²
surface_maxnumberSurface maximum en m²
date_debutstringDate de début (YYYY-MM-DD)
date_finstringDate de fin (YYYY-MM-DD)
exclude_bulk_salesbooleantrueExclure les ventes en lot
exclude_outliersbooleantrueExclure les prix aberrants
limitnumber50Nombre de résultats (max 200)
offsetnumber0Décalage pour la pagination
summary_onlybooleanfalseRetourner uniquement un résumé avec 3 exemples

Exemples

curl "https://mcp.normi.fr/v1/transactions?code_postal=75001&type_local=Appartement&limit=5" \
  -H "X-API-Key: normi_votre_token"

Réponse

{
  "transactions": [
    {
      "id": 12345678,
      "date_mutation": "2025-06-30",
      "valeur_fonciere": 1780000,
      "code_postal": "75001",
      "commune": "PARIS 01",
      "type_local": "Appartement",
      "surface_reelle_bati": 142,
      "surface_carrez_lot1": 104.83,
      "nombre_pieces_principales": 3,
      "prix_m2": 12535,
      "latitude": 48.8641,
      "longitude": 2.3381
    }
  ],
  "pagination": { "total": 563, "limit": 5, "offset": 0, "has_more": true },
  "next_cursor": 5,
  "_credits": { "used": 5, "remaining": 95 },
  "query_time_ms": 312
}
GET/v1/transactions/:id2 crédits

Retourne le détail d'une transaction par son identifiant numérique DVF. HTTP 404 si introuvable (crédits remboursés).

Exemple

curl "https://mcp.normi.fr/v1/transactions/12345678" \
  -H "X-API-Key: normi_votre_token"
Gotchas à connaître
  • Paris est stocké par arrondissement : PARIS 01, PARIS 02… Utilisez commune=PARIS pour tous les arrondissements simultanément.
  • Grands codes postaux (75015–75020) : recommandez date_debut pour éviter les timeouts.
  • Rayon > 1000m : limité automatiquement aux 12 derniers mois.