{
  "openapi": "3.0.1",
  "info": {
    "title": "Leboncoin Scraper Ppe",
    "description": "Scrape Leboncoin.fr - France's largest classifieds. Pay only $0.80/1,000 results! Extract real estate, cars, jobs with price & location filters. Anti-Datadome protection, French residential proxies. No subscription, pay per result only.",
    "version": "1.0",
    "x-build-id": "CHyDXDvqVjXBqYgtd"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/silentflow~leboncoin-scraper-ppr/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-silentflow-leboncoin-scraper-ppr",
        "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/silentflow~leboncoin-scraper-ppr/runs": {
      "post": {
        "operationId": "runs-sync-silentflow-leboncoin-scraper-ppr",
        "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/silentflow~leboncoin-scraper-ppr/run-sync": {
      "post": {
        "operationId": "run-sync-silentflow-leboncoin-scraper-ppr",
        "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": {
          "searchUrl": {
            "title": "Search URL",
            "type": "string",
            "description": "Paste a Leboncoin search URL with all your filters already applied. Go to leboncoin.fr, set your keywords, category, location, price range, etc., then copy the URL from your browser. If provided, all search filters below are ignored."
          },
          "text": {
            "title": "Search Text",
            "type": "string",
            "description": "Keywords to search for (in French: appartement, maison, voiture...)."
          },
          "category": {
            "title": "Category",
            "enum": [
              "0",
              "8",
              "9",
              "10",
              "11",
              "2",
              "3",
              "1",
              "71",
              "72",
              "24"
            ],
            "type": "string",
            "description": "Category ID.",
            "default": "0"
          },
          "ownerType": {
            "title": "Seller Type",
            "enum": [
              "all",
              "private",
              "pro"
            ],
            "type": "string",
            "description": "Filter by seller type.",
            "default": "all"
          },
          "sort": {
            "title": "Sort By",
            "enum": [
              "newest",
              "oldest",
              "cheapest",
              "expensive"
            ],
            "type": "string",
            "description": "Sort results by.",
            "default": "newest"
          },
          "minPrice": {
            "title": "Minimum Price (€)",
            "type": "integer",
            "description": "Minimum price filter."
          },
          "maxPrice": {
            "title": "Maximum Price (€)",
            "type": "integer",
            "description": "Maximum price filter."
          },
          "locationLat": {
            "title": "Location Latitude",
            "type": "number",
            "description": "Latitude for location-based search (e.g., 48.8566 for Paris)."
          },
          "locationLng": {
            "title": "Location Longitude",
            "type": "number",
            "description": "Longitude for location-based search (e.g., 2.3522 for Paris)."
          },
          "locationRadius": {
            "title": "Search Radius (meters)",
            "type": "integer",
            "description": "Search radius in meters (default: 10km).",
            "default": 10000
          },
          "locationCity": {
            "title": "City Name",
            "type": "string",
            "description": "City name (optional, for display purposes)."
          },
          "limit": {
            "title": "Results per Page",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Number of results per page.",
            "default": 35
          },
          "pages": {
            "title": "Number of Pages",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Number of pages to scrape.",
            "default": 1
          },
          "maxItems": {
            "title": "Max Results",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum number of results to return (default: 1000).",
            "default": 1000
          },
          "browseMode": {
            "title": "Browse Mode",
            "type": "boolean",
            "description": "Visit each ad's detail page for full data: description, phone number, seller info, GPS coordinates, and attributes. Slower but much more data.",
            "default": false
          },
          "maxConcurrency": {
            "title": "Max Concurrency (Browse Mode)",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Number of parallel workers in browse mode (default: 3, max: 10). Higher values are faster but may trigger rate limits.",
            "default": 3
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}