{
  "openapi": "3.0.1",
  "info": {
    "title": "Domain.com.au Scraper — Rent, Sale & Sold Listings",
    "description": "[💰 $1.3 / 1K] Extract rent, for-sale and recently sold property listings from Domain.com.au with 18 built-in filters — property type, bedrooms, price, land size, features. Get prices, GPS coordinates, photos, agent contacts, school catchments and suburb market stats.",
    "version": "1.0",
    "x-build-id": "Tk754p5IaYQDck0V2"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/solidcode~domain-com-au-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-solidcode-domain-com-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/solidcode~domain-com-au-scraper/runs": {
      "post": {
        "operationId": "runs-sync-solidcode-domain-com-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/solidcode~domain-com-au-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-solidcode-domain-com-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",
        "properties": {
          "searchUrls": {
            "title": "Search URLs",
            "type": "array",
            "description": "Optional. Paste one or more domain.com.au SEARCH result URLs -- set the filters you want on the website, then copy the whole address bar. When you use this, the filters below are ignored. Suburb searches (/rent/sydney-nsw-2000/), region and state searches (/sale/melbourne-region-vic/, /sale/nsw/), searches that already carry filters in the address (?bedrooms=2-any&price=0-800000) and Domain's own filter paths (/sale/sydney-nsw-2000/house/3-bedrooms/) all work, and paging continues from whatever you pasted. A single property page works too and returns that one property. Agent and agency profile pages are not searches and will be reported as a failed search in the run log.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "searchMode": {
            "title": "What to scrape",
            "enum": [
              "rent",
              "sale",
              "sold-listings"
            ],
            "type": "string",
            "description": "Rentals, listings for sale, or recently sold properties. Sold results include the sale price and sale date where the agent disclosed them.",
            "default": "rent"
          },
          "area": {
            "title": "Location",
            "type": "string",
            "description": "A Domain location slug. Suburbs look like sydney-nsw-2000 or bondi-beach-nsw-2026, regions like sydney-region-nsw or melbourne-region-vic, and a whole state is just nsw, vic, qld, wa, sa, tas, act or nt. The easiest way to get one right is to search on domain.com.au and copy the piece of the address bar that comes after /rent/ or /sale/.",
            "default": "sydney-nsw-2000"
          },
          "propertyType": {
            "title": "Property type",
            "enum": [
              "",
              "house",
              "free-standing",
              "semi-detached",
              "duplex",
              "terrace",
              "villa",
              "town-house",
              "apartment",
              "apartment-unit-flat",
              "studio",
              "pent-house",
              "block-of-units",
              "new-apartments",
              "new-house-land",
              "new-home-designs",
              "vacant-land",
              "new-land",
              "development-site",
              "rural",
              "rural-lifestyle"
            ],
            "type": "string",
            "description": "One property type per run. \"House (all kinds)\" and \"Apartment or unit (all kinds)\" are the site's own umbrella groups and cover every sub-type beneath them; pick a specific sub-type to narrow further.",
            "default": ""
          },
          "minBedrooms": {
            "title": "Bedrooms (minimum)",
            "enum": [
              "",
              "1-any",
              "2-any",
              "3-any",
              "4-any",
              "5-any"
            ],
            "type": "string",
            "description": "Domain caps this at 5, so \"5 or more\" is the top of the scale. Studios count as zero bedrooms and are only excluded once you set a minimum.",
            "default": ""
          },
          "minBathrooms": {
            "title": "Bathrooms (minimum)",
            "enum": [
              "",
              "1-any",
              "2-any",
              "3-any",
              "4-any",
              "5-any"
            ],
            "type": "string",
            "description": "Domain caps this at 5, so \"5 or more\" is the top of the scale.",
            "default": ""
          },
          "minCarSpaces": {
            "title": "Car spaces (minimum)",
            "enum": [
              "",
              "1-any",
              "2-any",
              "3-any",
              "4-any",
              "5-any"
            ],
            "type": "string",
            "description": "Garages, carports and open parking all count. Domain caps this at 5.",
            "default": ""
          },
          "priceRange": {
            "title": "Price range",
            "type": "string",
            "description": "Written as low-high, e.g. 500000-800000. Use \"any\" for an open end -- 800000-any for \"at least $800,000\", 0-600000 for \"up to $600,000\". For rentals this is the WEEKLY rent, so 400-700 rather than 400000-700000. Anything that is not two numbers is rejected by Domain.",
            "default": ""
          },
          "landSize": {
            "title": "Land size",
            "type": "string",
            "description": "Written the same way as the price range, e.g. 400-any for \"at least 400\", or 600-1200 for a band. Set the unit below.",
            "default": ""
          },
          "landSizeUnit": {
            "title": "Land size unit",
            "enum": [
              "",
              "ha"
            ],
            "type": "string",
            "description": "Only matters when you set a land size. Rural blocks are usually measured in hectares; suburban blocks in square metres.",
            "default": ""
          },
          "feature": {
            "title": "Must have this feature",
            "enum": [
              "",
              "airconditioning",
              "balconydeck",
              "builtinwardrobes",
              "dishwasher",
              "ensuite",
              "fullyfenced",
              "gardencourtyard",
              "gas",
              "heating",
              "internallaundry",
              "petsallowed",
              "secureparking",
              "solarhotwater",
              "study",
              "swimmingpool",
              "furnished"
            ],
            "type": "string",
            "description": "One feature per run, using Domain's own feature list. \"Pets allowed\" and \"Furnished\" are rental-oriented but work on every search type.",
            "default": ""
          },
          "keywords": {
            "title": "Keywords",
            "type": "string",
            "description": "Free text matched against the agent's own listing copy -- \"granny flat\", \"ocean views\", \"renovated\". Multi-word phrases are fine.",
            "default": ""
          },
          "propertyAge": {
            "title": "New or established",
            "enum": [
              "",
              "new",
              "established"
            ],
            "type": "string",
            "description": "\"New\" covers off-the-plan, house-and-land and newly built stock; \"Established\" is everything previously lived in.",
            "default": ""
          },
          "retirementOnly": {
            "title": "Retirement living only",
            "enum": [
              "",
              "1"
            ],
            "type": "string",
            "description": "Restricts the search to over-55s and retirement-village listings.",
            "default": ""
          },
          "includeSurroundingSuburbs": {
            "title": "Include surrounding suburbs",
            "enum": [
              "",
              "0"
            ],
            "type": "string",
            "description": "Domain widens a suburb search into its neighbours by default. Turning this off usually cuts the result count by roughly two thirds and every row then carries the suburb you asked for.",
            "default": ""
          },
          "hideUnderOffer": {
            "title": "For-sale searches: hide listings already under offer",
            "enum": [
              "",
              "1"
            ],
            "type": "string",
            "description": "Only for \"Properties for sale\". Domain rejects this option on rental and sold searches.",
            "default": ""
          },
          "hideDepositTaken": {
            "title": "Rental searches: hide listings with a deposit taken",
            "enum": [
              "",
              "1"
            ],
            "type": "string",
            "description": "Only for \"Properties for rent\". Domain rejects this option on for-sale and sold searches.",
            "default": ""
          },
          "hidePriceWithheld": {
            "title": "Sold searches: hide sales with the price withheld",
            "enum": [
              "",
              "1"
            ],
            "type": "string",
            "description": "Only for \"Recently sold properties\". Roughly a fifth of sold listings never disclose a price; this drops them so every row you pay for has one. Domain rejects this option on for-sale and rental searches.",
            "default": ""
          },
          "sortBy": {
            "title": "Sort results by",
            "enum": [
              "",
              "price-asc",
              "price-desc",
              "dateupdated-desc",
              "dateupdated-asc",
              "suburb-asc",
              "solddate-desc",
              "inspectiontime-asc"
            ],
            "type": "string",
            "description": "Domain's own sort options. Sold searches are already newest-sale-first unless you change this.",
            "default": ""
          },
          "maxItems": {
            "title": "Max results",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum listings per search URL (0 = collect everything each search returns). Domain.com.au pages through at most 5,000 listings per search, so use several narrower searches to collect more.",
            "default": 100
          },
          "enrichDetails": {
            "title": "Include full details",
            "type": "boolean",
            "description": "Add 41 extra fields per listing. Adds one request per listing and is billed at the higher rate.",
            "default": false
          },
          "concurrency": {
            "title": "Concurrency",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many requests to run in parallel. Lower this if you see failures.",
            "default": 8
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Proxy settings for the run.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}