{
  "openapi": "3.0.1",
  "info": {
    "title": "La Centrale Scraper: Used Cars, Prices & Dealers",
    "description": "Scrape La Centrale used car, van and motorcycle ads by make, model, price, year, mileage, fuel and place, or paste search links, no login. Rows carry price, specs, department, dealer name and phone, La Centrale's price rating and every photo. Monitor new ads; JSON, CSV or API.",
    "version": "0.1",
    "x-build-id": "3KwY88h38A1lyTWUN"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/automation_craft~lacentrale-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-automation_craft-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/automation_craft~lacentrale-scraper/runs": {
      "post": {
        "operationId": "runs-sync-automation_craft-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/automation_craft~lacentrale-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-automation_craft-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": {
          "makesModels": {
            "title": "Makes and models",
            "type": "array",
            "description": "One search per entry: a make (RENAULT), a make and model (RENAULT:CLIO, BMW:SERIE 3) or a make, model and commercial name (RENAULT:CLIO:CLIO 5), written as La Centrale writes them; \":\" or \"::\" between the parts, any case. Leave it empty to search every make with the filters below.",
            "items": {
              "type": "string"
            }
          },
          "vehicleTypes": {
            "title": "Vehicle types",
            "type": "array",
            "description": "The vehicle families searched. Default: cars for make and model searches, every family for a dealer's stock.",
            "items": {
              "type": "string",
              "enum": [
                "cars",
                "vans",
                "motorcycles",
                "scooters",
                "quads"
              ],
              "enumTitles": [
                "Cars",
                "Vans and utility vehicles",
                "Motorcycles",
                "Scooters",
                "Quads"
              ]
            }
          },
          "searchUrls": {
            "title": "La Centrale search links",
            "type": "array",
            "description": "Links of La Centrale search results, https://www.lacentrale.fr/listing?... (the first page). The link's own parameters are read (make and model, vehicle type, fuel, body type, gearbox, price, year and mileage, departments, a postal code with its radius, regions, seller type, price rating, photos, delivery, recent ads, doors, sort, and the filters only La Centrale applies such as power, Crit'Air, owners, equipment and colour); a parameter the Actor cannot read refuses that link with a free row. The filters below do not apply to links.",
            "items": {
              "type": "string"
            }
          },
          "dealerIds": {
            "title": "Dealers",
            "type": "array",
            "description": "A dealer's whole stock on La Centrale: its id (C047525, the dealerId field of any row) or its page link (https://pros.lacentrale.fr/C047525). The filters below narrow it.",
            "items": {
              "type": "string"
            }
          },
          "adUrls": {
            "title": "Ad links or references",
            "type": "array",
            "description": "Single ads: https://www.lacentrale.fr/auto-occasion-annonce-69120160961.html, the ad number (69120160961) or the reference (E120160961). They are looked up 100 at a time and delivered as given (the filters do not apply). An ad that is no longer online (sold, withdrawn, expired) or never existed is never charged: it gets a free not_found row.",
            "items": {
              "type": "string"
            }
          },
          "fuels": {
            "title": "Fuel",
            "type": "array",
            "description": "La Centrale's fuel groups. Hybrid covers petrol and diesel hybrids, plug-in or not; the four specific hybrid choices narrow it to one kind.",
            "items": {
              "type": "string",
              "enum": [
                "petrol",
                "diesel",
                "electric",
                "hybrid",
                "plugin_hybrid",
                "non_plugin_hybrid",
                "hybrid_petrol",
                "hybrid_diesel",
                "plugin_hybrid_petrol",
                "plugin_hybrid_diesel",
                "lpg",
                "ethanol",
                "hydrogen",
                "other"
              ],
              "enumTitles": [
                "Petrol (essence)",
                "Diesel",
                "Electric",
                "Hybrid (all)",
                "Plug-in hybrid",
                "Non plug-in hybrid",
                "Petrol hybrid (non plug-in)",
                "Diesel hybrid (non plug-in)",
                "Petrol plug-in hybrid",
                "Diesel plug-in hybrid",
                "LPG (GPL)",
                "Ethanol (E85)",
                "Hydrogen",
                "Other (natural gas, biofuel and hydrogen together)"
              ]
            }
          },
          "gearbox": {
            "title": "Gearbox",
            "enum": [
              "any",
              "manual",
              "automatic"
            ],
            "type": "string",
            "description": "Manual or automatic only.",
            "default": "any"
          },
          "bodyTypes": {
            "title": "Body type",
            "type": "array",
            "description": "La Centrale's body categories (car, van and motorcycle ones; pick the ones of your vehicle types).",
            "items": {
              "type": "string",
              "enum": [
                "city_car",
                "compact",
                "sedan",
                "large_sedan",
                "estate",
                "suv",
                "mpv",
                "coupe",
                "convertible",
                "licence_free",
                "pickup",
                "company_car",
                "small_van",
                "van_under_3_5t",
                "bus_minibus",
                "truck_over_3_5t",
                "roadster",
                "trail",
                "sport",
                "gt",
                "custom",
                "offroad",
                "supermotard",
                "mini_moto",
                "moped",
                "sidecar",
                "scooter",
                "quad"
              ],
              "enumTitles": [
                "City car (citadine)",
                "Compact",
                "Sedan (berline: compact and large sedans together)",
                "Large sedan (routiere)",
                "Estate (break)",
                "SUV, 4x4, crossover",
                "MPV (monospace)",
                "Coupe",
                "Convertible (cabriolet)",
                "Licence free car",
                "Pick up",
                "Company car (societe)",
                "Small van (fourgonnette)",
                "Van under 3.5 t",
                "Bus and minibus",
                "Truck over 3.5 t",
                "Roadster (moto)",
                "Trail (moto)",
                "Sport (moto)",
                "GT (moto)",
                "Custom (moto)",
                "Off road (moto)",
                "Supermotard",
                "Mini moto",
                "Moped",
                "Side car",
                "Scooter",
                "Quad"
              ]
            }
          },
          "doors": {
            "title": "Doors",
            "type": "array",
            "description": "Number of doors.",
            "items": {
              "type": "string",
              "enum": [
                "2",
                "3",
                "4",
                "5"
              ],
              "enumTitles": [
                "2 doors",
                "3 doors",
                "4 doors",
                "5 doors"
              ]
            }
          },
          "minPrice": {
            "title": "Minimum price (EUR)",
            "minimum": 0,
            "type": "integer",
            "description": "Ads at or above this price in euros."
          },
          "maxPrice": {
            "title": "Maximum price (EUR)",
            "minimum": 0,
            "type": "integer",
            "description": "Ads at or below this price in euros."
          },
          "minYear": {
            "title": "Minimum year",
            "minimum": 1900,
            "maximum": 2100,
            "type": "integer",
            "description": "Vehicles of this model year or newer."
          },
          "maxYear": {
            "title": "Maximum year",
            "minimum": 1900,
            "maximum": 2100,
            "type": "integer",
            "description": "Vehicles of this model year or older."
          },
          "minMileage": {
            "title": "Minimum mileage (km)",
            "minimum": 0,
            "type": "integer",
            "description": "Vehicles with at least this mileage."
          },
          "maxMileage": {
            "title": "Maximum mileage (km)",
            "minimum": 0,
            "type": "integer",
            "description": "Vehicles with at most this mileage."
          },
          "departments": {
            "title": "Departments",
            "type": "array",
            "description": "French departments by their two digit code (75, 69, 13, 01; 20 for Corsica, 98 for Monaco). Give departments, regions or one postal code.",
            "items": {
              "type": "string"
            }
          },
          "regions": {
            "title": "Regions",
            "type": "array",
            "description": "La Centrale's 13 regions.",
            "items": {
              "type": "string",
              "enum": [
                "FR-ARA",
                "FR-BFC",
                "FR-BRE",
                "FR-CVL",
                "FR-COR",
                "FR-GES",
                "FR-HDF",
                "FR-IDF",
                "FR-NOR",
                "FR-NAQ",
                "FR-OCC",
                "FR-PDL",
                "FR-PAC"
              ],
              "enumTitles": [
                "Auvergne-Rhône-Alpes",
                "Bourgogne-Franche-Comté",
                "Bretagne",
                "Centre-Val de Loire",
                "Corse",
                "Grand Est",
                "Hauts-de-France",
                "Île-de-France",
                "Normandie",
                "Nouvelle-Aquitaine",
                "Occitanie",
                "Pays de la Loire",
                "Provence-Alpes-Côte d'Azur"
              ]
            }
          },
          "postalCode": {
            "title": "Postal code",
            "type": "string",
            "description": "One French postal code (69001), searched with the radius below. La Centrale applies the radius itself: rows carry the department, not the distance."
          },
          "radiusKm": {
            "title": "Radius around the postal code (km)",
            "minimum": 10,
            "maximum": 200,
            "type": "integer",
            "description": "One of La Centrale's radius choices: 10, 20, 50, 100 or 200 km. Default 20 with a postal code."
          },
          "sellerType": {
            "title": "Seller",
            "enum": [
              "any",
              "dealer",
              "private"
            ],
            "type": "string",
            "description": "Dealers (franchised, multi-brand, agents, brokers and other businesses) or private sellers only.",
            "default": "any"
          },
          "priceRatings": {
            "title": "La Centrale price rating",
            "type": "array",
            "description": "La Centrale's own price rating of the ad against the market.",
            "items": {
              "type": "string",
              "enum": [
                "very_good_deal",
                "good_deal",
                "fair_deal",
                "above_market",
                "off_market",
                "not_rated"
              ],
              "enumTitles": [
                "Very good deal (très bonne affaire)",
                "Good deal (bonne affaire)",
                "Fair deal (offre équitable)",
                "Above market (au-dessus du marché)",
                "Off market (hors marché)",
                "Not rated"
              ]
            }
          },
          "withPhotosOnly": {
            "title": "Ads with photos only",
            "type": "boolean",
            "description": "Ads with at least one photo.",
            "default": false
          },
          "deliveryOnly": {
            "title": "Ads with home delivery only",
            "type": "boolean",
            "description": "Ads whose seller offers delivery of the vehicle.",
            "default": false
          },
          "postedWithinDays": {
            "title": "Recent ads: first online within N days",
            "minimum": 0,
            "maximum": 365,
            "type": "integer",
            "description": "La Centrale's own \"less than N days\" filter: ads first online today (0), or today and the N days before (1 is today and yesterday). Days are Paris calendar days counted from the run's start."
          },
          "sort": {
            "title": "Sort",
            "enum": [
              "newest",
              "oldest",
              "price_low",
              "price_high",
              "mileage_low",
              "mileage_high",
              "year_new",
              "year_old",
              "relevance"
            ],
            "type": "string",
            "description": "The order of the rows. La Centrale serves 19 pages of 100 ads of one order (1,900 ads): past them a price or mileage order goes on in steps of its own range filter, and the other orders go on in price order, so every search is read to its end. A search link with its own sort keeps it.",
            "default": "newest"
          },
          "maxItems": {
            "title": "Maximum ads",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "The most ad rows the run delivers (searches and links together). Default 100."
          },
          "maxItemsPerSearch": {
            "title": "Maximum ads per search",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "The most ad rows one search, link or dealer delivers."
          },
          "maxPagesPerSearch": {
            "title": "Maximum results pages per search",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "The most results pages (up to 100 ads each) read for one search."
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "A short name of your choice (letters, digits, spaces and . _ , - : # ( ), up to 60 characters). One name belongs to one set of settings."
          },
          "includeDealerProfiles": {
            "title": "Dealer profiles (add-on)",
            "type": "boolean",
            "description": "Add each dealer's public profile to its rows: street address, postal code, city, coordinates, SIRET and SIREN, opening hours, the year it joined La Centrale, whether La Centrale verified the account, its number of ads, logo and social links. Read from the dealer's page once per dealer per run and billed as a Dealer profile once per dealer per run (its later rows carry it free). A dealer page that cannot be read leaves the row without a profile, not charged. Private sellers have no profile.",
            "default": false
          },
          "includePersonalData": {
            "title": "Personal data of private sellers",
            "type": "boolean",
            "description": "Off (default): a private seller's phone numbers (privateSellerPhone, privateSellerPhone2) and La Centrale's id of that seller (privateSellerId) are null. On: they are delivered as La Centrale shows them logged out. The ad's texts are delivered exactly as La Centrale serves them either way. A dealer's name, id and phone numbers are business data and always delivered. You are responsible for a lawful use of personal data, GDPR included.",
            "default": false
          },
          "failIfIncomplete": {
            "title": "Fail the run when a search is incomplete",
            "type": "boolean",
            "description": "Mark the run as failed when a search or an ad link could not be read to its end (La Centrale refused, a page failed, the work allowance ran out). Rows delivered stay delivered. Your own caps (maximum ads, pages) never count as incomplete.",
            "default": false
          },
          "requestsPerSecond": {
            "title": "Requests per second",
            "minimum": 0.2,
            "maximum": 1,
            "type": "number",
            "description": "The pace of requests to La Centrale (0.2 to 1, default 0.8)."
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify residential proxies in France are used by default and included in the price. La Centrale refuses datacenter addresses, so other Apify groups or countries are refused; your own proxy links (http://user:password@host:port, the password 8 characters or more with letters and digits) can be given instead."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}