{
  "openapi": "3.0.1",
  "info": {
    "title": "Carsales.com.au Cars Scraper: Used car listings",
    "description": "Extract used and new car listings from Carsales.com.au, Australia's largest car marketplace, with make, model, price, odometer reading, fuel type, transmission, and seller details. JSON or CSV rows ready for Sheets, Make, and Zapier.",
    "version": "0.1",
    "x-build-id": "XM3kDZ3bnob35g9MB"
  },
  "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": "Start URLs (optional)",
            "type": "array",
            "description": "Paste one or more Carsales.com.au listing links, such as the general new-and-used search at /cars/, a make page like /cars/toyota/, or a make-and-model page like /cars/toyota/corolla/. Leave empty to use the general /cars/ search. Links with a ? in them (Carsales' own filter/sort URLs) are skipped, since Carsales' own site rules block those for automated tools; use the plain link without the ? part instead.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "priceMin": {
            "title": "Minimum Price (AUD)",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Only return listings priced at or above this amount. Leave blank for no minimum."
          },
          "priceMax": {
            "title": "Maximum Price (AUD)",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Only return listings priced at or below this amount. Leave blank for no maximum."
          },
          "yearMin": {
            "title": "Minimum Model Year",
            "minimum": 1900,
            "maximum": 2100,
            "type": "integer",
            "description": "Only return listings from this model year or newer. Leave blank for no minimum."
          },
          "yearMax": {
            "title": "Maximum Model Year",
            "minimum": 1900,
            "maximum": 2100,
            "type": "integer",
            "description": "Only return listings from this model year or older. Leave blank for no maximum."
          },
          "odometerMax": {
            "title": "Maximum Odometer Reading (km)",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Only return listings with an odometer reading at or below this many kilometres. Leave blank for no limit."
          },
          "transmission": {
            "title": "Transmission",
            "enum": [
              "",
              "Automatic",
              "Manual"
            ],
            "type": "string",
            "description": "Only return listings with this transmission type.",
            "default": ""
          },
          "fuelType": {
            "title": "Fuel Type",
            "enum": [
              "",
              "Petrol",
              "Diesel",
              "Hybrid",
              "Electric",
              "Plug in Hybrid",
              "Dual Fuel",
              "Gas Only"
            ],
            "type": "string",
            "description": "Only return listings with this fuel type.",
            "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 return listings of this body style.",
            "default": ""
          },
          "state": {
            "title": "State / Territory",
            "enum": [
              "",
              "NSW",
              "VIC",
              "QLD",
              "WA",
              "SA",
              "TAS",
              "ACT",
              "NT"
            ],
            "type": "string",
            "description": "Only return listings advertised in this Australian state or territory.",
            "default": ""
          },
          "condition": {
            "title": "Condition",
            "enum": [
              "",
              "New",
              "Used"
            ],
            "type": "string",
            "description": "Only return new listings, or only used, demo, and near-new listings.",
            "default": ""
          },
          "fetchDetails": {
            "title": "Fetch full detail pages",
            "type": "boolean",
            "description": "When on, the Actor opens each car's own listing page to add fields the search results page does not show: odometer reading, fuel type, transmission, body type, drive type, doors, seats, engine size, and seller details. Turn off for a faster, cheaper run that keeps only the fields visible on the search page (title, make, model, year, price, and photos). Only the first 10 new listings per run get a detail fetch (each one needs its own browser session); listings already fetched in a previous run are reused for free. Run again to cover more listings.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Carsales.com.au actively blocks automated traffic, so a residential proxy is on by default. Turning this off will make almost every run fail.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "AU"
            }
          },
          "maxItems": {
            "title": "Maximum Listings",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum number of unique car listings to return.",
            "default": 25
          },
          "maxSearchPages": {
            "title": "Maximum Search Pages per Start URL",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Reserved for future pagination support. Carsales' own site rules currently block the query-string page links automated tools would otherwise use for page 2 and beyond, so each start URL contributes one page of results today.",
            "default": 1
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}