---
title: "Rendement, cash-flow et crédit"
method: POST
path: "/simulations/rendement"
---

# Rendement, cash-flow et crédit

`POST /simulations/rendement`

## Request

- Base URL: `https://pillr.fr/api/v1`
- URL: `https://pillr.fr/api/v1/simulations/rendement`
- Auth: HTTP bearer

Simulation d'un investissement locatif avec le moteur du simulateur de la fiche annonce de pillr.fr : pour la location nue, la location meublée longue durée et la courte durée, loyer, rendements brut et net, mensualité du crédit, cash-flow mensuel avant et après l'impôt de la première année (régime le moins imposé), décomposé poste par poste, et projection année par année. Recommandation sur le cash-flow avant impôt et sur le TRI après impôt et revente, taux d'effort au sens du HCSF quand les revenus sont donnés. Le loyer est celui donné, sinon le loyer de marché de la commune ; la courte durée suit le profil de marché AirDNA et le statut réglementaire de la commune. Les frais d'acquisition suivent le barème du département. Calcul déterministe, aucun conseil fiscal. Coût : 2 crédits par appel réussi.

## Request body

- object
  - `prix` integer, required: Prix d'achat hors frais, en euros.
  - `surface` number, required: Surface habitable, en m².
  - `insee` string: Commune du bien : loyer de marché, vacance, courte durée, réglementation et frais d'acquisition du département.
  - `loyer` number: Loyer mensuel en location nue, en euros ; sans lui, le loyer de marché de la commune.
  - `travaux` number: Budget de travaux, en euros (0 par défaut).
  - `mobilier` number: Budget mobilier d'une location meublée, en euros.
  - `apport` number: Apport en euros, rapporté à l'investissement de la location nue.
  - `apport_pct` number: Apport en % de l'investissement (à la place d'apport).
  - `taux` number: Taux du crédit, en % par an.
  - `duree` integer: Durée du crédit, en années.
  - `charges` number: Charges non récupérables, en euros par mois.
  - `taxe_fonciere` number: Taxe foncière, en euros par an.
  - `tmi` number: Tranche marginale d'imposition, en %.
  - `revenus` number: Revenus nets mensuels du foyer, pour le taux d'effort.
  - `credits_en_cours` number: Mensualités des crédits en cours, en euros.
  - `type` 'appartement' | 'maison'
  - `chambres` integer: Chambres : capacité d'accueil en courte durée.
  - `dpe` 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G': Étiquette DPE : statut réglementaire de la courte durée.
  - `neuf` boolean
  - `horizon` integer: Années de projection et de TRI.
  - `lcd_classe` boolean: Courte durée : meublé de tourisme classé (oui par défaut).
  - `lcd_conciergerie` boolean: Courte durée : gestion par une conciergerie (oui par défaut).
  - `lcd_occupation_pct` number: Courte durée : occupation imposée, en % des nuits ouvertes.
  - `lcd_autorise` boolean: Courte durée : autorisation de changement d'usage obtenue.

## Response `200`

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

