{
  "openapi": "3.0.1",
  "info": {
    "title": "La Centrale Scraper",
    "description": "Data extraction tool for LaCentrale. Scrape used car listings, vehicle specs, market prices, and seller contacts in France.",
    "version": "0.0",
    "x-build-id": "62HPEeK673qzmwenm"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/muhammetakkurtt~lacentrale-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-muhammetakkurtt-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/muhammetakkurtt~lacentrale-scraper/runs": {
      "post": {
        "operationId": "runs-sync-muhammetakkurtt-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/muhammetakkurtt~lacentrale-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-muhammetakkurtt-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": {
          "startUrl": {
            "title": "LaCentrale listing URL",
            "type": "string",
            "description": "Optional. Paste a lacentrale.fr listing/search URL (e.g. https://www.lacentrale.fr/listing?energies=ess&makesModelsCommercialNames=AUDI::A1&priceMax=10000) and the scraper collects every listing matching that URL's filters (fuel, make/model, body type, gearbox, color, seller type, price/year/mileage ranges, etc.). The URL's own sort (sortBy) and vehicle category (vertical) are honoured when present; otherwise the Sort preset and Vehicle type fields below are used. When a URL is set, the structured year/mileage/price fields are ignored. Limit always applies."
          },
          "vehicleType": {
            "title": "Vehicle type",
            "enum": [
              "carsAndUtilities",
              "utilities",
              "motorcycles"
            ],
            "type": "string",
            "description": "Choose which vehicle category to collect.",
            "default": "carsAndUtilities"
          },
          "sortPreset": {
            "title": "Sort preset",
            "enum": [
              "newestListings",
              "oldestListings",
              "newestModelYear",
              "oldestModelYear",
              "lowestMileage",
              "lowestPrice",
              "highestPrice"
            ],
            "type": "string",
            "description": "Choose how listings should be ordered before pagination starts.",
            "default": "newestListings"
          },
          "otherCriteria": {
            "title": "Other criteria",
            "enum": [
              "",
              "lessThan24Hours",
              "lessThan7Days"
            ],
            "type": "string",
            "description": "Optional additional time filter.",
            "default": ""
          },
          "sellerType": {
            "title": "Seller type",
            "enum": [
              "",
              "PRO",
              "PART"
            ],
            "type": "string",
            "description": "Filter by who is selling, like LaCentrale's \"Type de vendeur\" filter. \"Professional (dealers)\" keeps only trade sellers, \"Private (individuals)\" keeps only private sellers. Leave on \"All sellers\" to keep both. Ignored when a specific seller category is selected below.",
            "default": ""
          },
          "sellerFamilyCodes": {
            "title": "Seller category (professional)",
            "type": "array",
            "description": "Optional. Keep only specific professional seller categories — the sub-types LaCentrale lists under \"Professionnel\" (Concessionnaire, Courtier automobile, Agence, etc.). Pick one or more. When set, this narrows to those categories and takes precedence over the Seller type toggle above. Leave empty to not filter by category.",
            "items": {
              "type": "string",
              "enum": [
                "PROFESSIONNEL",
                "CONCESSIONNAIRE",
                "CENTRE_MULTIMARQUES",
                "AGENT",
                "COURTIER_AUTOMOBILE",
                "INTERMEDIAIRE",
                "GARAGISTE",
                "DISTANCE",
                "LOUEUR",
                "PARTENAIRE",
                "REPARATEUR_AGREE"
              ],
              "enumTitles": [
                "Professionnel de l'automobile",
                "Concessionnaire (dealership)",
                "Centre multimarques (multi-brand)",
                "Agence automobile",
                "Courtier automobile (broker)",
                "Intermédiaire / mandataire",
                "Garagiste (garage)",
                "Vente à distance (distance seller)",
                "Loueur (rental)",
                "Partenaire (partner)",
                "Réparateur agréé (approved repairer)"
              ]
            }
          },
          "onlyWithPhotos": {
            "title": "Only listings with photos",
            "type": "boolean",
            "description": "When this feature is enabled, only listings that include photos are collected.",
            "default": false
          },
          "yearMin": {
            "title": "Minimum year",
            "minimum": 1900,
            "maximum": 2026,
            "type": "integer",
            "description": "Optional minimum vehicle year."
          },
          "yearMax": {
            "title": "Maximum year",
            "minimum": 1900,
            "maximum": 2026,
            "type": "integer",
            "description": "Optional maximum vehicle year."
          },
          "mileageMin": {
            "title": "Minimum mileage",
            "minimum": 0,
            "type": "integer",
            "description": "Optional minimum mileage in kilometers."
          },
          "mileageMax": {
            "title": "Maximum mileage",
            "minimum": 1,
            "type": "integer",
            "description": "Optional maximum mileage in kilometers."
          },
          "priceMin": {
            "title": "Minimum price",
            "minimum": 0,
            "type": "integer",
            "description": "Optional minimum price in euros."
          },
          "priceMax": {
            "title": "Maximum price",
            "minimum": 1,
            "type": "integer",
            "description": "Optional maximum price in euros."
          },
          "limit": {
            "title": "Maximum listings",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of listing items to push to the dataset across all fetched pages.",
            "default": 20
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}