---
title: "Ventes d'une rue ou d'une commune"
method: GET
path: "/ventes/rue"
---

# Ventes d'une rue ou d'une commune

`GET /ventes/rue`

## Request

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

Les ventes DVF d'une rue (par son nom géocodé dans la Base Adresse Nationale, ou par son code de voie) ou d'une commune (l'arrondissement à Paris, Lyon et Marseille), lues à la vente entière : une vente d'un seul logement, hors local professionnel et vente en bloc, comme le barème Pillr. Par type de bien, sur la période entière puis année par année : nombre de ventes, médiane, quartiles dès 2 ventes, minimum, maximum, surface médiane, dernière vente, sans seuil de publication. Les ventes au prix atypique sont écartées des agrégats et comptées. À la voie, chaque vente est listée avec son numéro et sa qualité. Le prix de référence de la commune est le barème Pillr, le même que les pages communes. Mêmes calculs que l'outil ventes_rue du Hub. Coût : 5 crédits par appel réussi.

## Query parameters

- `voie` string: Nom de la voie, ex. « rue de Genève ».
- `code_voie` string: Code FANTOIR de la voie (deuxième segment de la clé BAN), avec insee, au lieu de son nom.
- `insee` string: Code INSEE de la commune DVF (l'arrondissement à Paris, Lyon et Marseille).
- `code_postal` string: Code postal, à défaut du code INSEE.
- `type` 'appartement' | 'maison': Ne servir qu'un type de bien.
- `depuis` string: Ne compter que les ventes à partir de cette date (AAAA-MM-JJ).

## Response `200`

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

- object
  - `cible` object, required
    - `perimetre` 'voie' | 'commune', required
    - `voie` string, nullable, required: La voie retenue (libellé de la Base Adresse Nationale, ou celui que DVF écrit quand la voie est donnée par son code).
    - `code_voie` string, nullable, required
    - `commune` string, nullable, required
    - `insee` string, required
    - `code_postal` string, nullable, required
  - `par_type` object, required
    - `appartement` object, nullable, required
      - `periode` object, nullable, required: Toutes les années réunies, prix non ramenés à une même date ; null sans vente typique.
        - `periode` string, required: Période couverte, ex. « 2021 à 2025 ».
        - `n` integer, required: Ventes typiques qui portent l'agrégat : à lire avant la médiane.
        - `mediane_m2` number, required: Prix au m² médian, en euros.
        - `q1` number, nullable, required: Premier quartile du prix au m², dès 2 ventes.
        - `q3` number, nullable, required: Troisième quartile du prix au m², dès 2 ventes.
        - `min` number, required
        - `max` number, required
        - `surface_mediane` number, required: Surface médiane, en m².
        - `derniere_vente_le` string, required
        - `n_prix_atypiques` integer, required: Ventes au prix atypique du groupe, écartées de l'agrégat (listées à la voie).
        - `qualite` object, required: Ce qui permet de juger la valeur : nombre, provenance, incertitude, drapeaux, date et source.
          - `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.
      - `par_annee` object[], required: Chaque année qui compte au moins une vente typique, la plus récente d'abord.
        - `annee` integer, required
        - `n` integer, required: Ventes typiques qui portent l'agrégat : à lire avant la médiane.
        - `mediane_m2` number, required: Prix au m² médian, en euros.
        - `q1` number, nullable, required: Premier quartile du prix au m², dès 2 ventes.
        - `q3` number, nullable, required: Troisième quartile du prix au m², dès 2 ventes.
        - `min` number, required
        - `max` number, required
        - `surface_mediane` number, required: Surface médiane, en m².
        - `derniere_vente_le` string, required
        - `n_prix_atypiques` integer, required: Ventes au prix atypique du groupe, écartées de l'agrégat (listées à la voie).
        - `qualite` object, required: Ce qui permet de juger la valeur : nombre, provenance, incertitude, drapeaux, date et source.
          - `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.
      - `note` string, nullable, required
    - `maison` object, nullable, required
      - `periode` object, nullable, required: Toutes les années réunies, prix non ramenés à une même date ; null sans vente typique.
        - `periode` string, required: Période couverte, ex. « 2021 à 2025 ».
        - `n` integer, required: Ventes typiques qui portent l'agrégat : à lire avant la médiane.
        - `mediane_m2` number, required: Prix au m² médian, en euros.
        - `q1` number, nullable, required: Premier quartile du prix au m², dès 2 ventes.
        - `q3` number, nullable, required: Troisième quartile du prix au m², dès 2 ventes.
        - `min` number, required
        - `max` number, required
        - `surface_mediane` number, required: Surface médiane, en m².
        - `derniere_vente_le` string, required
        - `n_prix_atypiques` integer, required: Ventes au prix atypique du groupe, écartées de l'agrégat (listées à la voie).
        - `qualite` object, required: Ce qui permet de juger la valeur : nombre, provenance, incertitude, drapeaux, date et source.
          - `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.
      - `par_annee` object[], required: Chaque année qui compte au moins une vente typique, la plus récente d'abord.
        - `annee` integer, required
        - `n` integer, required: Ventes typiques qui portent l'agrégat : à lire avant la médiane.
        - `mediane_m2` number, required: Prix au m² médian, en euros.
        - `q1` number, nullable, required: Premier quartile du prix au m², dès 2 ventes.
        - `q3` number, nullable, required: Troisième quartile du prix au m², dès 2 ventes.
        - `min` number, required
        - `max` number, required
        - `surface_mediane` number, required: Surface médiane, en m².
        - `derniere_vente_le` string, required
        - `n_prix_atypiques` integer, required: Ventes au prix atypique du groupe, écartées de l'agrégat (listées à la voie).
        - `qualite` object, required: Ce qui permet de juger la valeur : nombre, provenance, incertitude, drapeaux, date et source.
          - `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.
      - `note` string, nullable, required
  - `ventes` object[], required: À la voie : chaque vente, numéro compris, la plus récente d'abord ; vide pour une commune.
    - `date` string, required
    - `numero` string, nullable, required: Numéro dans la voie, suffixe compris ; null quand DVF n'en donne pas.
    - `adresse` string, nullable, required: Numéro et voie, tels que DVF les écrit.
    - `type` 'appartement' | 'maison', required
    - `surface` number, required: Surface du logement, en m².
    - `prix` number, nullable, required: Valeur foncière de la mutation, en euros.
    - `prix_m2` number, required
    - `id_mutation` string, nullable, required
    - `qualite` object, required: Ce qui permet de juger la valeur : nombre, provenance, incertitude, drapeaux, date et source.
      - `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.
  - `ventes_total` integer, nullable, required: Ventes de la voie quand la liste est tronquée ; null sinon.
  - `prix_reference_commune` object, required
    - `appartement` object, nullable, required
      - `prix_m2` number, required
      - `libelle` string, required: Comment citer ce prix.
      - `qualite` object, required: Ce qui permet de juger la valeur : nombre, provenance, incertitude, drapeaux, date et source.
        - `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.
    - `maison` object, nullable, required
      - `prix_m2` number, required
      - `libelle` string, required: Comment citer ce prix.
      - `qualite` object, required: Ce qui permet de juger la valeur : nombre, provenance, incertitude, drapeaux, date et source.
        - `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.
    - `source` string, required
  - `millesimes` string, nullable, required
  - `note` string, required
  - `limites` string[], required
  - `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
- `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)
