{
  "openapi": "3.0.1",
  "info": {
    "title": "AutoScout24.ch Scraper: Swiss Car, Motorcycle & Camper Listings",
    "description": "Scrape car, motorcycle and camper listings from autoscout24.ch and motoscout24.ch with 60+ filters: price in CHF, details, equipment, optional seller profile. Export to JSON, CSV or Excel.",
    "version": "0.0",
    "x-build-id": "XUi6QFCRgNVCUNrhD"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nice_dev~autoscout24-ch-listings-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nice_dev-autoscout24-ch-listings-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/nice_dev~autoscout24-ch-listings-scraper/runs": {
      "post": {
        "operationId": "runs-sync-nice_dev-autoscout24-ch-listings-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/nice_dev~autoscout24-ch-listings-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-nice_dev-autoscout24-ch-listings-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",
            "maxItems": 1000,
            "type": "array",
            "description": "autoscout24.ch or motoscout24.ch links, pasted as they are in your browser: a search (`https://www.autoscout24.ch/de/s/mo-320/mk-bmw?priceTo=30000…`, every filter set on the site is kept, motoscout24.ch links search motorbikes), a listing (`https://www.autoscout24.ch/de/d/bmw-320-…-20930678`) or a seller page (`https://www.autoscout24.ch/de/s/seller-64187` = all its vehicles). When this list is not empty, the search fields below (vehicle type, make, model, locations) and the **Vehicle filters** are ignored: set them on the site before copying the link (the one exception: the searches of **Dealers / sellers** keep the Vehicle filters). The Actor's own filters (dates, words to exclude, phone only, rating), the caps and monitoring still apply. autoscout24.de / .at / .it… are another platform, not supported here. Max 1 000 URLs.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "vehicleType": {
            "title": "Vehicle type",
            "enum": [
              "car",
              "motorcycle",
              "camper",
              "utility",
              "truck",
              "trailer"
            ],
            "type": "string",
            "description": "The section to search. Motorbikes are the listings of motoscout24.ch (same Swiss marketplace). Some filters below exist only for some vehicle types (a filter a section does not use returns no listing or is ignored by the site; the run log says so).",
            "default": "car"
          },
          "make": {
            "title": "Make",
            "maxLength": 100,
            "type": "string",
            "description": "Make as written on AutoScout24.ch, e.g. `BMW`, `Volkswagen`, `Mercedes-Benz` (case and accents ignored), or its site key (`mercedes-benz`). An unknown make stops the run with the list of close names, instead of silently searching every make. Empty = all makes."
          },
          "model": {
            "title": "Model",
            "maxLength": 100,
            "type": "string",
            "description": "Model of the make above, as on AutoScout24.ch: a single model (`320`, `Golf`) or a model series (`3 Series`, `1-series` = all its models), or its site key. Needs **Make**. Empty = all models of the make."
          },
          "query": {
            "title": "Make + model (text)",
            "maxLength": 200,
            "type": "string",
            "description": "A make and model typed as one text, e.g. `BMW 320`, `Tesla Model 3`, `VW Golf`, `Audi` (make alone = all its models). AutoScout24.ch has NO free-text keyword search (it only searches by make / model and filters): the text is matched to the site's makes and models, and a text that matches no make stops the run with the closest names. Searched in addition to **Make** / **Model**."
          },
          "searchQueries": {
            "title": "More makes + models",
            "maxItems": 100,
            "uniqueItems": true,
            "type": "array",
            "description": "Several make + model searches in one run, one per line: `BMW 3 Series`, `Audi A4`, `Tesla` (same rules as **Make + model (text)**). Each line is a separate search (times each location below, max 500 searches); a listing found by several searches is saved once.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Location",
            "maxLength": 200,
            "type": "string",
            "description": "Where to search, in Switzerland or Liechtenstein: a postcode (`8001`), a town (`Lausanne`, `Zürich`) or a canton (`Vaud`, `VD`, `Ticino`), or GPS coordinates `47.37,8.54` (turned into their postcode). Postcode, town and GPS use **Radius**; a canton is searched whole. Empty = all of Switzerland."
          },
          "locations": {
            "title": "More locations",
            "maxItems": 100,
            "uniqueItems": true,
            "type": "array",
            "description": "Several locations in one run: every make / model search is run in every location (3 models × 4 locations = 12 searches, max 500). Added to **Location**.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "radiusKm": {
            "title": "Radius",
            "minimum": 1,
            "maximum": 300,
            "type": "integer",
            "description": "Distance around a postcode or town, in km (a canton is always searched whole).",
            "default": 20
          },
          "sellerIds": {
            "title": "Dealers / sellers",
            "maxItems": 500,
            "uniqueItems": true,
            "type": "array",
            "description": "Every vehicle of these sellers: the seller id this Actor returns (`sellerId`, e.g. `64187`) or a seller page URL (`https://www.autoscout24.ch/de/s/seller-64187`). Each seller is one search; the vehicle filters below still apply.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "listingIds": {
            "title": "Listing IDs",
            "maxItems": 1000,
            "uniqueItems": true,
            "type": "array",
            "description": "Fetch these listings directly, by id (`20930678`) or listing URL. Always added to the searches above; read 20 at a time. A listing no longer online gives no row: it is noted in the run log and listed in the FAILED_REQUESTS record. Only a listing you already received under the same **Memory key** (**Only new listings** with **Report removed listings**) comes back, once, as a REMOVED row.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Max listings",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Maximum number of listings to save for the whole run (after deduplication and filters). 0 = no limit.",
            "default": 100
          },
          "maxItemsPerQuery": {
            "title": "Max listings per search",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Cap for EACH search (make / model × location, seller, or start URL), so that the first search cannot use up the whole **Max listings** budget. 0 = no per-search cap.",
            "default": 0
          },
          "extractDetails": {
            "title": "Listing details",
            "type": "boolean",
            "description": "Add the full listing: seller's description, original list price (new), body type, colours, doors, seats, gears, cylinders, engine size, CO₂, Euro norm, energy label, detailed consumption, every electric vehicle figure (battery, charging, battery certificate), dimensions and weights, towing capacity, last MFK inspection date, warranty details, type approval number, documents and video. 1 extra request per listing, charged per listing as **Listing details**, on top of the listing (see Pricing). Off = the main fields of the search: price, previous price, leasing, year, mileage, power, fuel, gearbox, range, consumption, accident, MFK, warranty type, all photos, seller and dates.",
            "default": false
          },
          "includeEquipment": {
            "title": "Equipment list",
            "type": "boolean",
            "description": "Add every equipment item of the vehicle (`features`: standard equipment, `optionalExtras`: paid options with their package contents, `featureIds`: the site's equipment keys), in the **Language** chosen. 1 extra request per listing, charged per listing with equipment as **Equipment list**, on top of the listing (see Pricing); a listing without equipment costs nothing extra.",
            "default": false
          },
          "includeDealerProfiles": {
            "title": "Seller profiles (address, opening hours, Google rating, GPS)",
            "type": "boolean",
            "description": "For each seller, read its profile once per run: street address, website, description, opening hours, contact person (first name only for a private seller), number of vehicles for sale, Google place with its rating and, with **Reviews per seller**, its latest Google reviews, and GPS coordinates (the point the seller set in its profile, otherwise the centre of its postcode, `coordinatesSource` says which). 2 extra requests per seller (the profile, then its number of vehicles for sale), charged per seller as **Seller profile** (see Pricing); a seller whose number of vehicles could not be read is not charged.",
            "default": false
          },
          "reviewLimit": {
            "title": "Reviews per seller",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "With **Seller profiles**: also return up to this many of the seller's latest Google reviews (`sellerReviews`: author, date, rating, text). AutoScout24.ch shows at most 5 per seller. Included in the **Seller profile** charge. 0 = no reviews.",
            "default": 0
          },
          "includePhones": {
            "title": "Seller phone numbers",
            "type": "boolean",
            "description": "Fill `sellerPhone`, `sellerPhones` (each number with its type: business, private, fax) and `sellerFax`. Read from the seller profile (1 extra request per seller, even when **Seller profiles** is off, then not charged as a profile). Charged per listing delivered with at least one number, as **Phone number found** (see Pricing); a listing without a number costs nothing extra. Private sellers' numbers are personal data: you are responsible for how you use them (Swiss nFADP / GDPR). Off = the phone fields are always empty.",
            "default": false
          },
          "priceFrom": {
            "title": "Min price",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Lowest price in Swiss francs."
          },
          "priceTo": {
            "title": "Max price",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Highest price in Swiss francs."
          },
          "yearFrom": {
            "title": "Min first registration year",
            "minimum": 1900,
            "maximum": 2100,
            "type": "integer",
            "description": "Registered in this year or later."
          },
          "yearTo": {
            "title": "Max first registration year",
            "minimum": 1900,
            "maximum": 2100,
            "type": "integer",
            "description": "Registered in this year or earlier."
          },
          "mileageFrom": {
            "title": "Min mileage",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Lowest mileage in km."
          },
          "mileageTo": {
            "title": "Max mileage",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Highest mileage in km."
          },
          "powerFrom": {
            "title": "Min power",
            "minimum": 0,
            "maximum": 3000,
            "type": "integer",
            "description": "Lowest engine power, in the **Power unit** below."
          },
          "powerTo": {
            "title": "Max power",
            "minimum": 0,
            "maximum": 3000,
            "type": "integer",
            "description": "Highest engine power, in the **Power unit** below."
          },
          "powerUnit": {
            "title": "Power unit",
            "enum": [
              "hp",
              "kw"
            ],
            "type": "string",
            "description": "Unit of **Min power** / **Max power** (AutoScout24.ch shows horsepower first).",
            "default": "hp"
          },
          "fuelTypes": {
            "title": "Fuel types",
            "uniqueItems": true,
            "type": "array",
            "description": "Keep any of these fuels. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "ethanol-petrol",
                "diesel",
                "electric",
                "hev-diesel",
                "hev-petrol",
                "hydrogen",
                "lpg-petrol",
                "mhev-diesel",
                "mhev-petrol",
                "cng-petrol",
                "petrol",
                "phev-diesel",
                "phev-petrol",
                "two-stroke-mixture"
              ],
              "enumTitles": [
                "Bioethanol",
                "Diesel",
                "Electric",
                "Full hybrid diesel / electric",
                "Full hybrid petrol / electric",
                "Hydrogen",
                "LPG / petrol",
                "Mild hybrid diesel / electric",
                "Mild hybrid petrol / electric",
                "Natural gas (CNG) / petrol",
                "Petrol",
                "Plug-in hybrid diesel / electric",
                "Plug-in hybrid petrol / electric",
                "Two-stroke mixture"
              ]
            },
            "default": []
          },
          "transmission": {
            "title": "Transmission",
            "uniqueItems": true,
            "type": "array",
            "description": "Keep any of these gearboxes. Automatic = every automatic gearbox (classic, CVT, semi-automatic). Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "automatic",
                "manual"
              ],
              "enumTitles": [
                "Automatic",
                "Manual"
              ]
            },
            "default": []
          },
          "bodyTypes": {
            "title": "Body types",
            "uniqueItems": true,
            "type": "array",
            "description": "Keep any of these body types (cars, motorbikes, motorhomes, vans and trailers each use their own). Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "alcove",
                "atv-quad",
                "boat-trailer",
                "suitcase",
                "box",
                "box-double-cab",
                "bus",
                "cabin",
                "car-trailer",
                "car-transporter",
                "caravan",
                "chassis-cab",
                "chopper",
                "car",
                "minivan",
                "construction-trailer",
                "cabriolet",
                "coupe",
                "custom-bike",
                "cab-over",
                "e-bike",
                "off-road-bike",
                "estate",
                "bridge",
                "bridge-double-cab",
                "box-glazed",
                "uploader",
                "horse-trailer",
                "reefer",
                "integrated",
                "livestock-trailer",
                "low-bed-trailer",
                "moped",
                "motocross-bike",
                "motorcycle-trailer",
                "motorhome",
                "naked-bike",
                "other",
                "pickup",
                "platform",
                "sales-trailer",
                "saloon",
                "sanitary-trailer",
                "scooter",
                "semi-integrated",
                "semi-trailer",
                "sidecar",
                "small-car",
                "snowmobile",
                "special-vehicles-trailer",
                "street-bike",
                "supermoto",
                "suv",
                "tank-body",
                "wood-transporter",
                "tipper",
                "touring",
                "trailer",
                "trike"
              ],
              "enumTitles": [
                "Alcove motorhome",
                "ATV / quad",
                "Boat trailer",
                "Box body",
                "Box van",
                "Box van, double cab",
                "Bus / minibus",
                "Cabin",
                "Car trailer",
                "Car transporter",
                "Caravan",
                "Chassis cab",
                "Chopper",
                "Coach",
                "Compact MPV / minivan",
                "Construction machinery trailer",
                "Convertible",
                "Coupé",
                "Custom bike",
                "Double cab",
                "Electric motorbike",
                "Enduro",
                "Estate",
                "Flatbed",
                "Flatbed, double cab",
                "Glazed van",
                "High-loader trailer",
                "Horse trailer",
                "Insulated / refrigerated body",
                "Integrated motorhome",
                "Livestock trailer",
                "Low-bed trailer",
                "Moped",
                "Motocross / trial",
                "Motorbike trailer",
                "Motorhome",
                "Naked bike",
                "Other",
                "Pick-up",
                "Platform",
                "Sales trailer",
                "Saloon / sedan",
                "Sanitary trailer",
                "Scooter",
                "Semi-integrated motorhome",
                "Semi-trailer",
                "Sidecar",
                "Small car",
                "Snowmobile",
                "Special trailer",
                "Street bike",
                "Supermoto",
                "SUV / off-road",
                "Tank body",
                "Timber transporter",
                "Tipper",
                "Touring bike",
                "Trailer",
                "Trike / three-wheeler"
              ]
            },
            "default": []
          },
          "condition": {
            "title": "Condition",
            "uniqueItems": true,
            "type": "array",
            "description": "Keep any of these conditions. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "new",
                "used",
                "demonstration",
                "oldtimer",
                "pre-registered"
              ],
              "enumTitles": [
                "New",
                "Used",
                "Demonstration vehicle",
                "Classic / oldtimer",
                "New, pre-registered (day registration)"
              ]
            },
            "default": []
          },
          "sellerType": {
            "title": "Seller type",
            "enum": [
              "ANY",
              "D",
              "P"
            ],
            "type": "string",
            "description": "Dealers, private sellers, or both.",
            "default": "ANY"
          },
          "exteriorColors": {
            "title": "Exterior colours",
            "uniqueItems": true,
            "type": "array",
            "description": "Keep any of these colours. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "anthracite",
                "beige",
                "black",
                "blue",
                "bordeaux",
                "brown",
                "gold",
                "green",
                "gray",
                "multicolored",
                "orange",
                "other",
                "pink",
                "red",
                "silver",
                "turquoise",
                "violet",
                "white",
                "yellow"
              ],
              "enumTitles": [
                "Anthracite",
                "Beige",
                "Black",
                "Blue",
                "Bordeaux",
                "Brown",
                "Gold",
                "Green",
                "Grey",
                "Multicoloured",
                "Orange",
                "Other",
                "Pink",
                "Red",
                "Silver",
                "Turquoise",
                "Violet",
                "White",
                "Yellow"
              ]
            },
            "default": []
          },
          "metallicOnly": {
            "title": "Metallic paint only",
            "type": "boolean",
            "description": "Only vehicles with metallic paint.",
            "default": false
          },
          "interiorColors": {
            "title": "Interior colours",
            "uniqueItems": true,
            "type": "array",
            "description": "Keep any of these interior colours. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "anthracite",
                "beige",
                "black",
                "blue",
                "bordeaux",
                "brown",
                "gold",
                "green",
                "gray",
                "multicolored",
                "orange",
                "other",
                "pink",
                "red",
                "silver",
                "turquoise",
                "violet",
                "white",
                "yellow"
              ],
              "enumTitles": [
                "Anthracite",
                "Beige",
                "Black",
                "Blue",
                "Bordeaux",
                "Brown",
                "Gold",
                "Green",
                "Grey",
                "Multicoloured",
                "Orange",
                "Other",
                "Pink",
                "Red",
                "Silver",
                "Turquoise",
                "Violet",
                "White",
                "Yellow"
              ]
            },
            "default": []
          },
          "doorsFrom": {
            "title": "Min doors",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "At least this many doors."
          },
          "doorsTo": {
            "title": "Max doors",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "At most this many doors."
          },
          "seatsFrom": {
            "title": "Min seats",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "At least this many seats."
          },
          "seatsTo": {
            "title": "Max seats",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "At most this many seats."
          },
          "driveType": {
            "title": "Drive type",
            "uniqueItems": true,
            "type": "array",
            "description": "Keep any of these drive types. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "all",
                "front",
                "rear"
              ],
              "enumTitles": [
                "All-wheel drive (4x4)",
                "Front-wheel drive",
                "Rear-wheel drive"
              ]
            },
            "default": []
          },
          "warrantyOnly": {
            "title": "With warranty only",
            "type": "boolean",
            "description": "Only vehicles sold with a warranty.",
            "default": false
          },
          "accidentHistory": {
            "title": "Accident history",
            "enum": [
              "ANY",
              "NO_ACCIDENT",
              "ACCIDENT_ONLY"
            ],
            "type": "string",
            "description": "Keep accident-free vehicles only, or vehicles that had an accident only.",
            "default": "ANY"
          },
          "inspectedOnly": {
            "title": "MFK inspected only",
            "type": "boolean",
            "description": "Only vehicles with a valid Swiss roadworthiness test (MFK / expertisé / collaudato).",
            "default": false
          },
          "withImagesOnly": {
            "title": "With photos only",
            "type": "boolean",
            "description": "Only listings with at least one photo.",
            "default": false
          },
          "extraTiresOnly": {
            "title": "With extra set of tyres only",
            "type": "boolean",
            "description": "Only vehicles sold with a second set of tyres.",
            "default": false
          },
          "leasingOnly": {
            "title": "Leasing offers only",
            "type": "boolean",
            "description": "Only listings that carry a leasing offer (`leasing` and `leasingRateMonthly` in the results).",
            "default": false
          },
          "maxLeasingRate": {
            "title": "Max leasing rate",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Highest monthly leasing rate, in Swiss francs (listings with a leasing offer)."
          },
          "electricRangeFrom": {
            "title": "Min electric range",
            "minimum": 0,
            "maximum": 2000,
            "type": "integer",
            "description": "Electric vehicles: at least this range, in km."
          },
          "electricRangeTo": {
            "title": "Max electric range",
            "minimum": 0,
            "maximum": 2000,
            "type": "integer",
            "description": "Electric vehicles: at most this range, in km."
          },
          "batteryCapacityFrom": {
            "title": "Min battery capacity",
            "minimum": 0,
            "maximum": 500,
            "type": "integer",
            "description": "Electric vehicles: battery of at least this size."
          },
          "batteryCapacityTo": {
            "title": "Max battery capacity",
            "minimum": 0,
            "maximum": 500,
            "type": "integer",
            "description": "Electric vehicles: battery of at most this size."
          },
          "batteryHealthFrom": {
            "title": "Min battery health",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Electric vehicles: battery state of health (SoH) of at least this percentage."
          },
          "batteryCertificateOnly": {
            "title": "With battery certificate only",
            "type": "boolean",
            "description": "Electric vehicles: only listings with a battery health certificate.",
            "default": false
          },
          "engineSizeFrom": {
            "title": "Min engine size",
            "minimum": 0,
            "maximum": 20000,
            "type": "integer",
            "description": "Lowest engine displacement."
          },
          "engineSizeTo": {
            "title": "Max engine size",
            "minimum": 0,
            "maximum": 20000,
            "type": "integer",
            "description": "Highest engine displacement."
          },
          "cylindersFrom": {
            "title": "Min cylinders",
            "minimum": 1,
            "maximum": 16,
            "type": "integer",
            "description": "At least this many cylinders."
          },
          "cylindersTo": {
            "title": "Max cylinders",
            "minimum": 1,
            "maximum": 16,
            "type": "integer",
            "description": "At most this many cylinders."
          },
          "co2EmissionTo": {
            "title": "Max CO₂ emissions",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "At most this CO₂ emission, in g/km."
          },
          "consumptionTo": {
            "title": "Max fuel consumption",
            "minimum": 0,
            "maximum": 50,
            "type": "integer",
            "description": "At most this combined consumption, in l/100 km (whole number)."
          },
          "emissionClass": {
            "title": "Emission standard",
            "enum": [
              "euro-1",
              "euro-2",
              "euro-3",
              "euro-4",
              "euro-5",
              "euro-5-plus",
              "euro-6",
              "euro-6a",
              "euro-6b",
              "euro-6c",
              "euro-6d-temp",
              "euro-6d-temp-evap",
              "euro-6d-temp-isc",
              "euro-6d-temp-evap-isc",
              "euro-6d",
              "euro-6d-isc",
              "euro-6d-isc-fcm",
              "euro-6e"
            ],
            "type": "string",
            "description": "This Euro emission standard or a newer one (e.g. Euro 6 also keeps Euro 6a … 6e)."
          },
          "energyLabel": {
            "title": "Energy label",
            "enum": [
              "a",
              "b",
              "c",
              "d",
              "e",
              "f",
              "g"
            ],
            "type": "string",
            "description": "This Swiss energy-efficiency label or a better one (A = best)."
          },
          "features": {
            "title": "Required equipment",
            "uniqueItems": true,
            "type": "array",
            "description": "Keep only vehicles with ALL of these equipment items (the site's own list; measured 23/10: tow bar + head-up display = fewer listings than each alone). Empty = no requirement.",
            "items": {
              "type": "string",
              "enum": [
                "360-camera",
                "abs",
                "adaptive-cruise-control",
                "adaptive-headlights",
                "additional-instrumentation",
                "air-condition",
                "air-suspension",
                "airbags",
                "alarm-system",
                "alcantara",
                "alloy-wheels",
                "android-auto",
                "anti-theft-device",
                "apple-carplay",
                "audio-system",
                "automatic-air-condition",
                "auxiliary-heating",
                "backrest",
                "blind-spot-system",
                "bluetooth-interface",
                "active-brake-assistant",
                "navigation",
                "catalytic-converter",
                "central-locking",
                "chrome-parts",
                "cloth-seats",
                "cornering-light",
                "cover",
                "crash-bar",
                "cruise-control",
                "custom-exhaust",
                "custom-handlebar",
                "dab-radio",
                "detachable-towbar",
                "differential-locking",
                "double-disc-brake",
                "double-seat",
                "drowsiness-detection",
                "electric-seat",
                "electric-tailgate",
                "electric-windows",
                "entertainment-system",
                "fast-charging",
                "towbar",
                "floorboard",
                "foglights",
                "parking-sensor-front",
                "full-partial-casing",
                "hands-free-set",
                "hardtop",
                "head-up-display",
                "heated-grips",
                "heated-seats",
                "hydraulic-system",
                "isofix",
                "keyless",
                "kitchen",
                "lane-assistant",
                "laser-headlights",
                "leather-seats",
                "led",
                "liftgate",
                "limited-slip-differential",
                "luggage-rack",
                "panorama-roof",
                "assisted-parking",
                "partial-leather-seats",
                "particulate-filter",
                "portable-navigation-system",
                "power-steering",
                "parking-sensor-rear",
                "rear-camera",
                "reinforced-suspension",
                "retarder-intarder",
                "retractable-towbar",
                "saddlebag",
                "shower",
                "side-airbags",
                "sliding-door",
                "solo-seat",
                "speaker",
                "special-paint",
                "spoked-wheels",
                "sport-seats",
                "sport-suspension",
                "esp",
                "start-stop-system",
                "sunroof",
                "tank-bag",
                "toilet",
                "top-case",
                "traction-control",
                "traffic-sign-assistant",
                "traffic-sign-recognition",
                "suitcase",
                "tv",
                "twin-headlights",
                "ventilated-seats",
                "windshield",
                "wing-doors",
                "xenon-headlights"
              ],
              "enumTitles": [
                "360° camera",
                "ABS",
                "Adaptive cruise control",
                "Adaptive headlights",
                "Additional instruments",
                "Air conditioning",
                "Air suspension",
                "Airbags",
                "Alarm system",
                "Alcantara",
                "Alloy wheels",
                "Android Auto",
                "Anti-theft device",
                "Apple CarPlay",
                "Audio system",
                "Automatic climate control",
                "Auxiliary heating",
                "Backrest (motorbike)",
                "Blind-spot assist",
                "Bluetooth",
                "Brake assist",
                "Built-in navigation",
                "Catalytic converter",
                "Central locking",
                "Chrome parts",
                "Cloth seats",
                "Cornering light",
                "Cover",
                "Crash bar",
                "Cruise control",
                "Custom exhaust",
                "Custom handlebar",
                "DAB radio",
                "Detachable tow bar",
                "Differential lock",
                "Double disc brake",
                "Double seat",
                "Drowsiness detection",
                "Electric seat adjustment",
                "Electric tailgate",
                "Electric windows",
                "Entertainment system",
                "Fast charging",
                "Fixed tow bar",
                "Floorboard",
                "Fog lights",
                "Front parking sensors",
                "Full / partial fairing",
                "Hands-free kit",
                "Hardtop",
                "Head-up display",
                "Heated grips",
                "Heated seats",
                "Hydraulic system",
                "Isofix",
                "Keyless entry / start",
                "Kitchen",
                "Lane assist",
                "Laser headlights",
                "Leather seats",
                "LED headlights",
                "Liftgate",
                "Limited-slip differential",
                "Luggage rack",
                "Panoramic roof",
                "Parking assist",
                "Part-leather seats",
                "Particulate filter",
                "Portable navigation",
                "Power steering",
                "Rear parking sensors",
                "Rear-view camera",
                "Reinforced suspension",
                "Retarder / Intarder",
                "Retractable tow bar",
                "Saddlebags",
                "Shower",
                "Side airbags",
                "Sliding door",
                "Solo seat",
                "Speakers",
                "Special paint",
                "Spoked wheels",
                "Sport seats",
                "Sport suspension",
                "Stability control (ESP)",
                "Start-stop system",
                "Sunroof",
                "Tank bag",
                "Toilet",
                "Top case",
                "Traction control",
                "Traffic sign assist",
                "Traffic sign recognition",
                "Transport box (motorbike)",
                "TV",
                "Twin headlights",
                "Ventilated seats",
                "Windshield",
                "Wing doors",
                "Xenon headlights"
              ]
            },
            "default": []
          },
          "towingCapacityFrom": {
            "title": "Min towing capacity",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Braked towing capacity of at least this weight."
          },
          "weightTotalTo": {
            "title": "Max gross weight",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Gross vehicle weight of at most this value, e.g. 3500 for motorhomes and vans driven with a car licence (B)."
          },
          "payloadFrom": {
            "title": "Min payload",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Vans, trucks and motorhomes: payload of at least this weight."
          },
          "handicappedAccessibleOnly": {
            "title": "Wheelchair accessible only",
            "type": "boolean",
            "description": "Only vehicles adapted for disabled drivers or passengers.",
            "default": false
          },
          "availableForExchangeOnly": {
            "title": "Trade-in accepted only",
            "type": "boolean",
            "description": "Only listings whose seller accepts a vehicle in exchange.",
            "default": false
          },
          "qualitySeals": {
            "title": "Quality labels",
            "maxItems": 100,
            "uniqueItems": true,
            "type": "array",
            "description": "Only used vehicles carrying one of these dealer / manufacturer quality labels, by the label id this Actor returns in `qualitySeals` (e.g. `37`). Empty = all.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "excludeMakes": {
            "title": "Exclude makes",
            "maxItems": 100,
            "uniqueItems": true,
            "type": "array",
            "description": "Leave out these makes (name or site key, as in **Make**), filtered by the site.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "onlineSince": {
            "title": "Online since",
            "enum": [
              "1",
              "2",
              "3",
              "4",
              "5",
              "6",
              "7",
              "14",
              "30"
            ],
            "type": "string",
            "description": "Only listings put online in the last N days, filtered by AutoScout24.ch itself (for any other period use **Posted after**)."
          },
          "customFilters": {
            "title": "Other AutoScout24.ch filters",
            "type": "object",
            "description": "Any other filter of the AutoScout24.ch search, as `name: value`, with the names the site uses in its search links: e.g. `{\"licenseCategories\": [\"a1\"], \"sleepingBerthsFrom\": 4, \"tunedOnly\": true, \"excludingBodyColors\": [\"white\"]}`. The README lists every name (99). An unknown name stops the run (the site would silently ignore it and return everything). `pagination` and `sort` are refused (use **Sort by** and the caps). Added to the filters above; a name set here wins.",
            "default": {}
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "NEWEST",
              "OLDEST",
              "RELEVANCE",
              "PRICE_ASC",
              "PRICE_DESC",
              "MILEAGE_ASC",
              "MILEAGE_DESC",
              "YEAR_DESC",
              "YEAR_ASC",
              "POWER_DESC",
              "POWER_ASC",
              "MAKE"
            ],
            "type": "string",
            "description": "Order in which the listings are read. With a cap, the order decides WHICH listings you get. Newest first is the default and the one used to stop early with **Only new listings**. Every order is completed with newest first, so that no listing is skipped or repeated across pages.",
            "default": "NEWEST"
          },
          "postedAfter": {
            "title": "Posted after",
            "type": "string",
            "description": "Only listings first put online on AutoScout24.ch on or after this date (`publishedAt`, not a later change): `2026-09-01`, or a period before now such as `7 days`, `2 weeks`, `1 month` (API: `24 hours` and full ISO date-times work too)."
          },
          "postedBefore": {
            "title": "Posted before",
            "type": "string",
            "description": "Only listings first put online on or before this date (the whole day is included), or older than a period such as `30 days`."
          },
          "excludeKeywords": {
            "title": "Exclude keywords",
            "maxItems": 50,
            "uniqueItems": true,
            "type": "array",
            "description": "Drop the listings whose title (make, model, version) or teaser contains one of these words (case and accents ignored), e.g. `Export`, `Motorschaden`, `défectueux`, or a version to leave out (`M3`). A word also counts inside a longer word.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "requirePhone": {
            "title": "With phone only",
            "type": "boolean",
            "description": "Keep only the listings whose seller shows a phone number (read from the seller profile: 1 extra request per seller). Works on its own: the numbers are returned (and charged) only when **Seller phone numbers** is ticked.",
            "default": false
          },
          "minRating": {
            "title": "Min seller rating",
            "pattern": "^$|^[1-5](\\.[0-9])?$",
            "maxLength": 3,
            "type": "string",
            "description": "Keep only listings of sellers whose Google rating shown on AutoScout24.ch (`sellerRating`, 1 to 5) is at least this value, e.g. `4.5` (read from the seller profile: 1 extra request per seller); sellers without a rating are dropped. Empty = no rating filter."
          },
          "onlyNew": {
            "title": "Only new listings",
            "type": "boolean",
            "description": "Skip the listings that a previous run (same **Memory key**) already delivered: they are not saved and not charged. First run = everything is new.",
            "default": false
          },
          "stateKey": {
            "title": "Memory key",
            "pattern": "^[a-zA-Z0-9_-]{1,64}$",
            "maxLength": 64,
            "type": "string",
            "description": "Name of the memory used by **Only new listings**. Give each schedule / task its own key (e.g. `bmw-zurich`) so that they do not share their memory. Letters, digits, `-` and `_`.",
            "default": "default"
          },
          "resetState": {
            "title": "Reset the memory",
            "type": "boolean",
            "description": "Forget everything remembered under this **Memory key** before the run: this run returns (and charges) every listing again. Untick it afterwards.",
            "default": false
          },
          "includePriceChanges": {
            "title": "Report price changes",
            "type": "boolean",
            "description": "Needs **Only new listings**. A listing already delivered under this **Memory key** comes back, whole, when its price has changed since the run that delivered it: `changeType` = `PRICE_CHANGED`, with `lastDeliveredPrice`, `priceChange`, `priceChangePct` and `priceChangedAt`. Charged per listing as **Price change**, on top of the listing (see Pricing). The listings already delivered are re-checked 20 at a time, each charged a small **Price check** (see Pricing), up to **Max listings** re-checked.",
            "default": false
          },
          "minPriceChangePercent": {
            "title": "Min price change",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "With **Report price changes**: ignore a price change smaller than this percentage (up or down). 0 = every change.",
            "default": 0
          },
          "includeRemovedListings": {
            "title": "Report removed listings",
            "type": "boolean",
            "description": "Needs **Only new listings**. A listing already delivered under this **Memory key** that is no longer online (sold or withdrawn) comes back once as a short row: `changeType` = `REMOVED`, `removedAt`, its last price and the fields last delivered. Each listing re-checked is charged a small **Price check** (see Pricing), shared with **Report price changes** (a listing is re-checked once for both).",
            "default": false
          },
          "language": {
            "title": "Language",
            "enum": [
              "en",
              "de",
              "fr",
              "it"
            ],
            "type": "string",
            "description": "Language of the labels (fuel, body, condition, gearbox), of the equipment names and of the listing URLs. The codes and numbers are the same in every language and the listings found do not depend on it; the seller's description is never translated.",
            "default": "en"
          },
          "imageSize": {
            "title": "Photo size",
            "enum": [
              "small",
              "medium",
              "large",
              "original"
            ],
            "type": "string",
            "description": "Width of the photo URLs returned (every photo of the listing is returned).",
            "default": "large"
          },
          "includeRaw": {
            "title": "Include raw data",
            "type": "boolean",
            "description": "Add a `raw` field with the untouched JSON of AutoScout24.ch for the listing (search result, plus the full listing with **Listing details**). Seller phone numbers and a private seller's name are never in it. Useful to recover a field this Actor does not map yet; makes the data much bigger.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy or your own proxies. Keep the default: it is included in the price. The residential Apify proxy is not available in this Actor.",
            "default": {
              "useApifyProxy": true
            }
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Maximum number of requests processed in parallel.",
            "default": 8
          },
          "maxRequestsPerMinute": {
            "title": "Max requests per minute",
            "minimum": 10,
            "maximum": 2000,
            "type": "integer",
            "description": "Most requests to the site in any 60 seconds, every one counted on its own: results pages, listing pages, and the extra pages read for a listing (its equipment page when **Listing details** and **Equipment list** are both ticked, its seller's profile). A budget, not an even pace: up to this many can leave at once when the minute starts (spread them with the minimum delay below). Lower it if the site answers HTTP 429 / 403 in the log.",
            "default": 120
          },
          "minRequestIntervalMs": {
            "title": "Min delay between requests",
            "minimum": 0,
            "maximum": 60000,
            "type": "integer",
            "description": "Smallest gap between two requests, in milliseconds. Unlike the per-minute rate, this spreads the requests evenly instead of letting them go out in a burst. 0 = no gap.",
            "default": 0
          },
          "maxRequestRetries": {
            "title": "Max request retries",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Retries per request before it is marked as failed. Behind a proxy, a request the site turns away is also retried on a new proxy session up to 10 times without using up these retries.",
            "default": 5
          },
          "debugLog": {
            "title": "Debug log",
            "type": "boolean",
            "description": "Include debug messages in the run log.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}