---
title: "Vie d'une annonce : prix, diffusion, fatigue vendeur"
method: GET
path: "/annonces/{id}/vie"
---

# Vie d'une annonce : prix, diffusion, fatigue vendeur

`GET /annonces/{id}/vie`

## Request

- Base URL: `https://pillr.fr/api/v1`
- URL: `https://pillr.fr/api/v1/annonces/{id}/vie`
- Auth: HTTP bearer

La vie d'une annonce en un appel : chaque variation de prix datée (doublons et corrections de prix mal lus signalés et écartés des calculs), baisse nette et cumulée, nombre de baisses et de hausses, plus forte baisse, prix en yo-yo, jours sur le marché et depuis la dernière baisse ; diffusion du même bien chez tous ses annonceurs, agences nommées avec leur SIREN quand il se rapproche, prix par agence, écart et agence la moins chère, première parution réelle ; parcours du bien étape par étape (annonceur, portails, début et fin, prix d'entrée et de sortie, mandat exclusif, republications) et date du passage en multi-mandat ; fatigue vendeur et republications. Un particulier n'est jamais nommé. Rien n'est débité si l'annonce est absente. Coût : 2 crédits par appel réussi.

## Path parameters

- `id` string, required: Identifiant de l'annonce : lbc:<numéro>, bienici:<identifiant>, seloger:<numéro> ou identifiant Pillr.

## Response `200`

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

- object
  - `id` string, required
  - `prix` object, required
    - `initial` number, nullable, required
    - `actuel` number, nullable, required
    - `baisse_totale_eur` number, nullable, required: Variation nette du prix initial au prix actuel, en euros (négatif : baisse).
    - `baisse_pct` number, nullable, required
    - `baisses_cumulees_eur` number, required: Somme des seules baisses, en euros.
    - `nb_baisses` integer, required
    - `nb_hausses` integer, required
    - `plus_forte_baisse_pct` number, nullable, required
    - `en_yoyo` boolean, required: Vrai si le prix revient à des valeurs déjà vues, avec des hausses et des baisses : souvent un prix avec ou sans honoraires.
    - `evenements` object[], required
      - `date` string, required
      - `ancien` number, nullable, required
      - `nouveau` number, required
      - `variation_eur` number, nullable, required
      - `variation_pct` number, nullable, required
      - `source` string, nullable, required
      - `doublon_probable` boolean, required: Même mouvement que le précédent, écrit deux fois : écarté des calculs.
      - `aberrant` boolean, required: Correction d'un prix mal lu (facteur dix, ou variation hors de toute plausibilité) : écartée des calculs.
    - `suivi_depuis` string, required: Date de début de la détection des variations de prix.
    - `publiee_avant_le_suivi` boolean, required: Vrai si l'annonce était en ligne avant le début du suivi : son prix a pu bouger avant.
    - `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.
  - `jours_sur_le_marche` integer, nullable, required
  - `jours_depuis_derniere_baisse` integer, nullable, required
  - `diffusion` object, nullable, required: Le même bien chez tous ses annonceurs (dédoublonnage du catalogue) ; null si une seule annonce est connue.
    - `nb_annonces` integer, required
    - `nb_agences` integer, required
    - `nb_particuliers` integer, required
    - `nb_portails` integer, required
    - `prix_min` number, nullable, required
    - `prix_max` number, nullable, required
    - `ecart_prix_eur` number, nullable, required
    - `ecart_prix_pct` number, nullable, required
    - `ecart_credible` boolean, required: Faux au-delà de l'écart plausible entre honoraires : erreur de saisie ou deux biens mal rapprochés.
    - `premiere_parution` string, nullable, required
    - `jours_reels` integer, nullable, required: Jours depuis la première parution du bien, toutes annonces confondues.
    - `agences` object[], required
      - `particulier` boolean, required
      - `nom` string, nullable, required: Nom de l'agence ; jamais celui d'un particulier.
      - `siren` string, nullable, required: SIREN de l'agence, rapproché par son nom dans la commune ; null si aucun rapprochement.
      - `portails` string[], required
      - `prix` number, nullable, required
      - `prix_max` number, nullable, required
      - `active` boolean, required
      - `depuis` string, nullable, required
      - `vue_le` string, nullable, required
      - `la_moins_chere` boolean, required
    - `parcours` object[], required: Le parcours du bien : une étape par annonceur et par période de diffusion continue, dans l'ordre ; vide tant que le parcours n'est pas calculé.
      - `annonceur` 'agence' | 'particulier' | 'inconnu', required
      - `nom` string, nullable, required: Nom de l'agence ; jamais celui d'un particulier.
      - `portails` string[], required
      - `debut` string, nullable, required
      - `debut_avant_suivi` boolean, required: Vrai si le début est la date déclarée par le portail, antérieure à notre premier relevé : « depuis au moins ».
      - `fin` string, nullable, required: Dernière vue au balayage ; null si l'annonceur diffuse encore le bien.
      - `prix_entree` number, nullable, required: Premier prix relevé (pas forcément celui de la mise en ligne si debut_avant_suivi).
      - `prix_sortie` number, nullable, required: Dernier prix relevé, actuel si l'étape est en cours.
      - `nb_baisses` integer, required
      - `nb_hausses` integer, required
      - `exclusif` boolean, required: Mandat exclusif lu sur au moins une annonce de l'étape.
      - `exclusif_jusqu_au` string, nullable, required: Dernière date à laquelle le mandat a été lu exclusif, s'il ne l'est plus.
      - `republications` integer, required: Annonces republiées par le même annonceur sur le même portail dans l'étape.
    - `multi_mandat_depuis` string, nullable, required: Date à laquelle au moins deux agences nommées proposent le bien en même temps ; null s'il n'est pas en multi-mandat aujourd'hui.
    - `nb_agences_max` integer, nullable, required: Le plus grand nombre d'agences nommées en même temps sur toute l'histoire du bien.
    - `exclusif_en_cours` boolean, nullable, required: Une agence diffuse aujourd'hui le bien en mandat exclusif.
    - `maj_le` 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.
  - `fatigue_vendeur` 'faible' | 'moderee' | 'elevee' | 'inconnue', required
  - `republications` integer, nullable, required: Republications de l'annonce relevées par le balayage.
  - `methode` 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)