- object
  - `hypotheses` object, required
    - `prix` number, required
    - `surface_m2` number, required
    - `commune` string, nullable, required
    - `insee` string, nullable, required
    - `travaux` number, required
    - `mobilier` number, required
    - `apport_pct` number, required
    - `taux_pct` number, required
    - `duree_ans` integer, required
    - `charges_mensuelles` number, required
    - `taxe_fonciere` number, required
    - `tmi_pct` number, required
    - `frais_acquisition` number, required
    - `frais_acquisition_source` string, required
    - `loyer_mensuel_nu` number, required
    - `loyer_source` 'donne' | 'marche_commune', required: donne : le loyer de l'appelant ; marche_commune : loyer de marché au m² de la commune multiplié par la surface.
    - `vacance_pct` number, required
    - `horizon_ans` integer, required
  - `strategies` object[], required
    - `cle` 'lld_nue' | 'lld_meublee' | 'lcd', required: lld_nue : location nue ; lld_meublee : location meublée longue durée (LMNP) ; lcd : location courte durée (meublé de tourisme).
    - `libelle` string, required
    - `loyer_mensuel` number, required
    - `loyer_annuel` number, required
    - `rendement_brut_pct` number, required: Loyer annuel sur investissement total (prix, frais, travaux, mobilier), en %.
    - `rendement_net_pct` number, required: Loyer annuel moins charges, vacance et gestion, sur investissement total, en %.
    - `investissement_total` number, required
    - `emprunt` number, required
    - `mensualite` number, required
    - `charges_annuelles` number, required
    - `vacance_pct` number, required
    - `gestion_pct` number, required
    - `regime_annee1` object, required
      - `cle` string, required
      - `libelle` string, required
      - `impot_annuel` number, required
      - `base_imposable` number, required
    - `cashflow_mensuel` object, required
      - `avant_impot` number, required
      - `apres_impot` number, required
    - `decomposition` object, required: Montants mensuels en euros, les coûts en positif : loyer moins mensualité, charges, taxe foncière et vacance et gestion égale le cash-flow avant impôt ; moins l'impôt, le cash-flow après impôt.
      - `loyer` number, required
      - `mensualite` number, required
      - `charges` number, required
      - `taxe_fonciere` number, required
      - `vacance_et_gestion` number, required: Vacance locative, gestion et arrondis du moteur : le reste du cash-flow avant impôt.
      - `cashflow_avant_impot` number, required
      - `impot` number, required: Impôt mensuel du régime de l'année 1 ; négatif : économie d'impôt (déficit foncier).
      - `cashflow_apres_impot` number, required
    - `projection` object[], required
      - `annee` integer, required
      - `cashflow_annuel` number, required
      - `cashflow_cumule` number, required
      - `capital_restant_du` number, required
    - `recommandable` boolean, required: Faux pour une courte durée que la réglementation locale ou le DPE ferment.
    - `courte_duree` object, nullable, required
      - `prix_nuit` number, required
      - `occupation_pct` number, required
      - `nuits_ouvertes` integer, required
      - `nuits_reservees` integer, required
      - `capacite` integer, required
      - `revenu_annee1` number, required: Revenu de la première année (montée en charge).
      - `revenu_croisiere` number, required: Revenu annuel en régime de croisière.
      - `confiance` 'mesure' | 'estime' | 'faible', required
      - `source` string, required: Provenance du profil de marché : marché AirDNA de la commune, profil départemental ou national, anciennes colonnes, ou repli sur le loyer nu.
      - `statut_reglementaire` object, required
        - `niveau` 'libre' | 'declaration' | 'autorisation' | 'compensation' | 'dpe', required
        - `recommandable` boolean, required
        - `titre` string, required
        - `texte` string, required
  - `recommandee` object, required
    - `avant_impot` 'lld_nue' | 'lld_meublee' | 'lcd', required: Meilleur cashflow mensuel avant impôt, parmi les stratégies recommandables.
    - `apres_impot` object, nullable, required: Meilleur TRI après impôt et revente sur l'horizon, régime le plus favorable de chaque stratégie.
      - `cle` 'lld_nue' | 'lld_meublee' | 'lcd', required: lld_nue : location nue ; lld_meublee : location meublée longue durée (LMNP) ; lcd : location courte durée (meublé de tourisme).
      - `horizon_ans` integer, required
      - `tri_pct` number, nullable, required
      - `regime` string, required
  - `synthese` object, required
    - `strategie` 'lld_nue' | 'lld_meublee' | 'lcd', required: lld_nue : location nue ; lld_meublee : location meublée longue durée (LMNP) ; lcd : location courte durée (meublé de tourisme).
    - `rendement_brut_pct` number, required
    - `rendement_net_pct` number, required
    - `mensualite` number, required
    - `cashflow_mensuel` object, required
      - `avant_impot` number, required
      - `apres_impot` number, required
  - `hcsf` object, nullable, required: Taux d'effort au sens du Haut Conseil de stabilité financière ; null sans revenus.
    - `revenus_mensuels` number, required
    - `mensualites` number, required: Mensualité de la stratégie de la synthèse, plus les crédits en cours.
    - `taux_effort_pct` number, required
    - `seuil_pct` number, required
    - `conforme` boolean, required
    - `mensualite_max` number, required
  - `avertissements` string[], 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.
  - `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

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