---
title: "Agents et mandataires"
method: GET
path: "/agents"
---

# Agents et mandataires

`GET /agents`

## Request

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

Les agents et mandataires immobiliers vus sur les portails et dans les annuaires des réseaux, servis comme professionnels : nom d'exercice, réseau, SIREN, communes, nombre de biens, types et prix, et coordonnées professionnelles avec leur origine. Filtres : commune (code INSEE, rapprochée par le code postal et le nom de la commune principale), code postal, département, SIREN de l'agence ou réseau. Seules les adresses électroniques publiées par le professionnel sont servies, jamais une adresse construite par motif ; un professionnel qui s'est opposé à nos envois n'a plus aucune coordonnée servie. Aucun agent : 404 ressource_absente, rien n'est débité. Coût : 1 crédit par élément rendu.

## Query parameters

- `insee` string: Code INSEE de la commune ou de l'arrondissement (5 caractères, 2A ou 2B pour la Corse).
- `cp` string: Code postal principal du professionnel.
- `departement` string: Département principal du professionnel.
- `siren` string: SIREN de l'agence ou du réseau.
- `reseau` string: Réseau contenant ce texte (iad, SAFTI...), sans tenir compte de la casse.
- `limite` integer: Nombre d'éléments par page (50 au plus).
- `curseur` string: Curseur opaque rendu par la page précédente (curseur_suivant), à repasser tel quel.

## Response `200`

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

- object
  - `donnees` object[], required: Les professionnels trouvés, du plus actif au moins actif.
    - `id` string, required: Identifiant stable du professionnel dans la base de Pillr.
    - `type_vendeur` 'mandataire' | 'agence' | 'professionnel', required: mandataire : agent ou mandataire en nom propre ; agence : boîte commune d'une agence ; professionnel : statut non précisé.
    - `nom_exercice` string, nullable, required: Nom d'exercice du professionnel, tel que publié.
    - `individuel` boolean, nullable, required: Vrai pour un agent ou mandataire en nom propre, faux pour une agence.
    - `reseau` string, nullable, required
    - `siren` string, nullable, required
    - `commune_principale` string, nullable, required
    - `code_postal_principal` string, nullable, required
    - `departement_principal` string, nullable, required
    - `communes` string[], required: Communes où le professionnel a des biens en vente.
    - `biens` integer, nullable, required: Biens en vente relevés.
    - `types` string[], required: Types de biens.
    - `prix_min` number, nullable, required
    - `prix_median` number, nullable, required
    - `prix_max` number, nullable, required
    - `portails` string[], required
    - `sources` string[], required: Sources du rapprochement (annonces, annuaires de réseaux, sites).
    - `rapprochement` string, nullable, required: Méthode de rapprochement des sources (nom normalisé, contraint par le département).
    - `contacts_pro` object, required: Coordonnées professionnelles, avec leur origine.
      - `telephone` string, nullable, required: Téléphone professionnel publié ; null s'il est inconnu ou retiré.
      - `email` string, nullable, required: Adresse électronique PUBLIÉE par le professionnel (annonce, site, mentions légales) ; jamais une adresse construite par motif.
      - `site` string, nullable, required: Site web (domaine) ; null s'il est inconnu.
      - `origine` string, nullable, required: Où l'adresse électronique a été lue : published (publiée par le professionnel), desc_extracted (lue dans une annonce), site_legal (mentions légales du site).
      - `retirees` boolean, required: Vrai si le professionnel s'est opposé à nos envois : aucune coordonnée n'est alors servie.
    - `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.
  - `mention` string, required: Ce qui est servi des coordonnées, et ce qui ne l'est jamais.
  - `curseur_suivant` string, nullable, required: Curseur de la page suivante, à repasser dans curseur ; null sur la dernière page.
  - `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 ; Curseur invalide
- `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)
