---
title: "Ventes DVF autour d'un point, dans une commune ou par mutation"
method: GET
path: "/ventes/{id_mutation}"
---

# Ventes DVF autour d'un point, dans une commune ou par mutation

`GET /ventes/{id_mutation}`

## Request

- Base URL: `https://pillr.fr/api/v1`
- URL: `https://pillr.fr/api/v1/ventes/{id_mutation}`
- Auth: HTTP bearer

Les mutations DVF une par une, avec toutes leurs lignes, leur adresse DVF, leurs lots, leurs parcelles et leur position : autour d'un point (rayon de 2000 m au plus), dans une commune (l'arrondissement à Paris, Lyon et Marseille), ou par identifiant de mutation. Filtres : type de local, nature de la mutation, période, surface des logements, valeur foncière. Tri par date (le plus récent d'abord) ou par distance. Le prix au m² est recalculé à la mutation sur la surface de ses logements, avec sa qualité (vente en bloc, prix atypique et son motif). Les filtres de surface et de valeur s'appliquent après lecture : une page peut compter moins de mutations que la limite, curseur_suivant dit s'il en reste. Ventes de 2021 et suivantes ; les lignes d'une mutation situées dans une autre commune ne sont pas relues. Coût : 1 crédit par élément rendu.

## Path parameters

- `id_mutation` string, required: Identifiant DVF de la mutation, ex. 2024-426100.

## Response `200`

Réponse servie et débitée (sauf réponse identique déjà servie dans les 24 h).

- object
  - `recherche` object, required: La recherche servie, telle que lue.
    - `mode` 'mutation' | 'point' | 'commune', required
    - `tri` 'date' | 'distance', required
    - `insee` string, nullable, required
    - `lat` number, nullable, required
    - `lon` number, nullable, required
    - `rayon_m` integer, nullable, required
  - `donnees` object[], required: Les mutations de la page, chacune avec toutes ses lignes et son adresse.
    - `id_mutation` string, nullable, required: Identifiant DVF de la mutation ; null pour une vente de 2018 à 2020 (fichier sans identifiant).
    - `date` string, required: Date de la mutation (AAAA-MM-JJ).
    - `nature` string, nullable, required: Nature de la mutation : Vente, Vente en l'état futur d'achèvement, Adjudication, Échange...
    - `valeur_fonciere` number, nullable, required: Valeur foncière de la mutation entière, en euros.
    - `adresse` object, nullable, required: Adresse DVF de la mutation (celle de ses logements d'abord) ; null quand DVF n'en donne pas.
      - `numero` string, nullable, required: Numéro dans la voie, suffixe compris (« 12 bis »), tel que DVF l'écrit.
      - `voie` string, nullable, required: Libellé DVF de la voie, souvent abrégé.
      - `code_voie` string, nullable, required: Code FANTOIR de la voie, le même que dans la clé BAN.
      - `cle_ban` string, nullable, required: Clé BAN reconstituée depuis la commune, le code de voie et le numéro DVF : elle peut ne pas exister dans la Base Adresse Nationale.
    - `code_postal` string, nullable, required
    - `insee` string, nullable, required: Code INSEE de la commune DVF (l'arrondissement à Paris, Lyon et Marseille).
    - `nb_dispositions` integer, required: Dispositions de l'acte (une vente peut en compter plusieurs).
    - `locaux` object[], required: Locaux de la mutation, lus une fois par parcelle.
      - `type` string, required: Type de local DVF : Appartement, Maison, Dépendance, Local industriel. commercial ou assimilé.
      - `surface_bati` number, nullable, required: Surface réelle bâtie du local, en m².
      - `pieces` integer, nullable, required: Nombre de pièces principales.
      - `id_parcelle` string, nullable, required
      - `lots` object[], required: Lots déclarés sur la ligne du local (cinq au plus dans DVF).
        - `numero` string, required: Numéro du lot de copropriété.
        - `carrez` number, nullable, required: Surface Carrez du lot, en m² ; null quand elle n'est pas déclarée.
    - `nombre_lots` integer, nullable, required: Lots de copropriété déclarés dans la mutation.
    - `terrains` object[], required: Terrains de la mutation, par parcelle et nature de culture.
      - `id_parcelle` string, nullable, required
      - `nature_culture` string, nullable, required: Nature de culture du terrain (sols, jardins, terres...).
      - `nature_culture_speciale` string, nullable, required
      - `surface` number, nullable, required: Surface du terrain, en m².
    - `surface_terrain` number, nullable, required: Somme des surfaces de terrain, en m².
    - `parcelles` string[], required: Parcelles cadastrales de la mutation.
    - `volumes` string[], required: Numéros de volume (division en volumes), s'il y en a.
    - `lat` number, nullable, required
    - `lon` number, nullable, required
    - `surface_logements` number, nullable, required: Surface bâtie des appartements et maisons, en m².
    - `prix_m2` number, nullable, required: Valeur foncière rapportée à la surface bâtie des logements, en euros par m², arrondie ; null sans logement. Recalculé à la mutation, jamais à la ligne.
    - `indicateurs` object, required
      - `logements` integer, required: Appartements et maisons de la mutation.
      - `vente_en_bloc` boolean, required: Plus d'un logement : le prix au m² porte sur l'ensemble des logements.
      - `avec_dependance` boolean, required: La mutation comprend une dépendance (cave, parking, garage).
      - `avec_local_pro` boolean, required: La mutation comprend un local industriel, commercial ou assimilé.
      - `prix_atypique` boolean, required: Surface ou prix au m² hors des bornes du barème Pillr : à lire avec prudence.
      - `motif` string, nullable, required: Pourquoi le prix est atypique ; null sinon.
    - `qualite` object, required: Qualité du prix au m² de cette vente : une observation, ses drapeaux et sa méthode.
      - `n` integer, nullable, required: Nombre d'observations derrière la valeur ; null si sans objet.
      - `provenance` 'mesure' | 'estime', nullable, required: mesure : observé sur la donnée ; estime : modèle, barème ou imputation ; null : sans objet.
      - `incertitude` object, nullable, required: Incertitude de la valeur : fourchette et demi-largeur.
        - `demi_largeur_pct` number, nullable, required: Demi-largeur de la fourchette, en % de la valeur.
        - `bas` number, nullable, required
        - `haut` number, nullable, required
      - `drapeaux` string[], required: Ce qui doit faire lire la valeur avec prudence ; vide si rien.
      - `methode` string, nullable, required: Méthode de calcul ou de rattachement, en clair.
      - `donnees_du` string, nullable, required: Date de la donnée (AAAA-MM-JJ ou horodatage ISO 8601).
      - `source` string, required: Source publique ou moteur Pillr, en clair.
    - `millesime` string, nullable, required: Millésime du fichier DVF qui porte la mutation.
    - `distance_m` integer, nullable, required: Distance au point demandé, en mètres ; null hors d'une recherche autour d'un point.
    - `iris` string, nullable, required: Code IRIS de la vente (ventes de logement rattachées par Pillr) ; null sinon.
  - `limites` string[], required: Ce que la page ne couvre pas, en clair.
  - `curseur_suivant` string, nullable, required: Curseur de la page suivante, à repasser dans curseur ; null sur la dernière page.
  - `credits` object, required: Crédits débités par cet appel (réservés, pour une tâche en cours), et crédits encore utilisables ce mois avant la coupure : crédits offerts, crédits inclus du mois et crédits facturables sous le plafond de dépense (null si inconnus ou en bac à sable).
    - `debites` integer, required
    - `restants` integer, nullable, required

## Other responses

- `304`: Non modifiée depuis l'ETag fourni : rien n'est débité.
- `400`: Paramètres invalides ; Curseur invalide
- `401`: Clé d'API absente
- `402`: Crédits insuffisants ; Carte requise ; Plafond mensuel de dépense atteint
- `403`: Portée insuffisante
- `404`: Ressource absente : rien n'est débité
- `429`: Trop de requêtes par minute
- `500`: Erreur interne
- `503`: API indisponible ; Donnée momentanément indisponible ; Opération coupée sur ce créneau

---

[API](https://skmtc.dev/pillr/apis/api-pillr.md) · [All operations](https://skmtc.dev/pillr/apis/api-pillr/llms.txt) · [OpenAPI document](https://skmtc.dev/pillr/apis/api-pillr/revisions/218b2866bd6c?raw)
