{
  "openapi": "3.0.1",
  "info": {
    "title": "Carsales AU $1💰 Powerful Filters + Deep Search",
    "description": "From $1/1K. The fastest, cheapest way to pull structured vehicle listings from carsales.com.au. Point it at a search, get back clean JSON with 30+ fields per listing. built for dealers, analysts, pricing tools, and real-time data pipelines.",
    "version": "1.0",
    "x-build-id": "exdkBOnZgCdgs8Hep"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/abotapi~carsales-au-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-abotapi-carsales-au-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/abotapi~carsales-au-scraper/runs": {
      "post": {
        "operationId": "runs-sync-abotapi-carsales-au-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/abotapi~carsales-au-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-abotapi-carsales-au-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",
        "required": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "Search mode",
            "enum": [
              "search",
              "url"
            ],
            "type": "string",
            "description": "Choose how to find listings. Only fields belonging to the chosen mode are used.",
            "default": "search"
          },
          "urls": {
            "title": "URLs (URL mode only)",
            "type": "array",
            "description": "Carsales search URLs to scrape. Each URL auto-paginates forward until Maximum Pages or Maximum Listings. Ignored in Search mode. Example: https://www.carsales.com.au/cars/used/toyota/corolla/new-south-wales-state/",
            "items": {
              "type": "string"
            }
          },
          "condition": {
            "title": "Condition",
            "enum": [
              "all",
              "new",
              "used",
              "demo"
            ],
            "type": "string",
            "description": "Vehicle condition (Search mode only).",
            "default": "used"
          },
          "sellerType": {
            "title": "Seller type",
            "enum": [
              "all",
              "dealer",
              "private"
            ],
            "type": "string",
            "description": "Dealer / Private / All (Search mode only).",
            "default": "all"
          },
          "make": {
            "title": "Make",
            "type": "string",
            "description": "Manufacturer, e.g. Toyota, Ford, BMW. Leave empty for all makes. (Search mode only)"
          },
          "model": {
            "title": "Model",
            "type": "string",
            "description": "Model name, e.g. Corolla, Ranger, X5. Requires a Make. (Search mode only)"
          },
          "bodyType": {
            "title": "Body type",
            "enum": [
              "",
              "suv",
              "sedan",
              "hatch",
              "wagon",
              "coupe",
              "convertible",
              "ute",
              "van",
              "bus",
              "cab-chassis",
              "people-mover"
            ],
            "type": "string",
            "description": "Body shape (Search mode only).",
            "default": ""
          },
          "state": {
            "title": "State",
            "enum": [
              "",
              "nsw",
              "vic",
              "qld",
              "sa",
              "wa",
              "tas",
              "act",
              "nt"
            ],
            "type": "string",
            "description": "Australian state (Search mode only).",
            "default": ""
          },
          "transmission": {
            "title": "Transmission",
            "enum": [
              "",
              "automatic",
              "manual"
            ],
            "type": "string",
            "description": "Gearbox (Search mode only).",
            "default": ""
          },
          "fuelType": {
            "title": "Fuel type",
            "enum": [
              "",
              "petrol",
              "diesel",
              "hybrid",
              "plug-in-hybrid",
              "electric",
              "dual-fuel"
            ],
            "type": "string",
            "description": "Fuel type (Search mode only).",
            "default": ""
          },
          "colour": {
            "title": "Colour",
            "type": "string",
            "description": "Exterior colour, e.g. black, white, blue, silver, grey, red. (Search mode only)"
          },
          "cylinders": {
            "title": "Cylinders",
            "minimum": 1,
            "maximum": 16,
            "type": "integer",
            "description": "Engine cylinders (3, 4, 6, 8, 12). Search mode only."
          },
          "doors": {
            "title": "Doors",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Number of doors (2, 3, 4, 5). Search mode only."
          },
          "priceMin": {
            "title": "Minimum price (AUD)",
            "minimum": 0,
            "type": "integer",
            "description": "Lower bound for price. Search mode only. Can be combined with Maximum price."
          },
          "priceMax": {
            "title": "Maximum price (AUD)",
            "minimum": 0,
            "type": "integer",
            "description": "Upper bound for price. Search mode only."
          },
          "yearMin": {
            "title": "Minimum year",
            "minimum": 1900,
            "maximum": 2100,
            "type": "integer",
            "description": "Oldest model year. Search mode only."
          },
          "yearMax": {
            "title": "Maximum year",
            "minimum": 1900,
            "maximum": 2100,
            "type": "integer",
            "description": "Newest model year. Search mode only."
          },
          "odometerMin": {
            "title": "Minimum odometer (km)",
            "minimum": 0,
            "type": "integer",
            "description": "Lower bound for kilometers. Search mode only."
          },
          "odometerMax": {
            "title": "Maximum odometer (km)",
            "minimum": 0,
            "type": "integer",
            "description": "Upper bound for kilometers. Search mode only."
          },
          "postcode": {
            "title": "Postcode",
            "pattern": "^[0-9]{4}$",
            "type": "string",
            "description": "4-digit Australian postcode. Search mode only."
          },
          "radiusKm": {
            "title": "Radius (km)",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Search radius around postcode. Ignored if Postcode is empty."
          },
          "sortBy": {
            "title": "Sort order",
            "enum": [
              "featured",
              "price-asc",
              "price-desc",
              "km-asc",
              "km-desc",
              "year-desc",
              "year-asc"
            ],
            "type": "string",
            "description": "Sort order (Search mode only; in URL mode the URL's sort is used).",
            "default": "featured"
          },
          "fetchDetails": {
            "title": "Fetch full details",
            "type": "boolean",
            "description": "Fetch each listing's detail page for extra fields (VIN, full feature list, description, dealer comments, seller phone). Slower but reuses the same warmed session and adds no extra credits per listing.",
            "default": true
          },
          "maxListings": {
            "title": "Maximum listings",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after scraping this many listings across the whole run. Leave empty for unlimited.",
            "default": 30
          },
          "maxPages": {
            "title": "Maximum pages per search",
            "minimum": 1,
            "type": "integer",
            "description": "In Search mode: max pages to walk forward (~30 listings per page). In URL mode: max pages per URL.",
            "default": 20
          },
          "proxyConfiguration": {
            "title": "Proxy configuration (RESIDENTIAL required)",
            "type": "object",
            "description": "This actor REQUIRES Apify RESIDENTIAL proxy with country AU. Datacenter and free-tier proxy groups are pre-flagged by carsales and will return 0 listings. If your plan lacks residential, upgrade at apify.com/pricing or paste your own residential proxy URLs."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}