---
title: "Agences actives et parts de marché d'une commune"
method: GET
path: "/communes/{insee}/agences"
---

# Agences actives et parts de marché d'une commune

`GET /communes/{insee}/agences`

## Request

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

Les agences actives dans une commune, mois par mois, d'après les annonces relevées par Pillr : enseigne, SIREN, mandats pris, mandats exclusifs, durée médiane en ligne, part des annonces baissées et part de marché de chaque agence, avec la part du leader et l'indice de concentration (HHI) de la commune. Par défaut le dernier mois calculé ; « mois » pour un mois donné, « depuis » pour tous les mois à partir d'un mois (24 mois au plus). Rien n'est masqué : un mois à peu de mandats est servi avec le drapeau peu_d_observations. Aucune agence relevée : 404 ressource_absente, rien n'est débité. Coût : 3 crédits 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

- `mois` string: Un mois donné (AAAA-MM).
- `depuis` string: Tous les mois à partir de celui-ci (AAAA-MM), 24 au plus.

## Response `200`

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

- object
  - `insee` string, required
  - `par_mois` object[], required: Un bloc par mois, le plus récent d'abord.
    - `mois` string, required: Mois (AAAA-MM).
    - `agences` object[], required: Les agences actives dans le mois, de la plus présente à la moins présente.
      - `enseigne` string, required: Enseigne de l'agence telle que les annonces la publient.
      - `siren` string, nullable, required: SIREN de l'agence, rapproché par Sirene ; null s'il n'a pas été trouvé.
      - `mandats` integer, required: Annonces entrées dans le mois (mandats pris).
      - `exclusifs` integer, required: Dont mandats exclusifs.
      - `part_exclusifs_pct` number, nullable, required: Part des mandats exclusifs, en %.
      - `part_marche_pct` number, nullable, required: Part des mandats de la commune dans le mois, en % (mandats de l'agence sur tous les mandats de la commune).
      - `duree_mediane_j` number, nullable, required: Durée médiane en ligne des annonces de l'agence, en jours.
      - `part_baisses_pct` number, nullable, required: Part des annonces de l'agence dont le prix a baissé, en %.
    - `n_agences` integer, required
    - `mandats_total` integer, nullable, required: Mandats pris dans la commune ce mois (signaux communaux) ; à défaut, la somme des mandats des agences.
    - `part_leader_pct` number, nullable, required: Part de marché de l'agence la plus présente, en % (signaux communaux).
    - `hhi` number, nullable, required: Indice de concentration de Herfindahl-Hirschman des mandats, de 0 (marché éclaté) à 1 (une seule agence).
    - `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.
  - `donnees_du` string, nullable, required: Date du calcul des agrégats (horodatage ISO 8601).
  - `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)
