---
title: "Loyer de marché d'un logement"
method: GET
path: "/communes/{insee}/loyers"
---

# Loyer de marché d'un logement

`GET /communes/{insee}/loyers`

## Request

- Base URL: `https://pillr.fr/api/v1`
- URL: `https://pillr.fr/api/v1/communes/{insee}/loyers`
- Auth: HTTP bearer

Loyer d'annonce, charges comprises, d'un logement d'une commune selon sa typologie (T1 à T5, maison) et sa surface, lu dans les quatre segments de la Carte des loyers (ANIL, DHUP) : loyer au m², loyer mensuel, fourchette à 95 %, segment retenu et repli éventuel sur l'ensemble des appartements, rendement brut de marché, et le modèle derrière chaque segment (type de prédiction, annonces observées, R² ajusté). Sans typologie ni surface, rend la synthèse de la commune (une ligne par typologie à surface d'exemple). Mêmes fonctions que les pages loyer de pillr.fr ; Paris, Lyon et Marseille sont agrégés depuis leurs arrondissements. Coût : 1 crédit par appel réussi.

## Path parameters

- `insee` string, required: Code INSEE de la commune ou de l'arrondissement (5 caractères, 2A ou 2B pour la Corse).

## Query parameters

- `typologie` 'T1' | 'T2' | 'T3' | 'T4' | 'T5' | 'maison': Typologie du logement : T1 à T5 (T5 et plus), ou maison.
- `surface` number: Surface habitable, en m².

## Response `200`

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

- object
  - `insee` string, required
  - `commune` string, nullable, required
  - `millesime` string, nullable, required: Millésime de la Carte des loyers.
  - `arrondissements_agreges` integer, required: Paris, Lyon et Marseille : nombre d'arrondissements agrégés, pondérés par leur population ; 0 pour une autre commune.
  - `charges_comprises` true, required: Loyers d'annonce de la Carte des loyers, charges comprises.
  - `loyer_m2_commune` object, required: Loyer d'annonce au m² de la commune, tous appartements (modèle de la Carte des loyers, repli sur le loyer hérité).
    - `valeur` number, 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.
  - `logement` object, nullable, required: Le logement décrit par typologie et surface ; null sans typologie ni surface, ou quand aucun segment ne le couvre (une maison sans segment maison n'a pas de loyer).
    - `typologie` 'T1' | 'T2' | 'T3' | 'T4' | 'T5' | 'maison', required: Typologie du logement : T1 à T5 (T5 et plus), ou maison.
    - `surface_m2` number, required
    - `segment` 'appartement' | 'appartement_t1_t2' | 'appartement_t3plus' | 'maison', required: Segment de la Carte des loyers : appartement (appartements, toutes typologies), appartement_t1_t2 (appartements T1 et T2), appartement_t3plus (appartements T3 et plus), maison (maisons).
    - `repli` boolean, required: Vrai quand le segment de la typologie manquait et que celui de l'ensemble des appartements l'a remplacé.
    - `loyer_m2` number, required: Loyer d'annonce au m² par mois, charges comprises.
    - `loyer_mensuel` number, required: Loyer d'annonce mensuel, charges comprises : loyer au m² multiplié par la surface.
    - `fourchette_mensuelle` object, nullable, required: Bornes de l'intervalle de prédiction à 95 % multipliées par la surface ; null si le segment n'en publie pas.
      - `min` number, required
      - `max` number, 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.
    - `rendement_brut_marche_pct` number, nullable, required: Rendement brut de marché du type de bien (appartement ou maison) dans la commune, en % ; null sans prix de vente publié ou au-delà de la borne de vraisemblance.
    - `modele` object, nullable, required
      - `type_prediction` string, nullable, required: commune : prédit avec les annonces de la commune ; maille ou EPCI : prédit à une maille plus large, faute d'annonces assez nombreuses dans la commune.
      - `nb_obs_commune` integer, nullable, required: Annonces de la commune dans le modèle.
      - `nb_obs_maille` integer, nullable, required: Annonces de la maille dans le modèle.
      - `r2_ajuste` number, nullable, required: R² ajusté du modèle.
      - `surface_reference_m2` number, nullable, required: Surface de référence publiée pour le segment ; null pour les maisons.
  - `par_typologie` object[], required: Une ligne par typologie couverte, à la surface d'exemple publiée par les pages loyer de pillr.fr.
    - `typologie` 'T1' | 'T2' | 'T3' | 'T4' | 'T5' | 'maison', required: Typologie du logement : T1 à T5 (T5 et plus), ou maison.
    - `surface_m2` number, required
    - `segment` 'appartement' | 'appartement_t1_t2' | 'appartement_t3plus' | 'maison', required: Segment de la Carte des loyers : appartement (appartements, toutes typologies), appartement_t1_t2 (appartements T1 et T2), appartement_t3plus (appartements T3 et plus), maison (maisons).
    - `repli` boolean, required: Vrai quand le segment de la typologie manquait et que celui de l'ensemble des appartements l'a remplacé.
    - `loyer_m2` number, required: Loyer d'annonce au m² par mois, charges comprises.
    - `loyer_mensuel` number, required: Loyer d'annonce mensuel, charges comprises : loyer au m² multiplié par la surface.
    - `fourchette_mensuelle` object, nullable, required: Bornes de l'intervalle de prédiction à 95 % multipliées par la surface ; null si le segment n'en publie pas.
      - `min` number, required
      - `max` number, 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.
  - `rendement_brut_marche_pct` object, required: Rendement brut de marché de la commune : loyer annuel au m² sur prix médian au m², en %.
    - `appartement` number, nullable, required
    - `maison` number, 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.
  - `segments` object[], required
    - `segment` 'appartement' | 'appartement_t1_t2' | 'appartement_t3plus' | 'maison', required: Segment de la Carte des loyers : appartement (appartements, toutes typologies), appartement_t1_t2 (appartements T1 et T2), appartement_t3plus (appartements T3 et plus), maison (maisons).
    - `libelle` string, required
    - `loyer_m2` number, required
    - `min_95` number, nullable, required
    - `max_95` number, nullable, required
    - `modele` object, nullable, required: null pour un agrégat d'arrondissements.
      - `type_prediction` string, nullable, required: commune : prédit avec les annonces de la commune ; maille ou EPCI : prédit à une maille plus large, faute d'annonces assez nombreuses dans la commune.
      - `nb_obs_commune` integer, nullable, required: Annonces de la commune dans le modèle.
      - `nb_obs_maille` integer, nullable, required: Annonces de la maille dans le modèle.
      - `r2_ajuste` number, nullable, required: R² ajusté du modèle.
      - `surface_reference_m2` number, nullable, required: Surface de référence publiée pour le segment ; null pour les maisons.
    - `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.
  - `limites` string[], required
  - `source` 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

---

[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)
