{
  "openapi": "3.0.1",
  "info": {
    "title": "Australia Used Car Scraper & Price Drops (Unofficial Carsales)",
    "description": "Scrape used and new car listings from Carsales.com.au (unofficial) by make, model, state, price and year. Get hundreds of cars per search with deal ratings against similar cars, and schedule monitor mode to catch new cars, price drops and removed listings. JSON, CSV or Excel.",
    "version": "0.2",
    "x-build-id": "xNQrOkEsqN2OmAADc"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/getascraper~carsales-au-cars-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-getascraper-carsales-au-cars-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/getascraper~carsales-au-cars-scraper/runs": {
      "post": {
        "operationId": "runs-sync-getascraper-carsales-au-cars-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/getascraper~carsales-au-cars-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-getascraper-carsales-au-cars-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": "Carsales search links (optional)",
            "type": "array",
            "description": "Paste Carsales.com.au search links, for example a make page like /cars/toyota/ or a link copied from your browser. Filters inside a pasted link are converted where possible. Leave empty to use the search form below.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "make": {
            "title": "Make",
            "type": "string",
            "description": "Car make, for example Toyota, Mazda or Land Rover.",
            "default": ""
          },
          "model": {
            "title": "Model",
            "type": "string",
            "description": "Car model, for example Corolla or CX-5. Needs a make.",
            "default": ""
          },
          "condition": {
            "title": "Condition",
            "enum": [
              "",
              "New",
              "Used"
            ],
            "type": "string",
            "description": "Only new cars, or only used, demo and near-new cars.",
            "default": ""
          },
          "sellerType": {
            "title": "Seller type",
            "enum": [
              "",
              "Dealer",
              "Private"
            ],
            "type": "string",
            "description": "Only cars sold by dealers or by private sellers.",
            "default": ""
          },
          "bodyType": {
            "title": "Body type",
            "enum": [
              "",
              "Bus",
              "Cab Chassis",
              "Convertible",
              "Coupe",
              "Hatch",
              "Light Truck",
              "People Mover",
              "Sedan",
              "SUV",
              "Ute",
              "Van",
              "Wagon"
            ],
            "type": "string",
            "description": "Only listings of this body style.",
            "default": ""
          },
          "transmission": {
            "title": "Transmission",
            "enum": [
              "",
              "Automatic",
              "Manual",
              "AMT"
            ],
            "type": "string",
            "description": "Only listings with this transmission.",
            "default": ""
          },
          "fuelType": {
            "title": "Fuel type",
            "enum": [
              "",
              "Petrol",
              "Diesel",
              "Hybrid",
              "Electric",
              "Plug in Hybrid",
              "Dual Fuel",
              "Gas Only"
            ],
            "type": "string",
            "description": "Only listings with this fuel type.",
            "default": ""
          },
          "colour": {
            "title": "Colour",
            "enum": [
              "",
              "Beige",
              "Black",
              "Blue",
              "Bronze",
              "Brown",
              "Burgundy",
              "Gold",
              "Green",
              "Grey",
              "Magenta",
              "Maroon",
              "Orange",
              "Pink",
              "Purple",
              "Red",
              "Silver",
              "White",
              "Yellow"
            ],
            "type": "string",
            "description": "Only listings in this body colour.",
            "default": ""
          },
          "keywords": {
            "title": "Title keywords",
            "type": "array",
            "description": "Keep only cars whose title or trim contains at least one of these words, for example Hybrid or GR.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "state": {
            "title": "State or territory",
            "enum": [
              "",
              "NSW",
              "VIC",
              "QLD",
              "WA",
              "SA",
              "TAS",
              "ACT",
              "NT"
            ],
            "type": "string",
            "description": "Only listings advertised in this state or territory.",
            "default": ""
          },
          "priceMin": {
            "title": "Minimum price (AUD)",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Only cars priced at or above this amount."
          },
          "priceMax": {
            "title": "Maximum price (AUD)",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Only cars priced at or below this amount."
          },
          "yearMin": {
            "title": "Minimum model year",
            "minimum": 1900,
            "maximum": 2100,
            "type": "integer",
            "description": "Only cars from this model year or newer."
          },
          "yearMax": {
            "title": "Maximum model year",
            "minimum": 1900,
            "maximum": 2100,
            "type": "integer",
            "description": "Only cars from this model year or older."
          },
          "odometerMax": {
            "title": "Maximum odometer (km)",
            "minimum": 0,
            "maximum": 5000000,
            "type": "integer",
            "description": "Only cars with an odometer reading at or below this value."
          },
          "marketStats": {
            "title": "Add market position",
            "type": "boolean",
            "description": "Compare each car with similar cars collected in the same run: median price, how far above or below it sits, and a deal rating. Shown only when at least 5 similar cars were collected.",
            "default": true
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Give this search a name to turn on monitor mode. Each run then marks cars as NEW, PRICE_DROP, PRICE_RISE, UPDATED or REMOVED_OR_SOLD and keeps a price history. Reuse the same name on every scheduled run. The first run is the baseline. Leave empty for a one-off run.",
            "default": ""
          },
          "onlyChanges": {
            "title": "Return only changes",
            "type": "boolean",
            "description": "In monitor mode, return only new, changed and removed cars. Unchanged cars are not returned and not charged.",
            "default": true
          },
          "fetchDetails": {
            "title": "Fetch full detail pages",
            "type": "boolean",
            "description": "Kept for existing setups. Detail pages are not available right now, so every row carries the fields shown on the search results either way.",
            "default": false
          },
          "maxItems": {
            "title": "Maximum listings",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Maximum number of cars to return. The Actor splits large searches into smaller ones to reach this number.",
            "default": 25
          },
          "maxSearchPages": {
            "title": "Maximum search pages",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Most Carsales result pages to read for each search. Each page holds about 25 to 30 cars, so raise this together with Maximum listings.",
            "default": 10
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Carsales blocks most automated traffic, so an Australian residential proxy is on by default. Turning it off will make almost every run return nothing.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "AU"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}