# Domain.com.au Real Estate Scraper (`khadinakbar/domain-com-au-real-estate-scraper`) Actor

Scrape Domain.com.au sale, rent, and sold Australian property listings. Use for comps, rental monitoring, and agent lead lists. Returns one row per listing with price, address, beds, baths, agents, photos, coordinates, and source URL. $0.004/listing + $0.00005 start.

- **URL**: https://apify.com/khadinakbar/domain-com-au-real-estate-scraper.md
- **Developed by:** [Khadin Akbar](https://apify.com/khadinakbar) (community)
- **Categories:** Real estate, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 listing returneds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Domain.com.au Real Estate Scraper

**Domain.com.au Real Estate Scraper** extracts Australian property listings from Domain.com.au for sale, rent, and sold inventory. Use it when you need suburb-level comps, rental supply monitoring, investor research, agency/agent lead lists, or a repeatable dataset for dashboards and market analysis.

Use this actor for Domain.com.au property search pages, suburb slugs, and individual listing URLs. Do not use it for Realestate.com.au, commercial portals, or standalone Domain agent-profile search.

### What Data Can You Extract?

| Field group | Examples |
| --- | --- |
| Listing identity | `listingId`, `listingUrl`, `listingType`, `status`, `sourceSearchUrl` |
| Price and property | `priceText`, `priceAmount`, `propertyType`, `bedrooms`, `bathrooms`, `parkingSpaces`, `landAreaSqm` |
| Location | `address`, `streetAddress`, `suburb`, `state`, `postcode`, `latitude`, `longitude` |
| Detail enrichment | `description`, `features`, `inspectionTimes`, `auctionDate`, `listedAt`, `soldDate` |
| Media and contacts | `imageUrls`, `floorplanUrls`, `videoUrl`, `agentNames`, `agentPhones`, `agencyName`, `agencyUrl` |
| Provenance | `scrapedAt`, `warnings` |

### When To Use It

- Build comparable sales and active-listing datasets across Australian suburbs.
- Monitor rentals by suburb, bedroom count, and price band.
- Export agent and agency attribution for real estate lead workflows.
- Run scheduled market supply snapshots from consistent Domain search URLs.
- Scrape a small set of detail URLs for richer property descriptions and media.

### Pricing

This actor uses **Pay per event + platform usage**.

| Event | Price |
| --- | ---: |
| Actor start | `$0.00005` |
| Listing returned | `$0.004` per validated dataset row |

Example: `100` listings cost about `$0.40` in listing events, plus the tiny actor-start event and Apify platform usage for compute/proxy traffic. The actor logs the maximum event charge at run start and stops at `maxResults`.

### Input Example

```json
{
  "listingType": "sale",
  "locations": ["sydney-nsw-2000"],
  "maxResults": 20,
  "maxPagesPerSearch": 1,
  "enrichDetails": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"],
    "apifyProxyCountry": "AU"
  }
}
````

You can also paste a filtered Domain.com.au search URL:

```json
{
  "startUrls": [{ "url": "https://www.domain.com.au/rent/melbourne-vic-3000/" }],
  "maxResults": 50,
  "enrichDetails": true
}
```

### Output Example

```json
{
  "listingId": "2020755515",
  "listingUrl": "https://www.domain.com.au/9-cox-avenue-bondi-beach-nsw-2026-2020755515",
  "sourceSearchUrl": "https://www.domain.com.au/sale/bondi-beach-nsw-2026/",
  "listingType": "sale",
  "priceText": "$1,250,000",
  "priceAmount": 1250000,
  "priceCurrency": "AUD",
  "address": "9 Cox Avenue, Bondi Beach NSW 2026",
  "bedrooms": 3,
  "bathrooms": 2,
  "parkingSpaces": 1,
  "agencyName": "Example Real Estate",
  "agentNames": ["Jane Smith"],
  "imageUrls": ["https://rimh2.domainstatic.com.au/example.jpg"],
  "scrapedAt": "2026-07-15T17:30:00.000Z",
  "warnings": []
}
```

### Reliability Notes

Domain.com.au is protected by Akamai. The default input uses Apify residential proxies with AU country targeting and a browser session pool. If Domain blocks every route before a listing is saved, the actor exits honestly as `UPSTREAM_FAILED` and writes `OUTPUT` plus `RUN_SUMMARY` instead of pretending an empty dataset is success.

Private validation on 2026-07-15 showed that individual listing URLs can return sparse but useful URL-derived rows, while search-page discovery still needs a stronger unblocker path before this actor is ready for public release.

The actor keeps dataset rows homogeneous and stores diagnostics in key-value records. `VALID_EMPTY` means the search loaded and no listings matched; `PARTIAL` means useful listings were saved but some requests or fields degraded.

### API Usage

```js
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('khadinakbar/domain-com-au-real-estate-scraper').call({
  listingType: 'rent',
  locations: ['melbourne-vic-3000'],
  maxResults: 25,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

### Related Workflow Steps

For broader real estate owner enrichment, combine exported addresses with a skip-trace or property-owner workflow after reviewing local compliance requirements. Keep Domain listing scraping separate from agent-profile scraping so the data contract remains one record per property listing.

### Legal And Compliance

This actor extracts publicly available web data from Domain.com.au. You are responsible for using the output lawfully, respecting applicable privacy, spam, contract, and real estate data rules, and honoring any obligations that apply to your use case.

### Feedback

Open an Apify issue with the run ID, input, and the field that looked wrong. Run IDs make it possible to inspect `RUN_SUMMARY`, blocked routes, and dataset validation details without guessing.

# Actor input Schema

## `startUrls` (type: `array`):

Use this when you already have Domain.com.au search pages or listing detail URLs. Accepts request-list items such as {"url":"https://www.domain.com.au/sale/sydney-nsw-2000/"}. Defaults to the location builder when empty. Not for realestate.com.au, agent profile search, or non-Domain URLs.

## `listingType` (type: `string`):

Use this to choose Domain inventory: sale, rent, or sold. Accepted values are sale, rent, and sold. Defaults to sale. Not a mixed-mode setting; run separate jobs for separate inventory types.

## `locations` (type: `array`):

Use this when building Domain search URLs from locations. Enter Domain slugs such as sydney-nsw-2000 or readable text such as Sydney NSW 2000. Defaults to sydney-nsw-2000. Not used for non-empty startUrls that already point to search pages.

## `maxResults` (type: `integer`):

Use this as a hard cap on records pushed and charged. Accepted range is 1 to 1000, for example 50. Defaults to 20. Not a page count; pagination stops when this many listings are persisted.

## `maxPagesPerSearch` (type: `integer`):

Use this to limit pagination for each Domain search URL or generated location. Accepted range is 1 to 25, where each search page usually exposes around 20 listings. Defaults to 1 for a fast health-check run. Not a result cap; maxListings controls billing.

## `enrichDetails` (type: `boolean`):

Use this to visit each listing page for richer descriptions, features, media, coordinates, and agent fields. Detail enrichment is slower but improves completeness. Defaults to true. Not required when you only need search-card fields quickly.

## `propertyTypes` (type: `array`):

Use this to keep only matching property categories after extraction. Accepted values include house, apartment, townhouse, villa, land, rural, studio, and unitBlock. Defaults to all property types. Not a guarantee that Domain's upstream page will expose only these types.

## `minBedrooms` (type: `integer`):

Use this to filter known bedroom counts after extraction. Accepted range is 0 to 20, for example 2. Defaults to 0. Not a text keyword filter; unknown bedroom counts are kept unless detail enrichment resolves them.

## `maxBedrooms` (type: `integer`):

Use this to filter known bedroom counts after extraction. Accepted range is 0 to 20, where 0 means no maximum. Defaults to 0. Not applied to listings whose bedroom count is unavailable from Domain.

## `minPrice` (type: `integer`):

Use this to filter known list, rent, or sold prices in AUD. Accepted values are whole Australian dollars, for example 750000. Defaults to 0. Not applied when Domain only exposes price text such as Contact agent.

## `maxPrice` (type: `integer`):

Use this to filter known list, rent, or sold prices in AUD. Accepted values are whole Australian dollars, for example 1500000. Defaults to 0 for no maximum. Not applied to price-on-application listings without numeric price data.

## `auctionOnly` (type: `boolean`):

Use this when you only want listings that Domain marks as auctions. The actor checks extracted sale method and auction-date fields. Defaults to false. Not meaningful for most rental searches.

## `excludeUnderOffer` (type: `boolean`):

Use this to request active listings without under-offer stock where Domain supports that URL filter. The actor also post-filters obvious under-offer status text. Defaults to true for sale searches. Not a guarantee if the upstream page omits status labels.

## `sortOrder` (type: `string`):

Use this to pass a Domain search sort hint on generated location URLs. Accepted values are newest, priceLow, priceHigh, and default. Defaults to newest. Not used when startUrls already include their own sort query.

## `maxConcurrency` (type: `integer`):

Use this to tune parallel page visits. Accepted range is 1 to 5; lower values are gentler on Domain and proxies. Defaults to 2. Not a result limit or billing cap.

## `requestDelayMillis` (type: `integer`):

Use this to slow down navigation and reduce block risk. Accepted range is 0 to 10000 milliseconds, for example 1200. Defaults to 900. Not a timeout setting.

## `proxyConfiguration` (type: `object`):

Use this to override the default Apify residential AU proxy. Defaults to Apify RESIDENTIAL with AU country targeting because Domain uses Akamai. Keep the default unless you know your proxy can access Domain.com.au. Not a place for cookies or credentials.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.domain.com.au/1502-98-gloucester-street-sydney-nsw-2000-2020996774"
    }
  ],
  "listingType": "sale",
  "locations": [
    "bondi-beach-nsw-2026",
    "melbourne-vic-3000"
  ],
  "maxResults": 1,
  "maxPagesPerSearch": 1,
  "enrichDetails": true,
  "propertyTypes": [],
  "minBedrooms": 0,
  "maxBedrooms": 0,
  "minPrice": 0,
  "maxPrice": 0,
  "auctionOnly": false,
  "excludeUnderOffer": true,
  "sortOrder": "newest",
  "maxConcurrency": 2,
  "requestDelayMillis": 900,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "AU"
  }
}
```

# Actor output Schema

## `results` (type: `string`):

All scraped Domain.com.au property listing records for this run.

## `output` (type: `string`):

Compact run outcome and charge summary.

## `runSummary` (type: `string`):

Detailed run diagnostics, warnings, and acceptance-gate evidence fields.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        {
            "url": "https://www.domain.com.au/1502-98-gloucester-street-sydney-nsw-2000-2020996774"
        }
    ],
    "listingType": "sale",
    "locations": [
        "sydney-nsw-2000"
    ],
    "maxResults": 1,
    "maxPagesPerSearch": 1,
    "enrichDetails": true,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "AU"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("khadinakbar/domain-com-au-real-estate-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": [{ "url": "https://www.domain.com.au/1502-98-gloucester-street-sydney-nsw-2000-2020996774" }],
    "listingType": "sale",
    "locations": ["sydney-nsw-2000"],
    "maxResults": 1,
    "maxPagesPerSearch": 1,
    "enrichDetails": True,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "AU",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("khadinakbar/domain-com-au-real-estate-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://www.domain.com.au/1502-98-gloucester-street-sydney-nsw-2000-2020996774"
    }
  ],
  "listingType": "sale",
  "locations": [
    "sydney-nsw-2000"
  ],
  "maxResults": 1,
  "maxPagesPerSearch": 1,
  "enrichDetails": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "AU"
  }
}' |
apify call khadinakbar/domain-com-au-real-estate-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=khadinakbar/domain-com-au-real-estate-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Domain.com.au Real Estate Scraper",
        "description": "Scrape Domain.com.au sale, rent, and sold Australian property listings. Use for comps, rental monitoring, and agent lead lists. Returns one row per listing with price, address, beds, baths, agents, photos, coordinates, and source URL. $0.004/listing + $0.00005 start.",
        "version": "1.0",
        "x-build-id": "RIIYYanYndjatyg0E"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/khadinakbar~domain-com-au-real-estate-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-khadinakbar-domain-com-au-real-estate-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/khadinakbar~domain-com-au-real-estate-scraper/runs": {
            "post": {
                "operationId": "runs-sync-khadinakbar-domain-com-au-real-estate-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/khadinakbar~domain-com-au-real-estate-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-khadinakbar-domain-com-au-real-estate-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": "Domain.com.au search or listing URLs",
                        "type": "array",
                        "description": "Use this when you already have Domain.com.au search pages or listing detail URLs. Accepts request-list items such as {\"url\":\"https://www.domain.com.au/sale/sydney-nsw-2000/\"}. Defaults to the location builder when empty. Not for realestate.com.au, agent profile search, or non-Domain URLs.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL",
                                    "description": "Domain.com.au search or listing URL to scrape."
                                }
                            }
                        },
                        "default": []
                    },
                    "listingType": {
                        "title": "Listing type",
                        "enum": [
                            "sale",
                            "rent",
                            "sold"
                        ],
                        "type": "string",
                        "description": "Use this to choose Domain inventory: sale, rent, or sold. Accepted values are sale, rent, and sold. Defaults to sale. Not a mixed-mode setting; run separate jobs for separate inventory types.",
                        "default": "sale"
                    },
                    "locations": {
                        "title": "Suburb or region slugs",
                        "type": "array",
                        "description": "Use this when building Domain search URLs from locations. Enter Domain slugs such as sydney-nsw-2000 or readable text such as Sydney NSW 2000. Defaults to sydney-nsw-2000. Not used for non-empty startUrls that already point to search pages.",
                        "items": {
                            "type": "string"
                        },
                        "default": [
                            "sydney-nsw-2000"
                        ]
                    },
                    "maxResults": {
                        "title": "Max listings",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Use this as a hard cap on records pushed and charged. Accepted range is 1 to 1000, for example 50. Defaults to 20. Not a page count; pagination stops when this many listings are persisted.",
                        "default": 20
                    },
                    "maxPagesPerSearch": {
                        "title": "Max pages per search",
                        "minimum": 1,
                        "maximum": 25,
                        "type": "integer",
                        "description": "Use this to limit pagination for each Domain search URL or generated location. Accepted range is 1 to 25, where each search page usually exposes around 20 listings. Defaults to 1 for a fast health-check run. Not a result cap; maxListings controls billing.",
                        "default": 1
                    },
                    "enrichDetails": {
                        "title": "Visit listing detail pages",
                        "type": "boolean",
                        "description": "Use this to visit each listing page for richer descriptions, features, media, coordinates, and agent fields. Detail enrichment is slower but improves completeness. Defaults to true. Not required when you only need search-card fields quickly.",
                        "default": true
                    },
                    "propertyTypes": {
                        "title": "Property types",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Use this to keep only matching property categories after extraction. Accepted values include house, apartment, townhouse, villa, land, rural, studio, and unitBlock. Defaults to all property types. Not a guarantee that Domain's upstream page will expose only these types.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "house",
                                "apartment",
                                "townhouse",
                                "villa",
                                "land",
                                "rural",
                                "studio",
                                "unitBlock"
                            ]
                        },
                        "default": []
                    },
                    "minBedrooms": {
                        "title": "Min bedrooms",
                        "minimum": 0,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Use this to filter known bedroom counts after extraction. Accepted range is 0 to 20, for example 2. Defaults to 0. Not a text keyword filter; unknown bedroom counts are kept unless detail enrichment resolves them.",
                        "default": 0
                    },
                    "maxBedrooms": {
                        "title": "Max bedrooms",
                        "minimum": 0,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Use this to filter known bedroom counts after extraction. Accepted range is 0 to 20, where 0 means no maximum. Defaults to 0. Not applied to listings whose bedroom count is unavailable from Domain.",
                        "default": 0
                    },
                    "minPrice": {
                        "title": "Min price AUD",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Use this to filter known list, rent, or sold prices in AUD. Accepted values are whole Australian dollars, for example 750000. Defaults to 0. Not applied when Domain only exposes price text such as Contact agent.",
                        "default": 0
                    },
                    "maxPrice": {
                        "title": "Max price AUD",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Use this to filter known list, rent, or sold prices in AUD. Accepted values are whole Australian dollars, for example 1500000. Defaults to 0 for no maximum. Not applied to price-on-application listings without numeric price data.",
                        "default": 0
                    },
                    "auctionOnly": {
                        "title": "Auction listings only",
                        "type": "boolean",
                        "description": "Use this when you only want listings that Domain marks as auctions. The actor checks extracted sale method and auction-date fields. Defaults to false. Not meaningful for most rental searches.",
                        "default": false
                    },
                    "excludeUnderOffer": {
                        "title": "Exclude under-offer listings",
                        "type": "boolean",
                        "description": "Use this to request active listings without under-offer stock where Domain supports that URL filter. The actor also post-filters obvious under-offer status text. Defaults to true for sale searches. Not a guarantee if the upstream page omits status labels.",
                        "default": true
                    },
                    "sortOrder": {
                        "title": "Sort order",
                        "enum": [
                            "newest",
                            "priceLow",
                            "priceHigh",
                            "default"
                        ],
                        "type": "string",
                        "description": "Use this to pass a Domain search sort hint on generated location URLs. Accepted values are newest, priceLow, priceHigh, and default. Defaults to newest. Not used when startUrls already include their own sort query.",
                        "default": "newest"
                    },
                    "maxConcurrency": {
                        "title": "Max browser concurrency",
                        "minimum": 1,
                        "maximum": 5,
                        "type": "integer",
                        "description": "Use this to tune parallel page visits. Accepted range is 1 to 5; lower values are gentler on Domain and proxies. Defaults to 2. Not a result limit or billing cap.",
                        "default": 2
                    },
                    "requestDelayMillis": {
                        "title": "Delay between browser actions",
                        "minimum": 0,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Use this to slow down navigation and reduce block risk. Accepted range is 0 to 10000 milliseconds, for example 1200. Defaults to 900. Not a timeout setting.",
                        "default": 900
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Use this to override the default Apify residential AU proxy. Defaults to Apify RESIDENTIAL with AU country targeting because Domain uses Akamai. Keep the default unless you know your proxy can access Domain.com.au. Not a place for cookies or credentials.",
                        "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
                                    }
                                }
                            },
                            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
