# PAP Immobilier Scraper - Téléphones & DPE (`clearpath/pap-scraper`) Actor

Extrayez les annonces immobilières PAP avec téléphones, DPE, GES, coordonnées, transports proches, photos et informations détaillées. Recherche par ville, code postal, France ou référence PAP.

- **URL**: https://apify.com/clearpath/pap-scraper.md
- **Developed by:** [ClearPath](https://apify.com/clearpath) (community)
- **Categories:** Lead generation, Real estate, Automation
- **Stats:** 1 total users, 1 monthly users, 50.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.99 / 1,000 properties

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## PAP Scraper Immobilier | Annonces immobilières France (2026)

<blockquote style="border-left:4px solid #007FD0;background:#EDF6F9;padding:12px 16px">
Numéros de téléphone, coordonnées, transports à proximité, étiquettes énergie, médias, et informations détaillées dans un seul dataset.
</blockquote>

![PAP Real Estate Scraper](https://iili.io/BvxCxTX.png)

<table>
<tr>
<td colspan="1" style="padding:10px 14px;background:#007FD0;border:none;border-radius:4px 4px 0 0">
<span style="color:#FAFAF9;font-size:14px;font-weight:700;letter-spacing:0.5px">Clearpath France Real Estate</span>
<span style="color:#EDF6F9;font-size:13px">&nbsp;&nbsp;&bull;&nbsp;&nbsp;Données immobilières françaises</span>
</td>
</tr>
<tr>
<td style="padding:12px 16px;border:1px solid #E7E5E4;border-radius:0 0 4px 4px;border-top:none;vertical-align:top;width:100%">
<img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-JUFnhDjGAS8VM64Or-NK2uxNA7xa-leboncoin-api-scraper.png" width="24" height="24" style="vertical-align:middle"> &nbsp;<a href="https://apify.com/clearpath/leboncoin-immobilier" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:14px">Leboncoin Immobilier</a><br>
<span style="color:#78716C;font-size:12px">Annonces immobilières avec téléphones</span>
</td>
</tr>
</table>

#### Copier pour votre assistant IA

Copiez ce bloc dans ChatGPT, Codex, Cursor, ou un autre LLM pour démarrer plus vite.

```text
clearpath/pap-scraper sur Apify extrait 32 champs top-level par annonce PAP en France. Données: identifiant annonce, référence PAP, prix, pièces, chambres, téléphones, email disponible, coordonnées, photos, transports proches, DPE, GES, URL détail, contexte de recherche, et informations détaillées sur l’annonce. Couvre achat, location et vacances. Entrées: mode d’annonce, lieux, référence PAP exacte, types de bien, critères, filtres prix/surface/pièces/chambres, et dates de séjour. Limite: 1000 annonces par run. Prix: $3.99 pour 1000 annonces. Apify token requis.
````

### Points Clés

- **Sortie riche** — chaque item contient les champs normalisés plus des informations détaillées sur l’annonce.
- **Entrée lieu simple** — utilisez `France`, `Paris (75)`, `Strasbourg (67)`, `Paris 5e`, ou `75005`.
- **Trois modes** — `Achat`, `Location`, et `Vacances`.
- **Recherche par référence** — récupérez une annonce précise si vous connaissez déjà la référence PAP.

### Comment Extraire des Annonces PAP

#### Recherche simple par ville

```json
{
  "product": "vente",
  "locations": ["Paris (75)"],
  "maxResults": 100
}
```

#### Recherche sur toute la France

```json
{
  "product": "vente",
  "locations": ["France"],
  "maxResults": 250
}
```

#### Recherche filtrée de maisons

```json
{
  "product": "vente",
  "locations": ["Strasbourg (67)"],
  "propertyTypes": ["maison"],
  "priceMax": 600000,
  "surfaceMin": 80,
  "nbPiecesMin": 4,
  "maxResults": 100
}
```

#### Référence PAP exacte

```json
{
  "product": "vente",
  "reference": "G26/2186",
  "maxResults": 10
}
```

### Paramètres d’Entrée

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `product` | string | `vente` | Mode d’annonce : `vente`, `location`, ou `vacances`. |
| `maxResults` | integer | `100` | Nombre maximum d’annonces à retourner. Limite dure : `1000`. |
| `locations` | array | `["Paris (75)"]` | Un ou plusieurs lieux comme `France`, `Paris (75)` ou `75005`. |
| `reference` | string | optional | Référence PAP exacte comme `G26/2186`. |
| `newOnly` | boolean | `false` | Limite les résultats `vente` au neuf. |
| `propertyTypes` | array | optional | Types de bien comme `Maison`, `Appartement`, `Terrain`, `Garage, parking`. |
| `tags` | array | optional | Critères comme `Ascenseur`, `Piscine`, `Balcon, terrasse`, `Wi‑Fi`. |
| `nbPiecesMin` / `nbPiecesMax` | integer | optional | Nombre minimum et maximum de pièces. |
| `nbBedroomsMin` / `nbBedroomsMax` | integer | optional | Nombre minimum et maximum de chambres. |
| `priceMin` / `priceMax` | integer | optional | Prix minimum et maximum en euros. |
| `surfaceMin` / `surfaceMax` | integer | optional | Surface intérieure minimum et maximum en m². |
| `landSurfaceMin` / `landSurfaceMax` | integer | optional | Surface terrain minimum et maximum en m². |
| `capacity` | integer | optional | Capacité, `vacances` uniquement. |
| `stayStart` / `stayEnd` | string | optional | Dates de séjour au format `YYYY-MM-DD`. |

### Données Extraites depuis PAP

Chaque résultat contient :

- **Champs principaux** — identifiant annonce, référence PAP, produit, type de bien, titre, prix, pièces, chambres, et caractéristiques.
- **Contact et localisation** — téléphones, disponibilité email, coordonnées, URL détail, et transports proches.
- **Médias et énergie** — photos, visite virtuelle, vidéo, DPE, et GES.
- **Champs complémentaires** — `searchData`, `detailData`, et un petit objet `searchContext`.

#### Exemple de Sortie

```json
{
  "listingId": 462602186,
  "reference": "G26/2186",
  "product": "vente",
  "propertyType": "appartement",
  "propertyTypeLabel": "Appartement",
  "title": "Paris 5e",
  "price": "565.000 €",
  "priceValue": 565000,
  "phones": [
    "01 40 56 35 45"
  ],
  "hasEmail": true,
  "coordinates": {
    "lat": 48.842996,
    "lng": 2.348683
  },
  "transports": [
    {
      "label": "Place Monge",
      "pictos": [
        "metro-7"
      ]
    },
    {
      "label": "Censier - Daubenton",
      "pictos": [
        "metro-7"
      ]
    }
  ],
  "energyClass": {
    "lettre": "f",
    "description": "Logement avec une consommation annuelle d'énergie comprise entre 331 et 420 kWh/m²/an."
  },
  "gesClass": {
    "lettre": "c",
    "description": "Logement avec une émission de gaz à effet de serre comprise entre 11 et 30 kgéqCO2/m²/an."
  },
  "detailUrl": "https://www.pap.fr/annonces/-r462602186",
  "rooms": 3,
  "bedrooms": 2,
  "bathrooms": null,
  "characteristics": "Appartement / 3 pièces / 2 chambres / 50 m² / 11.300 € le m²",
  "description": "Paris 5e – Duplex d'exception sous les toits, calme et lumière",
  "publishedAtLabel": "15 avril 2026",
  "photos": [
    "https://cdn.pap.fr/photos/pap/a8/cc/a8ccccfb0821f81b3ecc723c99a09ede/a-p1.jpg",
    "https://cdn.pap.fr/photos/pap/9b/fe/9bfeec8bd991cabc7673f2e2b2a63ea4/9-p1.jpg",
    "https://cdn.pap.fr/photos/pap/20/c2/20c23ffa3d1649862fad779394be9ac7/2-p1.jpg"
  ],
  "virtualTourUrl": null,
  "videoUrl": null,
  "personalSiteUrl": null,
  "contactText": "",
  "tagLabel": null,
  "searchContext": {
    "requestedLocations": [
      "Paris (75)"
    ],
    "resolvedLocations": [
      "Paris (75)"
    ],
    "product": "vente",
    "searchTitle": "Vente Paris (75)",
    "searchCountReported": 100,
    "maxResultsRequested": 100
  },
  "detailFetchStatus": "ok",
  "searchData": {
    "id": 462602186,
    "produit": "vente",
    "typebien_slug": "appartement",
    "typebien_label": "Appartement",
    "titre": "Paris 5e",
    "caracteristiques": "Appartement / 3 pièces / 2 chambres / 50 m² / 11.300 € le m²",
    "prix": "565.000 €",
    "marker": {
      "lat": 48.842996,
      "lng": 2.348683
    },
    "photos": [
      "https://cdn.pap.fr/photos/pap/a8/cc/a8ccccfb0821f81b3ecc723c99a09ede/a-p1.jpg",
      "https://cdn.pap.fr/photos/pap/9b/fe/9bfeec8bd991cabc7673f2e2b2a63ea4/9-p1.jpg"
    ]
  },
  "detailData": {
    "id": 462602186,
    "produit": "vente",
    "typebien_slug": "appartement",
    "typebien_label": "Appartement",
    "prix": "565.000 €",
    "nb_pieces": 3,
    "nb_chambres_max": 2,
    "marker": {
      "lat": 48.842996,
      "lng": 2.348683
    },
    "titre": "Paris 5e",
    "date": "15 avril 2026",
    "classe_energie": {
      "lettre": "f",
      "description": "Logement avec une consommation annuelle d'énergie comprise entre 331 et 420 kWh/m²/an."
    },
    "classe_ges": {
      "lettre": "c",
      "description": "Logement avec une émission de gaz à effet de serre comprise entre 11 et 30 kgéqCO2/m²/an."
    },
    "telephones": [
      "01 40 56 35 45"
    ],
    "has_email": true,
    "transports": [
      {
        "label": "Place Monge",
        "pictos": [
          "metro-7"
        ]
      },
      {
        "label": "Censier - Daubenton",
        "pictos": [
          "metro-7"
        ]
      }
    ],
    "reference_courte": "G26/2186",
    "url": "https://www.pap.fr/annonces/-r462602186"
  },
  "scrapedAt": "2026-04-15T15:07:31.395822+00:00"
}
```

### Cas d’Usage Avancés

#### Recherche de vacances avec dates de séjour

```json
{
  "product": "vacances",
  "locations": ["France"],
  "capacity": 4,
  "stayStart": "2026-07-01",
  "stayEnd": "2026-07-15",
  "maxResults": 100
}
```

#### Recherche location avec critères

```json
{
  "product": "location",
  "locations": ["Paris (75)"],
  "propertyTypes": ["appartement"],
  "tags": ["ascenseur", "balcon-terrasse"],
  "priceMax": 2500,
  "nbBedroomsMin": 2,
  "maxResults": 100
}
```

#### Recherche France entière dans le neuf

```json
{
  "product": "vente",
  "locations": ["France"],
  "newOnly": true,
  "maxResults": 250
}
```

### Tarification — Pay Per Event (PPE)

**$3.99 pour 1 000 annonces** sur le tier Apify de base.

| Event | Per listing | Per 1,000 |
|-------|-------------|-----------|
| `listing-scraped` | $0.00399 | $3.99 |

#### Exemples de Coût

| Results | Cost |
|---------|------|
| 10 | ~$0.04 |
| 100 | ~$0.40 |
| 1,000 | ~$3.99 |

#### Optimisation des Coûts

- Utilisez les filtres de lieu et de critères pour éviter les recherches trop larges comme `France`.
- Réglez `maxResults` sur le volume dont vous avez vraiment besoin.

### FAQ

**Combien d’annonces peut-on extraire par run ?**\
Jusqu’à `1000` annonces par run.

**Peut-on chercher toute la France ?**\
Oui. Utilisez `France` comme lieu normal.

**Peut-on chercher par référence PAP exacte ?**\
Oui. Utilisez `reference`, par exemple `G26/2186`.

**Quels modes sont supportés ?**\
`vente`, `location`, et `vacances`.

**Les numéros de téléphone sont-ils inclus ?**\
Oui, quand PAP les affiche sur la fiche annonce.

**Les transports proches sont-ils inclus ?**\
Oui, quand PAP fournit cette information.

**Toutes les annonces ont-elles un détail complet ?**\
Non. Certaines annonces, surtout certains terrains, peuvent retourner un détail partiel.

**Peut-on trier côté serveur ?**\
Non. Les options de tri ne font pas partie de cet actor.

**Que se passe-t-il si un lieu est ambigu ?**\
L’actor échoue avec les meilleures suggestions au lieu de deviner.

**Que contiennent `searchData` et `detailData` ?**\
Ces champs contiennent des informations complémentaires renvoyées par PAP pour chaque annonce.

### Support

- **Bugs**: Issues tab
- **Features**: Email or issues
- **Email**: max@mapa.slmail.me

### Legal Compliance

Extracts publicly available data. Users must comply with PAP terms and data protection regulations, including GDPR and CCPA.

***

*Extraction d’annonces immobilières PAP avec contacts, médias, localisation, et métadonnées détaillées.*

# Actor input Schema

## `product` (type: `string`):

Choose the listing mode to search.

## `maxResults` (type: `integer`):

Maximum number of listings to return. Current supported cap is 1000 per run.

## `locations` (type: `array`):

Enter one or more French locations such as France, Paris (75), Strasbourg (67), Paris 5e, or 75005.

## `reference` (type: `string`):

Optional exact PAP reference like G26/2186. Keep the slash and original casing. If set, the actor can search without locations.

## `newOnly` (type: `boolean`):

Vente only. Limit results to new-build properties.

## `propertyTypes` (type: `array`):

Optional property types. You can pick multiple options. Some choices only make sense for certain listing modes.

## `tags` (type: `array`):

Optional features and advanced filters. You can pick multiple options. Some only apply to certain listing modes.

## `nbPiecesMin` (type: `integer`):

Optional minimum number of rooms.

## `nbPiecesMax` (type: `integer`):

Optional maximum number of rooms.

## `nbBedroomsMin` (type: `integer`):

Optional minimum number of bedrooms.

## `nbBedroomsMax` (type: `integer`):

Optional maximum number of bedrooms.

## `priceMin` (type: `integer`):

Optional minimum price in euros.

## `priceMax` (type: `integer`):

Optional maximum price in euros.

## `surfaceMin` (type: `integer`):

Optional minimum interior surface in square meters.

## `surfaceMax` (type: `integer`):

Optional maximum interior surface in square meters.

## `landSurfaceMin` (type: `integer`):

Optional minimum land surface in square meters.

## `landSurfaceMax` (type: `integer`):

Optional maximum land surface in square meters.

## `capacity` (type: `integer`):

Vacances only.

## `stayStart` (type: `string`):

Vacances only. Format YYYY-MM-DD.

## `stayEnd` (type: `string`):

Vacances only. Format YYYY-MM-DD.

## Actor input object example

```json
{
  "product": "vente",
  "maxResults": 100,
  "locations": [
    "Paris (75)"
  ],
  "newOnly": false
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "maxResults": 100,
    "locations": [
        "Paris (75)"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("clearpath/pap-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "maxResults": 100,
    "locations": ["Paris (75)"],
}

# Run the Actor and wait for it to finish
run = client.actor("clearpath/pap-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "maxResults": 100,
  "locations": [
    "Paris (75)"
  ]
}' |
apify call clearpath/pap-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=clearpath/pap-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "PAP Immobilier Scraper - Téléphones & DPE",
        "description": "Extrayez les annonces immobilières PAP avec téléphones, DPE, GES, coordonnées, transports proches, photos et informations détaillées. Recherche par ville, code postal, France ou référence PAP.",
        "version": "0.0",
        "x-build-id": "k8IbV071JzLNY8sfH"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/clearpath~pap-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-clearpath-pap-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/clearpath~pap-scraper/runs": {
            "post": {
                "operationId": "runs-sync-clearpath-pap-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/clearpath~pap-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-clearpath-pap-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "product": {
                        "title": "Listing mode",
                        "enum": [
                            "vente",
                            "location",
                            "vacances"
                        ],
                        "type": "string",
                        "description": "Choose the listing mode to search.",
                        "default": "vente"
                    },
                    "maxResults": {
                        "title": "Maximum results",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum number of listings to return. Current supported cap is 1000 per run.",
                        "default": 100
                    },
                    "locations": {
                        "title": "Locations",
                        "type": "array",
                        "description": "Enter one or more French locations such as France, Paris (75), Strasbourg (67), Paris 5e, or 75005.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "reference": {
                        "title": "Exact PAP reference",
                        "type": "string",
                        "description": "Optional exact PAP reference like G26/2186. Keep the slash and original casing. If set, the actor can search without locations."
                    },
                    "newOnly": {
                        "title": "Only new properties",
                        "type": "boolean",
                        "description": "Vente only. Limit results to new-build properties.",
                        "default": false
                    },
                    "propertyTypes": {
                        "title": "Property types",
                        "type": "array",
                        "description": "Optional property types. You can pick multiple options. Some choices only make sense for certain listing modes.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "maison",
                                "appartement",
                                "terrain",
                                "garage-parking",
                                "immeuble",
                                "surface-a-amenager",
                                "peniche",
                                "mobil-home",
                                "viager",
                                "multipropriete",
                                "residence-avec-service",
                                "bureaux",
                                "local-commercial",
                                "fonds-de-commerce",
                                "local-d-activite",
                                "divers",
                                "location-accession",
                                "logement-contre-services",
                                "gite",
                                "insolite",
                                "chambre-d-hotes"
                            ],
                            "enumTitles": [
                                "Maison",
                                "Appartement",
                                "Terrain",
                                "Garage, parking",
                                "Immeuble",
                                "Surfaces diverses",
                                "Péniche",
                                "Chalet, mobil-home",
                                "Viager",
                                "Multipropriété",
                                "Résidence avec services",
                                "Bureaux et locaux professionnels",
                                "Local commercial",
                                "Fonds de commerce",
                                "Local d'activité",
                                "Propositions diverses",
                                "Location-accession",
                                "Logement contre services",
                                "Gîte",
                                "Location insolite",
                                "Chambre d'hôtes"
                            ]
                        }
                    },
                    "tags": {
                        "title": "Features",
                        "type": "array",
                        "description": "Optional features and advanced filters. You can pick multiple options. Some only apply to certain listing modes.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "ascenseur",
                                "duplex-triplex",
                                "dernier-etage",
                                "piscine",
                                "balcon-terrasse",
                                "garages-parkings",
                                "acces-handicape",
                                "investissement-locatif",
                                "visite-virtuelle",
                                "coloc",
                                "cheques-vacances-acceptes",
                                "wifi",
                                "equipement-bebe",
                                "lave-vaisselle",
                                "lave-linge",
                                "television",
                                "garage-parking",
                                "animaux-admis",
                                "climatisation",
                                "terrasse"
                            ],
                            "enumTitles": [
                                "Ascenseur",
                                "Duplex / loft",
                                "Dernier étage",
                                "Piscine",
                                "Balcon, terrasse",
                                "Garage, parking",
                                "Personne à mobilité réduite",
                                "Investissement locatif",
                                "Avec visite virtuelle",
                                "Colocation acceptée",
                                "Chèques vacances",
                                "Wi-Fi",
                                "Équipement bébé",
                                "Lave-vaisselle",
                                "Lave-linge",
                                "Télévision",
                                "Garage ou parking",
                                "Animaux bienvenus",
                                "Climatisation",
                                "Terrasse"
                            ]
                        }
                    },
                    "nbPiecesMin": {
                        "title": "Minimum rooms",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Optional minimum number of rooms."
                    },
                    "nbPiecesMax": {
                        "title": "Maximum rooms",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Optional maximum number of rooms."
                    },
                    "nbBedroomsMin": {
                        "title": "Minimum bedrooms",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Optional minimum number of bedrooms."
                    },
                    "nbBedroomsMax": {
                        "title": "Maximum bedrooms",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Optional maximum number of bedrooms."
                    },
                    "priceMin": {
                        "title": "Minimum price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Optional minimum price in euros."
                    },
                    "priceMax": {
                        "title": "Maximum price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Optional maximum price in euros."
                    },
                    "surfaceMin": {
                        "title": "Minimum surface (m²)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Optional minimum interior surface in square meters."
                    },
                    "surfaceMax": {
                        "title": "Maximum surface (m²)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Optional maximum interior surface in square meters."
                    },
                    "landSurfaceMin": {
                        "title": "Minimum land surface (m²)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Optional minimum land surface in square meters."
                    },
                    "landSurfaceMax": {
                        "title": "Maximum land surface (m²)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Optional maximum land surface in square meters."
                    },
                    "capacity": {
                        "title": "Vacation capacity",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Vacances only."
                    },
                    "stayStart": {
                        "title": "Vacation stay start",
                        "type": "string",
                        "description": "Vacances only. Format YYYY-MM-DD."
                    },
                    "stayEnd": {
                        "title": "Vacation stay end",
                        "type": "string",
                        "description": "Vacances only. Format YYYY-MM-DD."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
