---
title: "Zonage ABC, plafonds et contraintes locales"
method: GET
path: "/communes/{insee}/zonage"
---

# Zonage ABC, plafonds et contraintes locales

`GET /communes/{insee}/zonage`

## Request

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

Zone ABC d'une commune (corrigée des révisions officielles que la base n'intègre pas encore), statut à la date de l'appel des dispositifs d'investissement locatif (Pinel, Relance logement, Denormandie, Loc'Avantages, déficit foncier) avec leur source officielle, plafond de loyer de la location intermédiaire au m² et, pour une surface donnée, au mois avec le coefficient de surface, comparé à un loyer, et contraintes locales à vérifier en mairie : encadrement des loyers, location de courte durée, tension du marché. Mêmes faits sourcés que les pages de pillr.fr ; aucun conseil fiscal. 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

- `surface` number: Surface retenue en m² (habitable, plus la moitié des annexes dans la limite de 8 m²).
- `loyer` number: Loyer mensuel hors charges à comparer au plafond, en euros.

## 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
  - `zone` 'A bis' | 'A' | 'B1' | 'B2' | 'C', nullable, required: Zone du zonage ABC : A bis, A, B1, B2 ou C.
  - `zone_servie` string, nullable, required: La zone lue en base, avant correction.
  - `correction` object, nullable, required: Une révision officielle que la base n'intègre pas encore et qui change la zone de la commune.
    - `arrete` string, required
    - `en_vigueur_le` string, required
    - `zone_servie` 'A bis' | 'A' | 'B1' | 'B2' | 'C', required: Zone du zonage ABC : A bis, A, B1, B2 ou C.
    - `source` object, required
      - `editeur` string, required
      - `libelle` string, required
      - `url` string, required
      - `date` string, required: Date de la source ou de la version du texte consultée (AAAA-MM-JJ).
  - `zonage` object, required
    - `arrete` string, required: Dernière révision officielle intégrée à la base.
    - `importe_le` string, required
    - `constate_le` string, required
    - `phrase` string, required
    - `source` object, required
      - `editeur` string, required
      - `libelle` string, required
      - `url` string, required
      - `date` string, required: Date de la source ou de la version du texte consultée (AAAA-MM-JJ).
  - `dispositifs` object[], required
    - `cle` 'pinel' | 'relance_logement' | 'denormandie' | 'loc_avantages' | 'deficit_foncier', required
    - `nom` string, required
    - `statut` 'ouvert' | 'ferme' | 'a_verifier', required: ouvert : ouvert aux nouvelles opérations à la date de l'appel ; ferme : fermé ; a_verifier : ouvert sous une condition que Pillr Data ne vérifie pas (liste de communes, convention).
    - `detail` string, required
    - `jusqu_au` string, nullable, required: Date limite des acquisitions ou des demandes (AAAA-MM-JJ).
    - `role_de_la_zone` string, required
    - `source` object, required
      - `editeur` string, required
      - `libelle` string, required
      - `url` string, required
      - `date` string, required: Date de la source ou de la version du texte consultée (AAAA-MM-JJ).
    - `sources_complementaires` object[], required
      - `editeur` string, required
      - `libelle` string, required
      - `url` string, required
      - `date` string, required: Date de la source ou de la version du texte consultée (AAAA-MM-JJ).
    - `verifie_le` string, required
  - `plafond_loyer_intermediaire` object, required: Plafond de loyer de la location intermédiaire (Relance logement, baux Pinel en cours, Denormandie).
    - `annee` integer, required
    - `eur_m2_mois` number, nullable, required: Plafond hors charges par m² de surface retenue, avant coefficient ; null hors métropole ou sans zone.
    - `coefficient_surface` number, nullable, required
    - `formule_coefficient` string, required
    - `plafond_mensuel` number, nullable, required: Plafond mensuel hors charges pour la surface donnée, coefficient compris.
    - `loyer` number, nullable, required: Le loyer comparé, hors charges.
    - `depassement_pct` number, nullable, required
    - `conforme` boolean, nullable, required
    - `champ` string, required: Ce que ce plafond vise, et ce qu'il ne vise pas.
    - `source` object, required
      - `editeur` string, required
      - `libelle` string, required
      - `url` string, required
      - `date` string, required: Date de la source ou de la version du texte consultée (AAAA-MM-JJ).
    - `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.
  - `contraintes_locales` object[], required
    - `type` 'encadrement' | 'courte_duree' | 'tension', required
    - `niveau` 'info' | 'attention', required
    - `titre` string, required
    - `detail` string, required
    - `a_verifier` true, required: Pillr signale, la mairie confirme.
  - `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.
  - `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)
