{
  "openapi": "3.0.1",
  "info": {
    "title": "La Centrale Scraper",
    "description": "Scrape used-car listings from lacentrale.fr: make, model, version, year, mileage, price, gearbox, fuel, colour, seller and decoded phone. Detail mode adds full specs, warranty, price-drop history, dealer Google reviews, equipment and photos. Search by URL or filters. JSON/CSV/Excel",
    "version": "0.0",
    "x-build-id": "NluX2wl5s2fuHx0h4"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/memo23~lacentrale-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-memo23-lacentrale-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/memo23~lacentrale-scraper/runs": {
      "post": {
        "operationId": "runs-sync-memo23-lacentrale-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/memo23~lacentrale-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-memo23-lacentrale-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": {
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "La Centrale URLs to scrape. Accepts listing/search pages (e.g. https://www.lacentrale.fr/listing?makesModelsCommercialNames=RENAULT) and direct classified pages (e.g. https://www.lacentrale.fr/auto-occasion-annonce-69118639004.html). When set, the search filters below are ignored.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "make": {
            "title": "Make",
            "type": "string",
            "description": "Vehicle make to search, e.g. RENAULT, PEUGEOT, BMW, VOLKSWAGEN. Used only when no Start URLs are provided."
          },
          "model": {
            "title": "Model",
            "type": "string",
            "description": "Vehicle model, e.g. CLIO, 308, GOLF. Requires a Make. Used only when no Start URLs are provided."
          },
          "energies": {
            "title": "Fuel types",
            "type": "array",
            "description": "Restrict to these fuel types.",
            "items": {
              "type": "string",
              "enum": [
                "DIESEL",
                "ESSENCE",
                "ELECTRIC",
                "HYBRID",
                "PLUGIN_HYBRID",
                "BIO_ESSENCE_GPL",
                "BICARBURATION_ESSENCE_GNV"
              ],
              "enumTitles": [
                "Diesel",
                "Petrol (Essence)",
                "Electric",
                "Hybrid",
                "Plug-in hybrid",
                "Petrol + LPG",
                "Petrol + CNG"
              ]
            }
          },
          "categories": {
            "title": "Body types",
            "type": "array",
            "description": "Restrict to these body/vehicle categories.",
            "items": {
              "type": "string",
              "enum": [
                "CITADINE",
                "COMPACTE",
                "BERLINE",
                "BREAK",
                "SUV_4X4_CROSSOVER",
                "MONOSPACE",
                "COUPE",
                "CABRIOLET",
                "ROUTIERE",
                "PICK_UP",
                "BUS_ET_MINIBUS",
                "FOURGONNETTE"
              ],
              "enumTitles": [
                "City car",
                "Compact",
                "Saloon",
                "Estate",
                "SUV / 4x4 / Crossover",
                "Minivan",
                "Coupe",
                "Convertible",
                "Executive",
                "Pick-up",
                "Bus / Minibus",
                "Small van"
              ]
            }
          },
          "gearbox": {
            "title": "Transmission",
            "enum": [
              "MANUAL",
              "AUTO"
            ],
            "type": "string",
            "description": "Restrict to a transmission type."
          },
          "regions": {
            "title": "Department codes",
            "type": "array",
            "description": "French department codes to restrict to, e.g. 75, 13, 69. Used only when no Start URLs are provided.",
            "items": {
              "type": "string"
            }
          },
          "priceMin": {
            "title": "Min price (EUR)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum price in euros."
          },
          "priceMax": {
            "title": "Max price (EUR)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum price in euros."
          },
          "yearMin": {
            "title": "Min year",
            "type": "integer",
            "description": "Earliest registration year."
          },
          "yearMax": {
            "title": "Max year",
            "type": "integer",
            "description": "Latest registration year."
          },
          "mileageMax": {
            "title": "Max mileage (km)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum mileage in kilometres."
          },
          "scrapeDetailPages": {
            "title": "Scrape full detail pages",
            "type": "boolean",
            "description": "When ON, each car's detail page is fetched to return the FULL record (complete specs, warranty, price-drop history, seller Google reviews, equipment list, all image URLs). Deeper but slower and costs more. When OFF (default), rich card data (make, model, version, year, mileage, price, gearbox, energy, colour, seller, phone, photo) is read straight from search results — much cheaper.",
            "default": false
          },
          "maxItems": {
            "title": "Max vehicles",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of cars to return.",
            "default": 1000
          },
          "maxConcurrency": {
            "title": "Detail-page concurrency",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many detail pages to fetch in parallel (only used when 'Scrape full detail pages' is on).",
            "default": 6
          },
          "proxy": {
            "title": "Proxy configuration (optional override)",
            "type": "object",
            "description": "Leave empty — the actor already routes all traffic through its own built-in residential proxy at no extra cost to you. Only set this if you want to use your own proxies."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}