{
  "openapi": "3.0.1",
  "info": {
    "title": "Leboncoin Immobilier - Annonces + Numeros de Telephone",
    "description": "Extraction d'annonces immobilieres leboncoin.fr avec numeros de telephone. Filtres avances : type de bien, surface, DPE, pieces, etage, exterieur. Mode surveillance avec alertes Telegram. 1 000 annonces en 60 secondes. Ventes, locations, colocations, bureaux.",
    "version": "0.0",
    "x-build-id": "koRv1QbX360iHFrfT"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/clearpath~leboncoin-immobilier/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-clearpath-leboncoin-immobilier",
        "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~leboncoin-immobilier/runs": {
      "post": {
        "operationId": "runs-sync-clearpath-leboncoin-immobilier",
        "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~leboncoin-immobilier/run-sync": {
      "post": {
        "operationId": "run-sync-clearpath-leboncoin-immobilier",
        "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": {
          "adLimit": {
            "title": "Nombre max d'annonces",
            "minimum": 10,
            "maximum": 10000,
            "type": "integer",
            "description": "Nombre maximum d'annonces à extraire. S'applique à tous les modes (URL, mot-clé, URLs d'annonces).",
            "default": 100
          },
          "searchUrl": {
            "title": "URL de recherche immobilière",
            "type": "string",
            "description": "Collez une URL de recherche leboncoin.fr immobilier. Tous les filtres (type de bien, surface, prix, DPE, etc.) sont extraits automatiquement.<br><br>Prioritaire sur la recherche par mot-clé."
          },
          "adDetailUrls": {
            "title": "URLs d'annonces",
            "maxItems": 100,
            "type": "array",
            "description": "URLs d'annonces individuelles à scraper.<br><br>Prioritaire sur l'URL de recherche et la recherche par mot-clé. Maximum 100 URLs par exécution.",
            "items": {
              "type": "string"
            }
          },
          "searchQuery": {
            "title": "Mot-clé",
            "type": "string",
            "description": "Recherche par mot-clé (ex: 'maison piscine', 'T3 balcon'). Ignoré si une URL de recherche est fournie."
          },
          "excludeKeywords": {
            "title": "Mots à exclure",
            "type": "string",
            "description": "Mots à exclure des titres, séparés par des virgules."
          },
          "immobilierCategory": {
            "title": "Catégorie immobilière",
            "enum": [
              "9",
              "10",
              "11",
              "13",
              "2001"
            ],
            "type": "string",
            "description": "Type de transaction immobilière.",
            "default": "9"
          },
          "location": {
            "title": "Localisation",
            "type": "string",
            "description": "Ville ou département. Vide = toute la France.<br><br>Exemples : <code>Paris</code>, <code>Lyon 69</code>, <code>Bordeaux 33</code>"
          },
          "radius": {
            "title": "Rayon de recherche (km)",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Rayon autour de la localisation choisie.",
            "default": 5
          },
          "sortBy": {
            "title": "Trier par",
            "enum": [
              "relevance",
              "time",
              "price"
            ],
            "type": "string",
            "description": "Ordre de tri des résultats.",
            "default": "time"
          },
          "sortOrder": {
            "title": "Ordre de tri",
            "enum": [
              "asc",
              "desc"
            ],
            "type": "string",
            "description": "Ordre de tri (pour le prix).",
            "default": "desc"
          },
          "price_min_filter": {
            "title": "Prix minimum (€)",
            "minimum": 0,
            "type": "integer",
            "description": "Filtre prix minimum en euros."
          },
          "price_max_filter": {
            "title": "Prix maximum (€)",
            "minimum": 0,
            "type": "integer",
            "description": "Filtre prix maximum en euros."
          },
          "seller_type": {
            "title": "Type de vendeur",
            "enum": [
              "all",
              "pro",
              "private"
            ],
            "type": "string",
            "description": "Filtrer par type de vendeur.",
            "default": "all"
          },
          "real_estate_type": {
            "title": "Type de bien",
            "type": "array",
            "description": "Filtrer par type de bien immobilier.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5"
              ],
              "enumTitles": [
                "Maison",
                "Appartement",
                "Terrain",
                "Parking / Box",
                "Autre"
              ]
            }
          },
          "rooms_min": {
            "title": "Pièces (min)",
            "minimum": 1,
            "maximum": 8,
            "type": "integer",
            "description": "Nombre minimum de pièces."
          },
          "rooms_max": {
            "title": "Pièces (max)",
            "minimum": 1,
            "maximum": 8,
            "type": "integer",
            "description": "Nombre maximum de pièces."
          },
          "bedrooms_min": {
            "title": "Chambres (min)",
            "minimum": 1,
            "maximum": 8,
            "type": "integer",
            "description": "Nombre minimum de chambres."
          },
          "bedrooms_max": {
            "title": "Chambres (max)",
            "minimum": 1,
            "maximum": 8,
            "type": "integer",
            "description": "Nombre maximum de chambres."
          },
          "square_min": {
            "title": "Surface habitable min (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Surface habitable minimum en mètres carrés."
          },
          "square_max": {
            "title": "Surface habitable max (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Surface habitable maximum en mètres carrés."
          },
          "land_square_min": {
            "title": "Surface terrain min (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Surface du terrain minimum en mètres carrés."
          },
          "land_square_max": {
            "title": "Surface terrain max (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Surface du terrain maximum en mètres carrés."
          },
          "energy_rate": {
            "title": "Diagnostic énergétique (DPE)",
            "type": "array",
            "description": "Filtrer par classe énergétique.",
            "items": {
              "type": "string",
              "enum": [
                "a",
                "b",
                "c",
                "d",
                "e",
                "f",
                "g",
                "v",
                "n"
              ],
              "enumTitles": [
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G",
                "Vierge",
                "Non soumis"
              ]
            }
          },
          "furnished": {
            "title": "Meublé",
            "enum": [
              "",
              "1",
              "2"
            ],
            "type": "string",
            "description": "Filtrer par ameublement (locations uniquement)."
          },
          "floor_property": {
            "title": "Étage",
            "type": "array",
            "description": "Filtrer par étage du bien.",
            "items": {
              "type": "string",
              "enum": [
                "ground_floor",
                "upper_floor",
                "last_stage"
              ],
              "enumTitles": [
                "Rez-de-chaussée",
                "Pas de rez-de-chaussée",
                "Dernier étage"
              ]
            }
          },
          "elevator": {
            "title": "Avec ascenseur",
            "type": "boolean",
            "description": "Uniquement les biens avec ascenseur.",
            "default": false
          },
          "outdoor": {
            "title": "Extérieur",
            "type": "array",
            "description": "Filtrer par équipements extérieurs.",
            "items": {
              "type": "string",
              "enum": [
                "balcony",
                "terrace",
                "garden",
                "swimming_pool"
              ],
              "enumTitles": [
                "Balcon",
                "Terrasse",
                "Jardin",
                "Piscine"
              ]
            }
          },
          "includePhone": {
            "title": "Numéros de téléphone",
            "type": "boolean",
            "description": "Récupère le numéro de téléphone du vendeur pour chaque annonce.<br><br><b>Requis :</b> des URLs d'annonces ci-dessus + un compte leboncoin.fr (gratuit).<br>Les identifiants sont chiffrés et jamais stockés.",
            "default": false
          },
          "email": {
            "title": "Email leboncoin",
            "type": "string",
            "description": "Email de votre compte leboncoin.fr. Requis si « Numéros de téléphone » est activé."
          },
          "password": {
            "title": "Mot de passe leboncoin",
            "type": "string",
            "description": "Mot de passe de votre compte leboncoin.fr. Chiffré, jamais visible dans les logs."
          },
          "twoFactorCode": {
            "title": "Code de vérification / 2FA",
            "type": "string",
            "description": "Optionnel. Si leboncoin demande un code de vérification par SMS ou email, lancez d'abord l'acteur sans ce champ pour demander le code. Relancez ensuite avec le dernier code reçu, idéalement dans les 15 minutes.<br><br>Optional. If leboncoin asks for an SMS or email verification code, first run without this field to request the code. Then run again with the latest code, preferably within 15 minutes."
          },
          "mode": {
            "title": "Mode",
            "enum": [
              "standard",
              "monitor"
            ],
            "type": "string",
            "description": "Mode de scraping.<br><br><b>Standard :</b> scraping classique.<br><b>Monitor :</b> détecte uniquement les nouvelles annonces depuis la dernière exécution.",
            "default": "standard"
          },
          "telegramUserId": {
            "title": "Telegram User ID",
            "type": "string",
            "description": "Votre ID Telegram pour les notifications (mode Monitor uniquement).<br>Obtenez-le via <code>@userinfobot</code> sur Telegram."
          },
          "telegramNotificationLimit": {
            "title": "Limite de notifications Telegram",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "Nombre maximum de notifications Telegram par exécution (anti-spam).",
            "default": 10
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}