# Domain.com.au Property Valuation Report (`codingfrontend/domain-valuation-report`) Actor

Get property value estimates from Domain.com.au using their property valuation feature, including estimated ranges, capital growth, and suburb stats.

- **URL**: https://apify.com/codingfrontend/domain-valuation-report.md
- **Developed by:** [Coding Frontned](https://apify.com/codingfrontend) (community)
- **Categories:** Real estate
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.99 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

### What does this Actor do?

This Actor extracts **publicly displayed property valuation information** from [Domain.com.au](https://www.domain.com.au/) for a list of Australian property addresses. It is an evidence-gated **Domain.com.au API alternative**: it reads public property pages only and returns a diagnostic record when labelled valuation evidence is unavailable or access is restricted.

The Actor does not use private endpoints, account sessions, mirrors, CAPTCHA solving, stealth fingerprints, protected browser state, or other access-bypass techniques. CAPTCHA, login, paywall, geofence, rate-limit, device, WAF, and other access boundaries stop extraction and are recorded with `found: false` and `dataAvailable: false`.

### Why use this Actor?

Use it for property screening, investment research, market analysis, sale-history review, and suburb comparisons. It supports:

- A bounded list of address inputs and a maximum result count.
- Publicly labelled estimated values, sale information, property facts, and suburb metrics when available.
- Apify scheduling, API access, dataset downloads, monitoring, and optional standard proxy configuration.
- One browser worker with bounded retries, timeouts, pacing, and public-page evidence checks.

### What data can this Actor extract?

| Field | Type | Description |
|---|---|---|
| `address`, `suburb`, `state`, `postcode` | string | Address information supplied or displayed publicly. |
| `estimatedValueMin`, `estimatedValueMax`, `estimatedValueMid` | number | Publicly labelled valuation values. |
| `estimateText` | string | Valuation text displayed on the page. |
| `lastSoldPrice`, `lastSoldDate` | number / string | Publicly labelled sale information. |
| `capitalGrowth12m` | string | Public 12-month capital-growth value. |
| `bedrooms`, `bathrooms`, `carSpaces`, `landSize` | number / string | Public property facts when displayed. |
| `propertyUrl` | string | Public Domain.com.au URL associated with the record. |
| `found`, `dataAvailable` | boolean | Evidence and availability flags. |
| `diagnostics` | object | Bounded reason, boundary, title, URL, and HTTP diagnostics. |

Unknown fields are `null`. The Actor does not infer an estimated value from unrelated listing prices or general property facts.

### How to scrape Domain.com.au

1. Open the **Input** tab and add one or more property addresses.
2. Set `maxItems` to the maximum number of addresses to process.
3. Optionally configure a standard Apify proxy for ordinary public requests. A restriction response is reported rather than bypassed.
4. Start the Actor and inspect the **Output** tab. Successful rows have `found: true`, `dataAvailable: true`, and `statusLabel: "success"`; unavailable or blocked rows explain the stop condition in `diagnostics`.

You can also use the **API** tab to start runs programmatically. The dataset can be downloaded as JSON, HTML, CSV, or Excel.

### How much does it cost?

Cost depends on browser compute time and the resources used by your Apify plan. Requests are serialized and bounded, so a small address list helps control runtime and spend. Optional proxy usage is subject to your Apify account plan.

### Input

See the **Input** tab for full configuration options. `addresses` is required, `maxItems` defaults to 10 and is capped at 100, and `proxyConfiguration` is optional. The Actor accepts only public Domain.com.au pages.

### Output

Example success and diagnostic rows:

```json
[
  {
    "address": "1 Example Street, Exampleton NSW 2000",
    "estimatedValueMin": 780000,
    "estimatedValueMax": 860000,
    "estimatedValueMid": 820000,
    "found": true,
    "dataAvailable": true,
    "statusLabel": "success"
  },
  {
    "address": "2 Example Street, Exampleton NSW 2000",
    "estimatedValueMin": null,
    "estimatedValueMax": null,
    "found": false,
    "dataAvailable": false,
    "statusLabel": "waf_detected",
    "diagnostics": {
      "category": "waf",
      "boundary": true,
      "found": false,
      "dataAvailable": false
    }
  }
]
```

### Key-value store

The actor does not write custom key-value records. Valuation and diagnostic rows are stored in the dataset; the declared key-value store is intentionally empty.

### FAQ, disclaimers, and support

#### Why is my row a diagnostic?

The public page may not expose labelled valuation evidence, or access may be restricted. Check `statusLabel`, `errorCategory`, `errorMessage`, and `diagnostics`; the Actor fails closed instead of guessing.

#### Is scraping Domain.com.au allowed?

Our Actors are ethical and do not extract private user data. They only extract information made public by the site. You should not scrape personal data unless you have a legitimate reason, and you should comply with Domain.com.au's terms, robots rules, and applicable law. For feedback or troubleshooting, use the **Issues** tab; for programmatic access, use the **API** tab.

# Actor input Schema

## `addresses` (type: `array`):

List of property addresses to get valuations for (e.g. '1/123 Main Street, Sydney NSW 2000').

## `maxItems` (type: `integer`):

Maximum number of valuations to retrieve.

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

Optional standard proxy settings for public requests. Access boundaries are reported and are never bypassed.

## Actor input object example

```json
{
  "addresses": [],
  "maxItems": 10,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "AU"
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

Dataset containing valuation records and diagnostics for each public request.

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("codingfrontend/domain-valuation-report").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("codingfrontend/domain-valuation-report").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{}' |
apify call codingfrontend/domain-valuation-report --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,codingfrontend/domain-valuation-report"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/mC0VsBdEahJcZ6MdO/builds/gldACJt2wZwn8nsVl/openapi.json
