# Leboncoin Universal Scraper - Real Estate (`scrapifier/leboncoin-universal-scraper-real-estate`) Actor

⚡ Scrape unlimited Leboncoin real-estate listings — no URL needed! Pick rent, sale or flatshare, add your filters (price, surface, rooms, DPE…) and instantly get rich, structured data for market analysis, deal sourcing, price monitoring or lead generation.

- **URL**: https://apify.com/scrapifier/leboncoin-universal-scraper-real-estate.md
- **Developed by:** [Scrapifier](https://apify.com/scrapifier) (community)
- **Categories:** Real estate, Automation, E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $0.60 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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/docs.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

## 🏠 Leboncoin Universal Scraper - Real Estate

**English** | [Français](#-leboncoin-universal-scraper---real-estate-français)

Scrape **Leboncoin real estate** with simple filters — no URL needed. Pick a transaction (rent, sale, flatshare…), a location and your criteria, and export structured data as JSON, CSV or Excel.

### 📋 Contents

- [Overview](#-overview)
- [How to use](#-how-to-use)
- [Input](#-input)
- [Filters reference](#-filters-reference)
- [Output](#-output)
- [Proxy and performance](#-proxy-and-performance)
- [Related Actors](#-related-actors)
- [FAQ](#-faq)
- [Support](#-support)

### 📖 Overview

Choose what to search (for rent, for sale, flatshares, holiday rentals, new builds, offices) and your filters. The Actor turns it into the exact Leboncoin search and collects every matching listing: title, price/rent, description, typed attributes (surface, rooms, bedrooms, DPE, GES, heating, floor…), images, seller signals and full geolocation.

- **No URL to build** — pick a transaction and your criteria.
- **Full real-estate filter set** — property type, surface, rooms, bedrooms, bathrooms, land, DPE/GES, heating, elevator, orientation, floor, parking, construction year, sale type, condition — plus an advanced object for anything else (see the [Filters reference](#-filters-reference)).
- **Locations by name** — city, arrondissement or postal code (geocoded automatically); empty = all France.
- **Complete coverage** — automatic price-splitting for large result sets.
- Exports to JSON, CSV, Excel, or the Apify dataset API.

> Looking for cars or motorbikes? Use the **[Leboncoin Universal Scraper - Vehicles](https://apify.com/scrapifier/leboncoin-universal-scraper-vehicles)**. Prefer pasting a search URL for any category? Use the **[Leboncoin Scraper](https://apify.com/scrapifier/leboncoin-universal-scraper)** (URL mode).

### 🚀 How to use

1. Pick a **transaction** (for rent / for sale / flatshares / holiday / new build / offices).
2. Add a **location** (city / postcode) — or leave empty for all France.
3. Set your filters: price, property type, surface, rooms, DPE, seller type… anything not listed goes in **Advanced filters** (see the [Filters reference](#-filters-reference)).
4. Start the run and download your data from the **Storage** tab or the API.

### 📥 Input

| Field | Key | Type | Description |
|---|---|---|---|
| Transaction | `category` | string | `10` rent, `9` sale, `11` flatshares, `12` holiday, `304` new build, `13` offices (dropdown). |
| Locations | `locations` | array | Cities / arrondissements / postal codes, e.g. `Lyon`, `75011`. Empty = all France. |
| Keywords | `text` | string | Free-text keywords. |
| Min / Max price | `price_min` / `price_max` | integer | Price / rent range in €. |
| Seller type | `owner_type` | string | `all`, `private` or `pro`. |
| Sort | `sort` | string | `relevance`, `newest`, `price_asc`, `price_desc`. |
| Property type | `property_types` | array | `apartment`, `house`, `land`, `parking`, `other`. |
| Surface / land | `surface_min/max`, `land_surface_min/max` | integer | m². |
| Rooms / bedrooms / bathrooms | `rooms_min`, `bedrooms_min`, `bathrooms_min` | integer | Minimums. |
| Energy | `energy_rate`, `ges` | array | DPE / GES classes `a`–`g`. |
| Comfort | `furnished`, `heating_type`, `heating_mode`, `elevator`, `orientation`, `floor_min`, `parkings_min` | — | See the [Filters reference](#-filters-reference). |
| Build / sale | `building_year_min/max`, `immo_sell_type`, `property_condition` | — | Construction year, sale type, condition. |
| **Advanced filters** | `filters` | object | Any other Leboncoin filter — `key: [codes]` (enum) or `key: {"min":.., "max":..}` (range). See the [Filters reference](#-filters-reference). |
| Max results | `max_results` | integer | How many listings to collect (`0` = all). |
| Proxy | `proxyConfiguration` | object | Residential FR recommended. |

<details>
<summary>Example — apartments for rent in Paris</summary>

```json
{
  "category": "10",
  "locations": ["Paris"],
  "property_types": ["apartment"],
  "price_max": 2500,
  "rooms_min": 2,
  "max_results": 100,
  "proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "FR" }
}
````

This is the Actor's default (pre-filled) input — run it as-is to get results immediately.

</details>

<details>
<summary>Example — houses for sale near Bordeaux</summary>

```json
{
  "category": "9",
  "locations": ["Bordeaux"],
  "property_types": ["house"],
  "price_min": 200000,
  "price_max": 500000,
  "surface_min": 100,
  "rooms_min": 4,
  "land_surface_min": 300,
  "proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "FR" }
}
```

</details>

### 🎛️ Filters reference

Every dedicated input maps to one Leboncoin filter — the table below gives the underlying key and its codes. The **Advanced filters** (`filters`) object accepts **any other Leboncoin filter**: each entry is either an **enum** (a list of codes) or a **range** (`{"min": …, "max": …}`). Codes verified live against the Leboncoin API (July 2026).

| Dedicated input | Leboncoin key | Type | Values / codes |
|---|---|---|---|
| `property_types` | `real_estate_type` | enum | `apartment`→`2` · `house`→`1` · `land`→`3` · `parking`→`4` · `other`→`5` |
| `surface_min/max` | `square` | range | Living surface (m²) |
| `rooms_min` | `rooms` | range | Number of rooms (pièces) |
| `bedrooms_min` | `bedrooms` | range | Number of bedrooms |
| `bathrooms_min` | `nb_bathrooms` | range | Number of bathrooms |
| `land_surface_min/max` | `land_plot_surface` | range | Land / plot surface (m²) |
| `furnished` | `furnished` | enum | `1` Furnished · `2` Unfurnished |
| `energy_rate` | `energy_rate` | enum | DPE classes `a`–`g` |
| `ges` | `ges` | enum | GES classes `a`–`g` |
| `heating_type` | `heating_type` | enum | `individual`, `communal` |
| `heating_mode` | `heating_mode` | enum | `gas`, `electric`, `fuel`, `other` |
| `elevator` | `elevator` | enum | `1` With · `2` Without |
| `orientation` | `orientation` | enum | `north`, `south`, `east`, `west`, `north_east`, `north_west`, `south_east`, `south_west` |
| `floor_min` | `floor_number` | range | Floor number |
| `parkings_min` | `nb_parkings` | range | Number of parking spaces |
| `building_year_min/max` | `building_year` | range | Construction year |
| `immo_sell_type` | `immo_sell_type` | enum | `old` Existing · `new` New build · `viager` Life annuity |
| `property_condition` | `global_condition` | enum | `1` Excellent · `2` Good · `3` Renovated · `4` To refresh |

**Using Advanced filters** — pass the Leboncoin key directly (it also lets you override any dedicated input, e.g. use a range for rooms instead of a minimum):

```json
"filters": {
  "energy_rate": ["a", "b", "c"],
  "rooms": { "min": 2, "max": 4 },
  "land_plot_surface": { "min": 300 },
  "elevator": ["1"]
}
```

> 💡 **Finding any key or code:** build your search on [leboncoin.fr](https://www.leboncoin.fr) and read the URL — the query parameters are exactly these keys and values (e.g. `real_estate_type=2&square=30-80&energy_rate=a,b`). Anything in the URL works in **Advanced filters**.

### 📤 Output

Each listing is one dataset item (JSON / CSV / Excel / API). Fields include `id`, `subject`, `body`, `price`, `url`, `category_name`, typed `attributes[]` (surface, rooms, bedrooms, DPE, GES, heating…), `images[]`, `location{}` (city, zipcode, lat, lng), `has_phone`, `scraped_at`, and `search_category` / `search_location`.

### 🛡️ Proxy and performance

- Use **Apify residential proxies (country FR)** for the most reliable runs.
- Set **Max results** to the volume you want; use `0` to collect everything available.
- Add a price range for very large searches — the Actor splits it automatically to cover all results.

### 🔗 Related Actors

- [Leboncoin Universal Scraper - Vehicles](https://apify.com/scrapifier/leboncoin-universal-scraper-vehicles) — cars, motorbikes, vans… by filters.
- [Leboncoin Scraper](https://apify.com/scrapifier/leboncoin-universal-scraper) — any category, **by URL**.
- [SeLoger Universal Scraper](https://apify.com/scrapifier/seloger-universal-scraper) — real estate on SeLoger.

### ❓ FAQ

**Which transactions are supported?** For rent, for sale, flatshares, holiday rentals, new builds, and offices & commercial.

**How do I find a filter's code?** Build the search on leboncoin.fr and read the URL parameters (e.g. `real_estate_type=2&square=30-80`), or see the [Filters reference](#-filters-reference).

**How fresh is the data?** Collected live at runtime.

### 💬 Support

Questions or issues? Post them in the **Issues** tab.

<br>

***

<br>

## 🏠 Leboncoin Universal Scraper - Real Estate (Français)

[English](#-leboncoin-universal-scraper---real-estate) | **Français**

Scrapez **l'immobilier Leboncoin** avec des filtres simples — sans URL. Choisissez une transaction (location, vente, colocation…), un lieu et vos critères, et exportez des données structurées en JSON, CSV ou Excel.

### 📋 Sommaire

- [Présentation](#-présentation)
- [Utilisation](#-utilisation)
- [Paramètres](#-paramètres)
- [Référence des filtres](#-filters-reference)
- [Données extraites](#-données-extraites)
- [Proxy et performance](#-proxy-et-performance)
- [Actors similaires](#-actors-similaires)
- [FAQ](#-faq-1)
- [Support](#-support-1)

### 📖 Présentation

Choisissez quoi chercher (location, vente, colocation, saisonnier, neuf, bureaux) et vos filtres. L'Actor construit la recherche Leboncoin exacte et collecte toutes les annonces : titre, prix/loyer, description, attributs typés (surface, pièces, chambres, DPE, GES, chauffage, étage…), images, signaux vendeur et géolocalisation complète.

- **Aucune URL à construire** — juste une transaction et vos critères.
- **Tous les filtres immobiliers** — type de bien, surface, pièces, chambres, salles de bain, terrain, DPE/GES, chauffage, ascenseur, orientation, étage, parking, année de construction, type de vente, état — plus un objet avancé pour le reste (voir la [référence des filtres](#-filters-reference)).
- **Lieux par nom** — ville, arrondissement ou code postal (géocodés) ; vide = toute la France.
- **Couverture complète** — découpe automatique par prix pour les gros volumes.
- Export JSON, CSV, Excel, ou API dataset Apify.

> Vous cherchez des voitures ou des motos ? Utilisez le **[Leboncoin Universal Scraper - Vehicles](https://apify.com/scrapifier/leboncoin-universal-scraper-vehicles)**. Vous préférez coller une URL (toute catégorie) ? Utilisez le **[Leboncoin Scraper](https://apify.com/scrapifier/leboncoin-universal-scraper)** (mode URL).

### 🚀 Utilisation

1. Choisissez une **transaction** (location / vente / colocation / saisonnier / neuf / bureaux).
2. Ajoutez un **lieu** (ville / code postal) — ou laissez vide pour toute la France.
3. Réglez vos filtres : prix, type de bien, surface, pièces, DPE, type de vendeur… le reste va dans **Advanced filters** (voir la [référence des filtres](#-filters-reference)).
4. Lancez le run et récupérez vos données dans l'onglet **Storage** ou l'API.

### 📥 Paramètres

| Champ | Clé | Type | Description |
|---|---|---|---|
| Transaction | `category` | chaîne | `10` location, `9` vente, `11` colocation, `12` saisonnier, `304` neuf, `13` bureaux (menu déroulant). |
| Localisations | `locations` | tableau | Villes / arrondissements / codes postaux, ex. `Lyon`, `75011`. Vide = toute la France. |
| Mots-clés | `text` | chaîne | Recherche par mots-clés. |
| Prix min / max | `price_min` / `price_max` | entier | Fourchette de prix / loyer en €. |
| Type de vendeur | `owner_type` | chaîne | `all`, `private` ou `pro`. |
| Tri | `sort` | chaîne | `relevance`, `newest`, `price_asc`, `price_desc`. |
| Type de bien | `property_types` | tableau | `apartment`, `house`, `land`, `parking`, `other`. |
| Surface / terrain | `surface_min/max`, `land_surface_min/max` | entier | m². |
| Pièces / chambres / SdB | `rooms_min`, `bedrooms_min`, `bathrooms_min` | entier | Minimums. |
| Énergie | `energy_rate`, `ges` | tableau | Classes DPE / GES `a`–`g`. |
| Confort | `furnished`, `heating_type`, `heating_mode`, `elevator`, `orientation`, `floor_min`, `parkings_min` | — | Voir la [référence des filtres](#-filters-reference). |
| Construction / vente | `building_year_min/max`, `immo_sell_type`, `property_condition` | — | Année, type de vente, état. |
| **Advanced filters** | `filters` | objet | Tout autre filtre Leboncoin — `clé : [codes]` (enum) ou `clé : {"min":.., "max":..}` (plage). Voir la [référence des filtres](#-filters-reference) (tableau clés/codes, en anglais). |
| Résultats max | `max_results` | entier | Nombre d'annonces à collecter (`0` = tout). |
| Proxy | `proxyConfiguration` | objet | Résidentiel FR recommandé. |

### 📤 Données extraites

Chaque annonce est un élément du dataset (JSON / CSV / Excel / API). Champs : `id`, `subject`, `body`, `price`, `url`, `category_name`, `attributes[]` typés (surface, pièces, chambres, DPE, GES, chauffage…), `images[]`, `location{}` (ville, code postal, lat, lng), `has_phone`, `scraped_at`, et `search_category` / `search_location`.

### 🛡️ Proxy et performance

- Utilisez les **proxies résidentiels Apify (pays FR)** pour des runs plus fiables.
- Réglez **Résultats max** selon le volume voulu ; mettez `0` pour tout récupérer.
- Ajoutez une fourchette de prix pour les très grosses recherches — l'Actor la découpe automatiquement pour tout couvrir.

### 🔗 Actors similaires

- [Leboncoin Universal Scraper - Vehicles](https://apify.com/scrapifier/leboncoin-universal-scraper-vehicles) — voitures, motos, utilitaires… par filtres.
- [Leboncoin Scraper](https://apify.com/scrapifier/leboncoin-universal-scraper) — toute catégorie, **par URL**.
- [SeLoger Universal Scraper](https://apify.com/scrapifier/seloger-universal-scraper) — immobilier sur SeLoger.

### ❓ FAQ

**Quelles transactions ?** Location, vente, colocation, saisonnier, neuf, et bureaux & commerces.

**Comment trouver le code d'un filtre ?** Construisez la recherche sur leboncoin.fr et lisez les paramètres de l'URL (ex. `real_estate_type=2&square=30-80`), ou voir la [référence des filtres](#-filters-reference).

**Les données sont-elles à jour ?** Collectées en direct au moment du run.

### 💬 Support

Une question ou un souci ? Postez dans l'onglet **Issues**.

# Actor input Schema

## `category` (type: `string`):

What kind of real-estate listing to search.

## `text` (type: `string`):

Optional free-text keywords, e.g. "balcon", "loft", a program name.

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

City, arrondissement or postal code, e.g. "Paris 11", "Lyon", "75011". Add several, or leave empty to search all of France.

## `price_min` (type: `integer`):

Minimum price / rent.

## `price_max` (type: `integer`):

Maximum price / rent.

## `owner_type` (type: `string`):

Filter by seller.

## `sort` (type: `string`):

Result ordering.

## `property_types` (type: `array`):

One or more property types. Empty = all.

## `surface_min` (type: `integer`):

Minimum living surface.

## `surface_max` (type: `integer`):

Maximum living surface.

## `rooms_min` (type: `integer`):

Minimum number of rooms (pièces).

## `bedrooms_min` (type: `integer`):

Minimum number of bedrooms.

## `bathrooms_min` (type: `integer`):

Minimum number of bathrooms.

## `land_surface_min` (type: `integer`):

Minimum land/plot surface (houses, land).

## `land_surface_max` (type: `integer`):

Maximum land/plot surface (houses, land).

## `furnished` (type: `array`):

Furnished / unfurnished (mostly rentals).

## `energy_rate` (type: `array`):

Energy performance classes to include.

## `ges` (type: `array`):

GES classes to include.

## `heating_type` (type: `array`):

Individual or communal heating.

## `heating_mode` (type: `array`):

Heating energy.

## `elevator` (type: `array`):

Building elevator.

## `orientation` (type: `array`):

Facing direction.

## `floor_min` (type: `integer`):

Minimum floor number.

## `parkings_min` (type: `integer`):

Minimum number of parking spaces.

## `building_year_min` (type: `integer`):

Minimum construction year.

## `building_year_max` (type: `integer`):

Maximum construction year.

## `immo_sell_type` (type: `array`):

Type of sale (for the 'For sale' transaction).

## `property_condition` (type: `array`):

Property condition.

## `filters` (type: `object`):

Any other Leboncoin real-estate filter — each entry is a key with either a list of codes (enum) or a {"min":.., "max":..} range. Example: {"energy\_rate": \["a","b"], "rooms": {"min": 2, "max": 4}, "land\_plot\_surface": {"min": 300}}. The full key/code table is in the README (Filters reference section). Tip: build your search on leboncoin.fr and copy the URL query parameters — every key and value from the URL works here (e.g. real\_estate\_type=2\&square=30-80 → {"real\_estate\_type": \["2"], "square": {"min": 30, "max": 80}}). Also lets you override any dedicated input above.

## `max_results` (type: `integer`):

How many listings to collect (0 = as many as available).

## `proxyConfiguration` (type: `object`):

Residential FR proxies are recommended for reliable runs.

## Actor input object example

```json
{
  "category": "10",
  "locations": [
    "Paris"
  ],
  "price_max": 2500,
  "owner_type": "all",
  "sort": "relevance",
  "property_types": [
    "apartment"
  ],
  "rooms_min": 2,
  "filters": {},
  "max_results": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "FR"
  }
}
```

# Actor output Schema

## `listings` (type: `string`):

All Leboncoin real-estate listings extracted by this run.

# 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 = {
    "locations": [
        "Paris"
    ],
    "price_max": 2500,
    "property_types": [
        "apartment"
    ],
    "rooms_min": 2,
    "filters": {},
    "max_results": 100,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "FR"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapifier/leboncoin-universal-scraper-real-estate").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 = {
    "locations": ["Paris"],
    "price_max": 2500,
    "property_types": ["apartment"],
    "rooms_min": 2,
    "filters": {},
    "max_results": 100,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "FR",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("scrapifier/leboncoin-universal-scraper-real-estate").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 '{
  "locations": [
    "Paris"
  ],
  "price_max": 2500,
  "property_types": [
    "apartment"
  ],
  "rooms_min": 2,
  "filters": {},
  "max_results": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "FR"
  }
}' |
apify call scrapifier/leboncoin-universal-scraper-real-estate --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Leboncoin Universal Scraper - Real Estate",
        "description": "⚡ Scrape unlimited Leboncoin real-estate listings — no URL needed! Pick rent, sale or flatshare, add your filters (price, surface, rooms, DPE…) and instantly get rich, structured data for market analysis, deal sourcing, price monitoring or lead generation.",
        "version": "0.1",
        "x-build-id": "RS5daZcfnVyXPMo0v"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapifier~leboncoin-universal-scraper-real-estate/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapifier-leboncoin-universal-scraper-real-estate",
                "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/scrapifier~leboncoin-universal-scraper-real-estate/runs": {
            "post": {
                "operationId": "runs-sync-scrapifier-leboncoin-universal-scraper-real-estate",
                "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/scrapifier~leboncoin-universal-scraper-real-estate/run-sync": {
            "post": {
                "operationId": "run-sync-scrapifier-leboncoin-universal-scraper-real-estate",
                "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": {
                    "category": {
                        "title": "Transaction",
                        "enum": [
                            "10",
                            "9",
                            "11",
                            "12",
                            "304",
                            "13"
                        ],
                        "type": "string",
                        "description": "What kind of real-estate listing to search.",
                        "default": "10"
                    },
                    "text": {
                        "title": "Keywords",
                        "type": "string",
                        "description": "Optional free-text keywords, e.g. \"balcon\", \"loft\", a program name."
                    },
                    "locations": {
                        "title": "Location(s)",
                        "type": "array",
                        "description": "City, arrondissement or postal code, e.g. \"Paris 11\", \"Lyon\", \"75011\". Add several, or leave empty to search all of France.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "price_min": {
                        "title": "Min price (€)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum price / rent."
                    },
                    "price_max": {
                        "title": "Max price (€)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum price / rent."
                    },
                    "owner_type": {
                        "title": "Seller type",
                        "enum": [
                            "all",
                            "private",
                            "pro"
                        ],
                        "type": "string",
                        "description": "Filter by seller.",
                        "default": "all"
                    },
                    "sort": {
                        "title": "Sort by",
                        "enum": [
                            "relevance",
                            "newest",
                            "price_asc",
                            "price_desc"
                        ],
                        "type": "string",
                        "description": "Result ordering.",
                        "default": "relevance"
                    },
                    "property_types": {
                        "title": "Property type",
                        "type": "array",
                        "description": "One or more property types. Empty = all.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "apartment",
                                "house",
                                "land",
                                "parking",
                                "other"
                            ],
                            "enumTitles": [
                                "Apartment",
                                "House",
                                "Land",
                                "Parking",
                                "Other"
                            ]
                        }
                    },
                    "surface_min": {
                        "title": "Min surface (m²)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum living surface."
                    },
                    "surface_max": {
                        "title": "Max surface (m²)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum living surface."
                    },
                    "rooms_min": {
                        "title": "Min rooms",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Minimum number of rooms (pièces)."
                    },
                    "bedrooms_min": {
                        "title": "Min bedrooms",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Minimum number of bedrooms."
                    },
                    "bathrooms_min": {
                        "title": "Min bathrooms",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Minimum number of bathrooms."
                    },
                    "land_surface_min": {
                        "title": "Min land surface (m²)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum land/plot surface (houses, land)."
                    },
                    "land_surface_max": {
                        "title": "Max land surface (m²)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum land/plot surface (houses, land)."
                    },
                    "furnished": {
                        "title": "Furnished",
                        "type": "array",
                        "description": "Furnished / unfurnished (mostly rentals).",
                        "items": {
                            "type": "string",
                            "enum": [
                                "1",
                                "2"
                            ],
                            "enumTitles": [
                                "Furnished",
                                "Unfurnished"
                            ]
                        }
                    },
                    "energy_rate": {
                        "title": "Energy rating (DPE)",
                        "type": "array",
                        "description": "Energy performance classes to include.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "a",
                                "b",
                                "c",
                                "d",
                                "e",
                                "f",
                                "g"
                            ],
                            "enumTitles": [
                                "A",
                                "B",
                                "C",
                                "D",
                                "E",
                                "F",
                                "G"
                            ]
                        }
                    },
                    "ges": {
                        "title": "Greenhouse gas (GES)",
                        "type": "array",
                        "description": "GES classes to include.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "a",
                                "b",
                                "c",
                                "d",
                                "e",
                                "f",
                                "g"
                            ],
                            "enumTitles": [
                                "A",
                                "B",
                                "C",
                                "D",
                                "E",
                                "F",
                                "G"
                            ]
                        }
                    },
                    "heating_type": {
                        "title": "Heating type",
                        "type": "array",
                        "description": "Individual or communal heating.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "individual",
                                "communal"
                            ],
                            "enumTitles": [
                                "Individual",
                                "Communal"
                            ]
                        }
                    },
                    "heating_mode": {
                        "title": "Heating mode",
                        "type": "array",
                        "description": "Heating energy.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "gas",
                                "electric",
                                "fuel",
                                "other"
                            ],
                            "enumTitles": [
                                "Gas",
                                "Electric",
                                "Fuel oil",
                                "Other"
                            ]
                        }
                    },
                    "elevator": {
                        "title": "Elevator",
                        "type": "array",
                        "description": "Building elevator.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "1",
                                "2"
                            ],
                            "enumTitles": [
                                "With elevator",
                                "Without elevator"
                            ]
                        }
                    },
                    "orientation": {
                        "title": "Orientation",
                        "type": "array",
                        "description": "Facing direction.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "north",
                                "south",
                                "east",
                                "west",
                                "north_east",
                                "north_west",
                                "south_east",
                                "south_west"
                            ],
                            "enumTitles": [
                                "North",
                                "South",
                                "East",
                                "West",
                                "North-East",
                                "North-West",
                                "South-East",
                                "South-West"
                            ]
                        }
                    },
                    "floor_min": {
                        "title": "Min floor",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum floor number."
                    },
                    "parkings_min": {
                        "title": "Min parking spaces",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Minimum number of parking spaces."
                    },
                    "building_year_min": {
                        "title": "Built after (year)",
                        "minimum": 1800,
                        "type": "integer",
                        "description": "Minimum construction year."
                    },
                    "building_year_max": {
                        "title": "Built before (year)",
                        "minimum": 1800,
                        "type": "integer",
                        "description": "Maximum construction year."
                    },
                    "immo_sell_type": {
                        "title": "Sale type",
                        "type": "array",
                        "description": "Type of sale (for the 'For sale' transaction).",
                        "items": {
                            "type": "string",
                            "enum": [
                                "old",
                                "new",
                                "viager"
                            ],
                            "enumTitles": [
                                "Existing",
                                "New build",
                                "Life annuity (viager)"
                            ]
                        }
                    },
                    "property_condition": {
                        "title": "Condition",
                        "type": "array",
                        "description": "Property condition.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "1",
                                "2",
                                "3",
                                "4"
                            ],
                            "enumTitles": [
                                "Excellent",
                                "Good",
                                "Renovated",
                                "To refresh"
                            ]
                        }
                    },
                    "filters": {
                        "title": "Advanced filters",
                        "type": "object",
                        "description": "Any other Leboncoin real-estate filter — each entry is a key with either a list of codes (enum) or a {\"min\":.., \"max\":..} range. Example: {\"energy_rate\": [\"a\",\"b\"], \"rooms\": {\"min\": 2, \"max\": 4}, \"land_plot_surface\": {\"min\": 300}}. The full key/code table is in the README (Filters reference section). Tip: build your search on leboncoin.fr and copy the URL query parameters — every key and value from the URL works here (e.g. real_estate_type=2&square=30-80 → {\"real_estate_type\": [\"2\"], \"square\": {\"min\": 30, \"max\": 80}}). Also lets you override any dedicated input above."
                    },
                    "max_results": {
                        "title": "Max results",
                        "minimum": 0,
                        "type": "integer",
                        "description": "How many listings to collect (0 = as many as available).",
                        "default": 100
                    },
                    "proxyConfiguration": {
                        "title": "Proxy",
                        "type": "object",
                        "description": "Residential FR proxies are recommended for reliable runs."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
