{
  "openapi": "3.0.1",
  "info": {
    "title": "Carwow UK Car Deals Scraper",
    "description": "Scrape Carwow UK new, used and lease car deals: 79,390 live listings with price, deal score, specs, dealer contact and model level RRP, cash and PCP pricing.",
    "version": "0.1",
    "x-build-id": "6d4CnaK6ffXiCcdhm"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/parseforge~carwow-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-parseforge-carwow-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/parseforge~carwow-scraper/runs": {
      "post": {
        "operationId": "runs-sync-parseforge-carwow-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/parseforge~carwow-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-parseforge-carwow-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": {
          "scrapeMode": {
            "title": "What to scrape",
            "enum": [
              "stock-deals",
              "model-deals",
              "model-cards",
              "makes"
            ],
            "type": "string",
            "description": "Stock deals reads Carwow's live inventory of 79,390 cars. Model deals reads the RRP, cash and PCP price of every derivative of a model. Model cards reads the wowscore and average saving per model. Makes lists the 50 brands Carwow sells.",
            "default": "stock-deals"
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Optional carwow.co.uk pages to scrape instead of the search. Accepts /brands/deals, /{make}/deals, /{make}/{model}/deals and the curated /new-car-deals landing pages. Leave empty to use the filters below.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Free users: limited to 10 items (preview). Paid users: up to 1,000,000."
          },
          "dealType": {
            "title": "Deal type",
            "enum": [
              "cash",
              "leasing"
            ],
            "type": "string",
            "description": "Cash and finance stock (79,390 cars) or leasing offers (6,444). Carwow only splits its inventory these two ways.",
            "default": "cash"
          },
          "makeSlug": {
            "title": "Make",
            "enum": [
              "",
              "abarth",
              "aion",
              "alfa-romeo",
              "alpine",
              "audi",
              "bmw",
              "byd",
              "changan",
              "chery",
              "citroen",
              "cupra",
              "dacia",
              "ds",
              "fiat",
              "ford",
              "geely",
              "genesis",
              "gwm",
              "honda",
              "hyundai",
              "ineos",
              "jaecoo",
              "jeep",
              "kgm-motors",
              "kia",
              "land-rover",
              "leapmotor",
              "lepas",
              "lexus",
              "lotus",
              "mazda",
              "mercedes",
              "mg",
              "mini",
              "nissan",
              "omoda",
              "peugeot",
              "polestar",
              "renault",
              "seat",
              "skoda",
              "skywell",
              "smart",
              "suzuki",
              "tesla",
              "toyota",
              "vauxhall",
              "volkswagen",
              "volvo",
              "xpeng"
            ],
            "type": "string",
            "description": "Brand to search. Carwow validates this exactly, so only its 50 published slugs work. Also used as the starting point in the model deals, model cards and makes modes.",
            "default": ""
          },
          "modelSlug": {
            "title": "Model slug",
            "type": "string",
            "description": "Carwow model slug, as it appears in the URL, for example 1-series, qashqai or model-3. Needs a make to be set as well."
          },
          "vehicleState": {
            "title": "New or used",
            "enum": [
              "all",
              "new",
              "used"
            ],
            "type": "string",
            "description": "New (22,867 cars) or used (58,169). Any covers both.",
            "default": "all"
          },
          "availability": {
            "title": "Availability",
            "enum": [
              "all",
              "in_stock",
              "factory_order"
            ],
            "type": "string",
            "description": "In stock (76,431 cars) means ready now, factory order (3,863) means built to order.",
            "default": "all"
          },
          "bodyStyles": {
            "title": "Body style",
            "type": "array",
            "description": "One or more body styles. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "convertible",
                "coupe",
                "estate",
                "hatchback",
                "mpv",
                "saloon",
                "suv"
              ],
              "enumTitles": [
                "Convertible",
                "Coupe",
                "Estate",
                "Hatchback",
                "MPV",
                "Saloon",
                "SUV"
              ]
            }
          },
          "fuels": {
            "title": "Fuel type",
            "type": "array",
            "description": "One or more fuel types. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "petrol",
                "diesel",
                "hybrid",
                "electric"
              ],
              "enumTitles": [
                "Petrol",
                "Diesel",
                "Hybrid",
                "Electric"
              ]
            }
          },
          "transmissions": {
            "title": "Transmission",
            "type": "array",
            "description": "One or more transmissions. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "automatic",
                "manual"
              ],
              "enumTitles": [
                "Automatic",
                "Manual"
              ]
            }
          },
          "doorCategories": {
            "title": "Doors",
            "type": "array",
            "description": "Front and rear doors, or front doors only. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "front-and-rear",
                "front-only"
              ],
              "enumTitles": [
                "Front and rear",
                "Front only"
              ]
            }
          },
          "colours": {
            "title": "Colour",
            "type": "array",
            "description": "One or more paint colours. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "Beige",
                "Black",
                "Blue",
                "Brown",
                "Gold",
                "Green",
                "Grey",
                "Multi Colour",
                "Orange",
                "Pink",
                "Purple",
                "Red",
                "Silver",
                "Two-tone",
                "White",
                "Yellow"
              ]
            }
          },
          "features": {
            "title": "Must have features",
            "type": "array",
            "description": "Only cars carrying all of the selected features. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "android-auto",
                "apple-carplay",
                "climate-control",
                "cruise-control",
                "heated-seats",
                "leather-seats",
                "navigation",
                "parking-camera",
                "parking-sensors",
                "touchscreen"
              ],
              "enumTitles": [
                "Android Auto",
                "Apple CarPlay",
                "Climate control",
                "Cruise control",
                "Heated seats",
                "Leather seats",
                "Navigation",
                "Parking camera",
                "Parking sensors",
                "Touchscreen"
              ]
            }
          },
          "minPrice": {
            "title": "Min price (GBP)",
            "minimum": 0,
            "type": "integer",
            "description": "Lowest asking price for buying, or lowest monthly payment for leasing."
          },
          "maxPrice": {
            "title": "Max price (GBP)",
            "minimum": 0,
            "type": "integer",
            "description": "Highest asking price for buying, or highest monthly payment for leasing."
          },
          "maxMileage": {
            "title": "Max mileage",
            "minimum": 0,
            "type": "integer",
            "description": "Highest odometer reading in miles. Only meaningful on used stock."
          },
          "minEngineLitres": {
            "title": "Min engine size (litres)",
            "minimum": 0,
            "type": "number",
            "description": "Smallest engine badge size, for example 1.5. Decimals are kept."
          },
          "maxEngineLitres": {
            "title": "Max engine size (litres)",
            "minimum": 0,
            "type": "number",
            "description": "Largest engine badge size, for example 2.0. Decimals are kept."
          },
          "minBootSpace": {
            "title": "Min boot space (litres)",
            "minimum": 0,
            "type": "integer",
            "description": "Smallest boot capacity in litres."
          },
          "minElectricRange": {
            "title": "Min electric range (miles)",
            "minimum": 0,
            "type": "integer",
            "description": "Smallest quoted electric range. Only applies to electric and hybrid cars."
          },
          "maxZeroToSixty": {
            "title": "Max 0-62 mph (seconds)",
            "minimum": 0,
            "type": "number",
            "description": "Slowest acceptable acceleration figure, for example 7.5."
          },
          "topSpeedBand": {
            "title": "Top speed band (mph)",
            "enum": [
              "",
              "0-100",
              "101-130",
              "131-160",
              "161-500"
            ],
            "type": "string",
            "description": "Carwow only exposes top speed as these four bands.",
            "default": ""
          },
          "minSafetyRating": {
            "title": "Min Euro NCAP stars",
            "enum": [
              "",
              "1",
              "2",
              "3",
              "4",
              "5"
            ],
            "type": "string",
            "description": "Lowest acceptable Euro NCAP safety rating.",
            "default": ""
          },
          "minSeats": {
            "title": "Min seats",
            "enum": [
              "",
              "2",
              "4",
              "5",
              "6",
              "7",
              "8",
              "9"
            ],
            "type": "string",
            "description": "Fewest seats the car must have.",
            "default": ""
          },
          "maxSeats": {
            "title": "Max seats",
            "enum": [
              "",
              "2",
              "4",
              "5",
              "6",
              "7",
              "8",
              "9"
            ],
            "type": "string",
            "description": "Most seats the car may have.",
            "default": ""
          },
          "evGrantOnly": {
            "title": "Electric Car Grant only",
            "type": "boolean",
            "description": "Only cars eligible for the UK Electric Car Grant. Carwow currently flags very few, so this narrows the search hard.",
            "default": false
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "",
              "recommended",
              "offer",
              "offer_desc",
              "vehicle_distance_travelled",
              "vehicle_registration_date",
              "vehicle_registration_date_desc",
              "best_match",
              "price_score",
              "timescale_upfront"
            ],
            "type": "string",
            "description": "Buying accepts recommended, price low to high, price high to low, mileage, newest and oldest. Leasing accepts best match, monthly price both ways, best deal score and lowest initial payment. A value the chosen deal type does not support is ignored by Carwow.",
            "default": ""
          },
          "contractLengths": {
            "title": "Contract length (months)",
            "type": "array",
            "description": "Leasing only. Carwow publishes 24, 36 and 48 month contracts.",
            "items": {
              "type": "string",
              "enum": [
                "24",
                "36",
                "48"
              ],
              "enumTitles": [
                "24 months",
                "36 months",
                "48 months"
              ]
            }
          },
          "annualMileages": {
            "title": "Annual mileage",
            "type": "array",
            "description": "Leasing only. Contract mileage allowance per year.",
            "items": {
              "type": "string",
              "enum": [
                "5000",
                "6000",
                "8000",
                "10000",
                "12000",
                "15000",
                "20000"
              ],
              "enumTitles": [
                "5,000",
                "6,000",
                "8,000",
                "10,000",
                "12,000",
                "15,000",
                "20,000"
              ]
            }
          },
          "upfrontMonths": {
            "title": "Initial payment (months)",
            "type": "array",
            "description": "Leasing only. Initial payment expressed as a multiple of the monthly rental.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "3",
                "6",
                "9",
                "12"
              ],
              "enumTitles": [
                "1 month",
                "3 months",
                "6 months",
                "9 months",
                "12 months"
              ]
            }
          },
          "leaseType": {
            "title": "Lease type",
            "enum": [
              "",
              "personal",
              "business"
            ],
            "type": "string",
            "description": "Leasing only. Personal contract hire or business contract hire.",
            "default": ""
          },
          "maintenanceIncluded": {
            "title": "Maintenance included",
            "type": "boolean",
            "description": "Leasing only. Restrict to contracts that bundle servicing and maintenance.",
            "default": false
          },
          "leaseyOnly": {
            "title": "Carwow Leasey only",
            "type": "boolean",
            "description": "Leasing only. Restrict to Carwow's own Leasey offers rather than broker listings.",
            "default": false
          },
          "includeDealDetails": {
            "title": "Include dealer and equipment details",
            "type": "boolean",
            "description": "Adds the selling dealer's name, phone number, town and rating plus the car's full feature and standard equipment list. Costs one extra request per row, so it roughly doubles the run time.",
            "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}