# RealEstate.com.au Scraper | Fast & Reliable (`fatihtahta/realestate-com-au-scraper`) Actor

Collect structured Realestate.com.au listing data including pricing, locations, agency profiles, agent contacts, media, and property signals across Australia. Built for enterprise-grade real estate intelligence, inventory monitoring, and scalable analytics pipelines.

- **URL**: https://apify.com/fatihtahta/realestate-com-au-scraper.md
- **Developed by:** [Fatih Tahta](https://apify.com/fatihtahta) (community)
- **Categories:** Real estate, Agents, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.80 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.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/platform/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

## RealEstate.com.au Scraper

**Slug:** `fatihtahta/realestate-com-au-scraper`

### Overview

RealEstate.com.au Scraper collects structured property listing records from [realestate.com.au](https://www.realestate.com.au), including listing identity, address, price display, property attributes, agency details, agent contacts, media, inspection information, and source context. Realestate.com.au is one of Australia's major property marketplaces, making its public sale, rental, and sold listing data useful for market research, lead generation, pricing analysis, and operational monitoring. The actor converts public listing information into repeatable JSON records that can be used consistently across analytics tools, CRMs, warehouses, and enrichment workflows. It is designed for dependable recurring data acquisition with configurable locations, listing channels, limits, and filters, while avoiding unsupported assumptions about completeness or availability. Use it when you need a structured, automation-ready dataset instead of manual listing review.

### Why Use This Actor

- **Market research and analytics:** collect property listings for market intelligence, pricing bands, availability analysis, suburb comparisons, and operational reporting.
- **Product and content teams:** populate internal property experiences, comparison tools, editorial research, or directory-style content with structured extraction from public listings.
- **Developers and data engineering teams:** feed downstream systems with normalized JSON records, stable identifiers, source context, and repeatable collection settings.
- **Lead generation and enrichment teams:** build targeted datasets of public listings, agencies, and agents for lawful outreach, CRM enrichment, and segmentation workflows.
- **Monitoring and competitive tracking teams:** schedule recurring runs to track listing movement, price visibility, property mix, geographic coverage, and agency activity over time.

### Common Use Cases

- **Market intelligence:** monitor supply, pricing, availability, locations, and property-type movement across Australian suburbs, regions, postcodes, or states.
- **Lead generation:** build targeted prospect lists from public listing, agency, and agent records.
- **Competitive monitoring:** track listing changes across agencies, suburbs, sale channels, rental categories, or property segments.
- **Catalog and directory building:** populate internal property databases with structured public records and media references.
- **Data enrichment:** add current public listing attributes to CRM, BI, warehouse, or analytics datasets.
- **Recurring reporting:** schedule periodic runs for dashboards, alerts, portfolio monitoring, or trend analysis.

### Quick Start

1. Optionally choose one Australian location using `location`, such as a suburb, postcode, region, or state-level area.
2. Select the listing channel with `deal_type`: `buy`, `rent`, or `sold`.
3. Set a small `limit`, such as `25`, for the first validation run.
4. Add optional filters such as price range, bedrooms, property type, amenities, sale method, rental requirements, or land area.
5. Run the actor in Apify Console and inspect the first dataset records to confirm the output matches your workflow.
6. Increase coverage, adjust filters, enable broader matching, or schedule recurring runs after validating the dataset shape.

### Input Parameters

The actor can run without `location`. Add one location only when you want to narrow the listing channel, result volume, and property filters to a specific area.

| Parameter | Type | Description | Default |
|---|---:|---|---|
| `location` | string | Optional Australian suburb, region, postcode, or state-level area to search. Leave empty to run without a locality filter. | – |
| `deal_type` | string | Listing channel. Allowed values: `buy` for properties for sale, `rent` for rental listings, `sold` for sold listings. | `buy` |
| `limit` | integer | Maximum number of listings to save. Minimum: `1`. Leave empty to collect all available matching results. | – |
| `min_price` | integer | Minimum listing price in AUD. For rentals, values represent weekly rent in AUD. Minimum: `1`. | – |
| `max_price` | integer | Maximum listing price in AUD. For rentals, values represent weekly rent in AUD. Minimum: `1`. | – |
| `has_price` | boolean | When enabled, keeps only buy or sold listings that show a displayed price. Does not affect rental searches. | `false` |
| `include_surrounding_areas` | boolean | Includes listings from surrounding suburbs or nearby areas when available. Disable for a tighter location scope. | `true` |
| `min_bedroom` | string | Minimum bedrooms. Allowed values: `studio`, `1`, `2`, `3`, `4`, `5`. | – |
| `max_bedroom` | string | Maximum bedrooms. Allowed values: `studio`, `1`, `2`, `3`, `4`, `5`. | – |
| `min_bathroom` | string | Minimum bathrooms. Allowed values: `1`, `2`, `3`, `4`, `5`. | – |
| `min_parking` | string | Minimum parking spaces. Allowed values: `1`, `2`, `3`, `4`, `5`. | – |
| `property_condition` | string | Property lifecycle filter. Allowed values: `new`, `established`. Leave empty to include both. | – |
| `outdoor_amenities` | array of strings | Outdoor amenity filters. Allowed values: `swimming_pool`, `garage`, `balcony`, `outdoor_area`, `undercover_parking`, `shed`, `fully_fenced`, `outdoor_spa`, `tennis_court`. | – |
| `indoor_amenities` | array of strings | Indoor amenity filters. Allowed values: `ensuite`, `dishwasher`, `study`, `built_in_robes`, `alarm_system`, `broadband`, `floorboards`, `gym`, `rumpus_room`, `workshop`. | – |
| `climate_amenities` | array of strings | Climate, energy, and utility amenity filters. Allowed values: `air_conditioning`, `solar_panels`, `heating`, `fireplace`, `high_energy_efficiency`, `water_tank`, `solar_hot_water`. | – |
| `accessibility_amenities` | array of strings | Accessibility amenity filters. Allowed values: `single_storey`, `step_free_entry`, `wide_doorways`, `elevator`, `roll_in_shower`, `bathroom_grab_rails`, `accessible_parking`. | – |
| `keyword` | string | Short listing keyword, such as `air con`, `water views`, or `renovated`. Use for terms not covered by structured filters. | – |
| `sale_method` | string | Sale-specific filter for buy listings. Allowed values: `private_treaty_sale`, `auction`. Leave empty to include both sale methods. | – |
| `rental_property_requirements` | array of strings | Rental-specific requirements. Allowed values: `furnished`, `pets_allowed`, `affordable_housing`. Applies when `deal_type` is `rent`. | – |
| `min_area` | integer | Minimum land area in square metres. Applies to buy or sold searches. Minimum: `1`. | – |
| `max_area` | integer | Maximum land area in square metres. Applies to buy or sold searches. Minimum: `1`. | – |
| `property_type` | array of strings | Property type filters. Allowed values: `retirement_living`, `house`, `land`, `townhouse`, `acreage`, `apartment_and_unit`, `rural`, `villa`, `block_of_units`. Rental searches support a smaller set of property types, so unsupported values may not affect rental output. | – |
| `maximize_coverage` | boolean | Collects more listings that match the configured location and filters. Useful for broad production runs; disable for faster sampling. | `true` |

### Choosing Inputs

Use `location` only when you want to define the geographic scope of a run. A postcode or suburb is useful for localized monitoring; leaving it empty runs without a locality filter. Choose `deal_type` before applying filters because buy, rent, and sold result sets support different practical workflows and may expose different field availability.

Broader filters improve discovery and are better for market mapping. Narrower filters produce more targeted datasets for specific requirements, such as apartments with minimum bedrooms, rentals with pet access, or sold houses in a price band. Start with a small `limit` to validate the output shape, then increase it after confirming that the records match your use case. Leave optional filters empty when you want the actor to collect the widest matching set for the selected location and channel.

### Example Inputs

#### Example 1: Local buy-market snapshot

```json
{
  "location": "Sydney, NSW 2000",
  "deal_type": "buy",
  "limit": 50,
  "min_price": 800000,
  "max_price": 2500000,
  "min_bedroom": "2",
  "property_type": ["apartment_and_unit"],
  "include_surrounding_areas": true
}
````

#### Example 2: Rental listings with practical tenant requirements

```json
{
  "location": "Richmond, VIC 3121",
  "deal_type": "rent",
  "limit": 75,
  "max_price": 950,
  "min_bedroom": "2",
  "rental_property_requirements": ["pets_allowed"],
  "outdoor_amenities": ["balcony"],
  "keyword": "renovated"
}
```

#### Example 3: Sold-property discovery with no location filter

```json
{
  "deal_type": "sold",
  "limit": 100,
  "min_price": 500000,
  "max_price": 1200000,
  "property_type": ["house", "townhouse"],
  "maximize_coverage": true
}
```

### Output

#### Output Destination

The actor writes results to an Apify dataset as JSON records. The dataset is designed for direct consumption by analytics tools, ETL pipelines, and downstream APIs with minimal post-processing.

When multiple entity types or record shapes exist, this README documents each shape separately based on the provided Example Output. The provided output contains a property listing record with listing, location, property, agency, agent, media, source detail, source context, and fingerprint fields.

#### Record Envelope And Stable Identifiers

Each record is a property listing object. The strongest recommended idempotency key is `id`; use `url` as a secondary key when syncing against systems that prefer canonical public listing URLs. The `fingerprint` field can be used as a compact record-level change or deduplication helper, and `source_context.source_url` identifies the search result page context that produced the record.

For deduplication and upserts, use `id` as the primary key and update the existing record when the same listing appears in later runs. Stable identifiers make records easier to merge, deduplicate, and sync across repeated runs into warehouses, CRMs, search indexes, and monitoring systems.

#### Examples

##### Example: property listing record

```json
{
  "id": "123456789",
  "url": "https://www.realestate.com.au/property-apartment-nsw-exampleville-123456789",
  "title": "Modern city apartment with harbour glimpses",
  "description": "Light-filled two bedroom apartment in a well-maintained city building, offering open-plan living, a covered balcony, secure parking and easy access to transport, parks, cafes and local shops. The home includes a stone kitchen, built-in wardrobes, internal laundry and shared resident amenities. Inspection times, pricing and availability are example values for documentation only.",
  "pricing": {
    "display_price": "Price guide $1,250,000"
  },
  "location": {
    "address": "12/34 Example Street, Exampleville, NSW, 2000",
    "short_address": "12/34 Example Street",
    "suburb": "Exampleville",
    "state": "NSW",
    "postcode": "2000",
    "coordinates": {
      "latitude": -33.865143,
      "longitude": 151.2099
    }
  },
  "property": {
    "property_type": "apartment",
    "bedrooms": 2,
    "bathrooms": 2,
    "parking_spaces": 1,
    "construction_status": "established",
    "channel": "buy"
  },
  "agency": {
    "id": "EXAMPLE1",
    "name": "Example Realty - Sydney",
    "url": "https://www.realestate.com.au/agency/example-realty-sydney-EXAMPLE1",
    "phone": "02 5550 1234",
    "email": "sales@example.com",
    "website": "https://www.example.com/agency/sydney",
    "address": {
      "street_address": "100 Sample Road",
      "suburb": "Sydney",
      "state": "NSW",
      "postcode": "2000"
    }
  },
  "agents": [
    {
      "id": "123456",
      "name": "Amelia Hart",
      "phone": "0412 345 678",
      "url": "https://www.realestate.com.au/agent/123456",
      "photo": "https://cdn.example.com/realestate/example-agents/amelia-hart.jpg"
    },
    {
      "id": "234567",
      "name": "Jordan Lee",
      "phone": "0412 987 654",
      "url": "https://www.realestate.com.au/agent/234567",
      "photo": "https://cdn.example.com/realestate/example-agents/jordan-lee.jpg"
    }
  ],
  "media": {
    "main_image": "https://cdn.example.com/realestate/example-property/main.jpg",
    "images": [
      "https://img.youtube.com/vi/exampleVideo01/0.jpg",
      "https://cdn.example.com/realestate/example-property/image-01.jpg",
      "https://cdn.example.com/realestate/example-property/image-02.jpg",
      "https://cdn.example.com/realestate/example-property/image-03.jpg",
      "https://cdn.example.com/realestate/example-property/image-04.jpg",
      "https://cdn.example.com/realestate/example-property/image-05.jpg",
      "https://cdn.example.com/realestate/example-property/image-06.jpg",
      "https://cdn.example.com/realestate/example-property/image-07.jpg",
      "https://cdn.example.com/realestate/example-property/image-08.jpg",
      "https://cdn.example.com/realestate/example-property/image-09.jpg",
      "https://cdn.example.com/realestate/example-property/image-10.jpg",
      "https://cdn.example.com/realestate/example-property/image-11.jpg",
      "https://cdn.example.com/realestate/example-property/image-12.jpg",
      "https://cdn.example.com/realestate/example-property/image-13.jpg",
      "https://cdn.example.com/realestate/example-property/image-14.jpg",
      "https://cdn.example.com/realestate/example-property/image-15.jpg",
      "https://cdn.example.com/realestate/example-property/image-16.jpg",
      "https://cdn.example.com/realestate/example-property/image-17.jpg",
      "https://cdn.example.com/realestate/example-property/image-18.jpg",
      "https://cdn.example.com/realestate/example-property/image-19.jpg",
      "https://cdn.example.com/realestate/example-property/image-20.jpg",
      "https://cdn.example.com/realestate/example-property/image-21.jpg",
      "https://cdn.example.com/realestate/example-property/image-22.jpg",
      "https://cdn.example.com/realestate/example-property/image-23.jpg",
      "https://cdn.example.com/realestate/example-property/image-24.jpg",
      "https://cdn.example.com/realestate/example-property/image-25.jpg",
      "https://cdn.example.com/realestate/example-property/image-26.jpg",
      "https://cdn.example.com/realestate/example-property/image-27.jpg",
      "https://cdn.example.com/realestate/example-property/image-28.jpg",
      "https://cdn.example.com/realestate/example-property/image-29.jpg",
      "https://cdn.example.com/realestate/example-property/image-30.jpg",
      "https://cdn.example.com/realestate/example-property/image-31.jpg",
      "https://cdn.example.com/realestate/example-property/image-32.jpg",
      "https://cdn.example.com/realestate/example-property/image-33.jpg",
      "https://cdn.example.com/realestate/example-property/image-34.jpg",
      "https://cdn.example.com/realestate/example-property/image-35.jpg"
    ]
  },
  "source_details": {
    "pretty_url": "property-apartment-nsw-exampleville-123456789",
    "standard": false,
    "midtier": false,
    "lister": {
      "mobile_phone_number": "0412 345 678",
      "website": "https://www.example.com/agency/sydney",
      "agent_id": "00000000-0000-4000-8000-000000000001",
      "phone_number": "0412 345 678",
      "links": {
        "agent_profile": {
          "href": "https://www.realestate.com.au/agent/123456"
        },
        "agent_profile_webview": {
          "href": "https://www.realestate.com.au/agent/webview/123456"
        }
      },
      "power_profile": true,
      "job_title": "Licensed Sales Agent",
      "name": "Amelia Hart",
      "main_photo": {
        "server": "https://cdn.example.com",
        "name": "main photo",
        "uri": "/realestate/example-agents/amelia-hart.jpg"
      },
      "id": "123456",
      "email": "amelia.hart@example.com"
    },
    "featured": false,
    "links": {
      "pretty_url": {
        "href": "https://www.realestate.com.au/property-apartment-nsw-exampleville-123456789"
      },
      "google_map": {
        "templated": true,
        "href": "https://services.realestate.com.au/services/listings/123456789/map/static?width={width}&height={height}&scale={scale}"
      },
      "calculator": {
        "href": "https://api.realestate.com.au/calculator/buy"
      },
      "nearby_schools": {
        "templated": true,
        "href": "https://school-service.realestate.com.au/closest_by_type/?lat=-33.865143&lon=151.209900{&count}"
      },
      "ad_call": {
        "templated": true,
        "href": "https://sasinator.realestate.com.au/rea/hserver/site=rea/area=buy.details/proptype=apartment/constructionStatus=established/sub=exampleville/state=nsw/pcode=2000/platform={platform}/version={version}/pos={position}/size={size}/viewid={viewId}/random={random}"
      },
      "market_info": {
        "href": "https://investor-api.realestate.com.au/states/NSW/suburbs/Exampleville.json"
      },
      "short": {
        "href": "https://www.realestate.com.au/123456789"
      },
      "self": {
        "href": "https://services.realestate.com.au/services/listings/123456789"
      },
      "calculator_ipad": {
        "href": "https://api.realestate.com.au/calculator/buy_ipad"
      },
      "contact_agent": {
        "href": "https://agent-contact.realestate.com.au/contact-agent/listing/123456789"
      },
      "property_finance_url": {
        "templated": true,
        "href": "https://finance.realestate.com.au/products/cheapest_link{?search}"
      },
      "generic_ad_call": {
        "templated": true,
        "href": "https://sasinator.realestate.com.au/rea/hserver/site=rea/area={area}/proptype=apartment/constructionStatus=established/sub=exampleville/state=nsw/pcode=2000/beds=2/baths=2/cars=1/platform={platform}/version={version}/pos={position}/size={size}/viewid={viewId}/random={random}"
      }
    },
    "signature": true,
    "construction_status": "established",
    "channel": "buy",
    "description": "Light-filled two bedroom apartment in a well-maintained city building, offering open-plan living, a covered balcony, secure parking and easy access to transport, parks, cafes and local shops. The home includes a stone kitchen, built-in wardrobes, internal laundry and shared resident amenities. Inspection times, pricing and availability are example values for documentation only.",
    "show_agency_logo": true,
    "title": "Modern city apartment with harbour glimpses",
    "is_linked_external_child_listing": false,
    "listers": [
      {
        "mobile_phone_number": "0412 345 678",
        "website": "https://www.example.com/agency/sydney",
        "agent_id": "00000000-0000-4000-8000-000000000001",
        "phone_number": "0412 345 678",
        "links": {
          "agent_profile": {
            "href": "https://www.realestate.com.au/agent/123456"
          },
          "agent_profile_webview": {
            "href": "https://www.realestate.com.au/agent/webview/123456"
          }
        },
        "power_profile": true,
        "job_title": "Licensed Sales Agent",
        "name": "Amelia Hart",
        "main_photo": {
          "server": "https://cdn.example.com",
          "name": "main photo",
          "uri": "/realestate/example-agents/amelia-hart.jpg"
        },
        "id": "123456",
        "email": "amelia.hart@example.com"
      },
      {
        "mobile_phone_number": "0412 987 654",
        "website": "https://www.example.com/agency/sydney",
        "phone_number": "0412 987 654",
        "links": {
          "agent_profile": {
            "href": "https://www.realestate.com.au/agent/234567"
          },
          "agent_profile_webview": {
            "href": "https://www.realestate.com.au/agent/webview/234567"
          }
        },
        "power_profile": false,
        "job_title": "Sales Associate",
        "name": "Jordan Lee",
        "main_photo": {
          "server": "https://cdn.example.com",
          "name": "main photo",
          "uri": "/realestate/example-agents/jordan-lee.jpg"
        },
        "id": "234567",
        "email": "jordan.lee@example.com"
      }
    ],
    "features": {
      "general": {
        "bedrooms": 2,
        "bathrooms": 2,
        "parking_spaces": 1
      }
    },
    "price": {
      "display": "Price guide $1,250,000"
    },
    "property_type": "apartment",
    "is_external_child_listing": false,
    "product_depth": "signature",
    "calculator": {
      "links": {
        "logo_png": {
          "href": "https://visualidentity.cachefly.net/realestate.com.au.calculators.vi.com.au/nab-branded/global/images/logo.png"
        },
        "logo": {
          "href": "https://visualidentity.cachefly.net/realestate.com.au.calculators.vi.com.au/nab-branded/global/images/logo.pdf"
        },
        "call_to_action": {
          "href": "https://visualidentity.cachefly.net/realestate.com.au.calculators.vi.com.au/all-brands/au/com/vi/app/html/index.html?calculator=mortgage+repayments&channel=buy&displayPrice=Price+guide+%241%2C250%2C000&postcode=2000&premiumProperty=true&sponsor=nab&state=NSW&suburb=Exampleville"
        }
      },
      "subtitle": "Calculate repayments for this property",
      "title": "Mortgage Calculator"
    },
    "images": [
      {
        "server": "https://img.youtube.com",
        "name": "video",
        "id": "exampleVideo01",
        "video": true,
        "uri": "/vi/exampleVideo01/0.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-01.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-02.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-03.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-04.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-05.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-06.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-07.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-08.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-09.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-10.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-11.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-12.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-13.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-14.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-15.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-16.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-17.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-18.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-19.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-20.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-21.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-22.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-23.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-24.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-25.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-26.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-27.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-28.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-29.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-30.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-31.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-32.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-33.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "photo",
        "uri": "/realestate/example-property/image-34.jpg"
      },
      {
        "server": "https://cdn.example.com",
        "name": "floorplan",
        "resize": true,
        "uri": "/realestate/example-property/image-35.jpg"
      }
    ],
    "address": {
      "street_address": "12/34 Example Street",
      "locality": "Exampleville",
      "postcode": "2000",
      "suburb": "Exampleville",
      "post_code": "2000",
      "location": {
        "latitude": -33.865143,
        "longitude": 151.2099
      },
      "subdivision_code": "NSW",
      "state": "NSW",
      "show_address": true
    },
    "classic_project": false,
    "agency": {
      "website": "https://www.example.com/agency/sydney",
      "address": {
        "street_address": "100 Sample Road",
        "postcode": "2000",
        "suburb": "Sydney",
        "state": "NSW"
      },
      "phone_number": "02 5550 1234",
      "branded": true,
      "links": {
        "agency_profile": {
          "href": "https://www.realestate.com.au/agency/example-realty-sydney-EXAMPLE1"
        },
        "agency_profile_webview": {
          "href": "https://www.realestate.com.au/agency/example-realty-sydney-EXAMPLE1?template=webview"
        }
      },
      "name": "Example Realty - Sydney",
      "logo": {
        "images": [
          {
            "server": "https://cdn.example.com",
            "name": "large",
            "uri": "/realestate/example-agency/logo-1.jpg"
          },
          {
            "server": "https://cdn.example.com",
            "name": "default",
            "uri": "/realestate/example-agency/logo-2.jpg"
          },
          {
            "server": "https://cdn.example.com",
            "name": "small",
            "uri": "/realestate/example-agency/logo-3.jpg"
          },
          {
            "server": "https://cdn.example.com",
            "name": "hero image",
            "uri": "/realestate/example-agency/logo-4.jpg"
          }
        ],
        "links": {
          "small": "/realestate/example-agency/logo-small.jpg",
          "hero_image": "/realestate/example-agency/hero.jpg",
          "default": "/realestate/example-agency/logo-default.jpg",
          "large": "/realestate/example-agency/logo-large.jpg"
        }
      },
      "agency_id": "EXAMPLE1",
      "email": "sales@example.com"
    },
    "is_sold_channel": false,
    "is_buy_channel": true,
    "signature_project": false,
    "agency_listing_id": "EX-2026-001",
    "property_features": [
      {
        "features": [
          "Open Spaces: 1",
          "Secure Parking"
        ],
        "section": "outdoor",
        "label": "Outdoor Features"
      },
      {
        "features": [
          "Air Conditioning",
          "Built-in Wardrobes",
          "Ensuite: 1",
          "Floorboards",
          "Intercom",
          "Study",
          "Toilets: 1"
        ],
        "section": "indoor",
        "label": "Indoor Features"
      }
    ],
    "listing_id": "123456789",
    "is_internal_child_listing": false,
    "main_image": {
      "server": "https://cdn.example.com",
      "name": "main photo",
      "uri": "/realestate/example-property/main.jpg"
    },
    "inspections_and_auctions": [
      {
        "date_display": "Inspection Saturday",
        "start_time_display": "10:30 AM",
        "end_time_display": "11:00 AM",
        "start_time": "2026-05-09T10:30:00",
        "end_time": "2026-05-09T11:00:00",
        "auction": false
      }
    ],
    "general_features": {
      "bedrooms": {
        "label": "Bedrooms: 2",
        "type": "bedrooms",
        "value": 2
      },
      "bathrooms": {
        "label": "Bathrooms: 2",
        "type": "bathrooms",
        "value": 2
      },
      "parking_spaces": {
        "label": "Parking Spaces: 1",
        "type": "parkingSpaces",
        "value": 1
      }
    },
    "is_rent_channel": false
  },
  "source_context": {
    "seed_id": "example-seed-001",
    "seed_type": "query",
    "seed_value": "2000",
    "page_index": 1,
    "source_url": "https://www.realestate.com.au/buy/in-2000/list-1"
  },
  "fingerprint": "example-fingerprint-001"
}
```

### Field Reference

#### Property Listing Record

**id** *(string, required)*: Stable listing identifier. Recommended primary idempotency key.

**url** *(string, required)*: Public listing URL.

**title** *(string, optional)*: Listing title or headline.

**description** *(string, optional)*: Public listing description.

**pricing.display\_price** *(string, optional)*: Displayed listing price, price guide, or contact prompt.

**location.address** *(string, optional)*: Full formatted property address when shown.

**location.short\_address** *(string, optional)*: Short street-level address.

**location.suburb / location.state / location.postcode** *(string, optional)*: Suburb, Australian state or territory abbreviation, and postcode.

**location.coordinates.latitude / location.coordinates.longitude** *(number, optional)*: Listing coordinates when available.

**property.property\_type** *(string, optional)*: Property type, such as apartment, house, townhouse, or land.

**property.bedrooms / property.bathrooms / property.parking\_spaces** *(number, optional)*: Core property feature counts.

**property.construction\_status** *(string, optional)*: Construction or lifecycle status, such as established.

**property.channel** *(string, optional)*: Listing channel, such as buy, rent, or sold.

**agency.id** *(string, optional)*: Agency identifier.

**agency.name** *(string, optional)*: Agency name.

**agency.url** *(string, optional)*: Public agency profile URL.

**agency.phone / agency.email / agency.website** *(string, optional)*: Public agency contact details when available.

**agency.address.street\_address / agency.address.suburb / agency.address.state / agency.address.postcode** *(string, optional)*: Agency address components.

**agents** *(array, optional)*: Agent records associated with the listing.

**agents\[].id** *(string, optional)*: Agent identifier.

**agents\[].name** *(string, optional)*: Agent name.

**agents\[].phone** *(string, optional)*: Public agent phone number.

**agents\[].url** *(string, optional)*: Public agent profile URL.

**agents\[].photo** *(string, optional)*: Agent photo URL.

**media.main\_image** *(string, optional)*: Primary listing image URL.

**media.images** *(array of strings, optional)*: Listing image and media URLs.

**source\_details.pretty\_url** *(string, optional)*: Listing URL slug or compact path value.

**source\_details.standard / source\_details.midtier / source\_details.featured / source\_details.signature** *(boolean, optional)*: Listing presentation flags when provided by the source record.

**source\_details.lister.mobile\_phone\_number / source\_details.lister.phone\_number** *(string, optional)*: Public lister phone details.

**source\_details.lister.website** *(string, optional)*: Public lister website.

**source\_details.lister.agent\_id / source\_details.lister.id** *(string, optional)*: Lister identifiers.

**source\_details.lister.links.agent\_profile.href / source\_details.lister.links.agent\_profile\_webview.href** *(string, optional)*: Public lister profile links.

**source\_details.lister.power\_profile** *(boolean, optional)*: Public profile indicator.

**source\_details.lister.job\_title / source\_details.lister.name / source\_details.lister.email** *(string, optional)*: Lister role, name, and email fields when available.

**source\_details.lister.main\_photo.server / source\_details.lister.main\_photo.name / source\_details.lister.main\_photo.uri** *(string, optional)*: Lister photo components.

**source\_details.links.\*.href** *(string, optional)*: Related public link references included in the source record.

**source\_details.links.\*.templated** *(boolean, optional)*: Indicates whether a related link contains template variables.

**source\_details.construction\_status** *(string, optional)*: Construction or lifecycle status in source detail.

**source\_details.channel** *(string, optional)*: Listing channel in source detail.

**source\_details.description / source\_details.title** *(string, optional)*: Source detail description and title.

**source\_details.show\_agency\_logo** *(boolean, optional)*: Indicates whether agency branding is available for display.

**source\_details.is\_linked\_external\_child\_listing / source\_details.is\_external\_child\_listing / source\_details.is\_internal\_child\_listing** *(boolean, optional)*: Related-listing flags from the source record.

**source\_details.listers** *(array, optional)*: Detailed lister records.

**source\_details.listers\[].mobile\_phone\_number / source\_details.listers\[].phone\_number** *(string, optional)*: Public lister phone fields.

**source\_details.listers\[].website** *(string, optional)*: Public lister website.

**source\_details.listers\[].agent\_id / source\_details.listers\[].id** *(string, optional)*: Lister identifiers.

**source\_details.listers\[].links.agent\_profile.href / source\_details.listers\[].links.agent\_profile\_webview.href** *(string, optional)*: Public lister profile links.

**source\_details.listers\[].power\_profile** *(boolean, optional)*: Public profile indicator.

**source\_details.listers\[].job\_title / source\_details.listers\[].name / source\_details.listers\[].email** *(string, optional)*: Lister role, name, and email fields when available.

**source\_details.listers\[].main\_photo.server / source\_details.listers\[].main\_photo.name / source\_details.listers\[].main\_photo.uri** *(string, optional)*: Lister photo components.

**source\_details.features.general.bedrooms / source\_details.features.general.bathrooms / source\_details.features.general.parking\_spaces** *(number, optional)*: General property feature counts.

**source\_details.price.display** *(string, optional)*: Displayed price in source detail.

**source\_details.property\_type** *(string, optional)*: Property type in source detail.

**source\_details.product\_depth** *(string, optional)*: Listing product tier or presentation depth when available.

**source\_details.calculator.links.logo\_png.href / source\_details.calculator.links.logo.href / source\_details.calculator.links.call\_to\_action.href** *(string, optional)*: Public calculator-related links included in the record.

**source\_details.calculator.subtitle / source\_details.calculator.title** *(string, optional)*: Calculator display text when included.

**source\_details.images** *(array, optional)*: Detailed media records.

**source\_details.images\[].server / source\_details.images\[].name / source\_details.images\[].uri** *(string, optional)*: Media server, label, and path components.

**source\_details.images\[].id** *(string, optional)*: Media identifier when available.

**source\_details.images\[].video / source\_details.images\[].resize** *(boolean, optional)*: Media flags.

**source\_details.address.street\_address / source\_details.address.locality / source\_details.address.suburb** *(string, optional)*: Property address components.

**source\_details.address.postcode / source\_details.address.post\_code** *(string, optional)*: Postcode fields when present.

**source\_details.address.location.latitude / source\_details.address.location.longitude** *(number, optional)*: Property coordinates in source detail.

**source\_details.address.subdivision\_code / source\_details.address.state** *(string, optional)*: State or subdivision fields.

**source\_details.address.show\_address** *(boolean, optional)*: Indicates whether the address is publicly shown.

**source\_details.classic\_project / source\_details.signature\_project** *(boolean, optional)*: Project-listing flags.

**source\_details.agency.website** *(string, optional)*: Agency website in source detail.

**source\_details.agency.address.street\_address / source\_details.agency.address.postcode / source\_details.agency.address.suburb / source\_details.agency.address.state** *(string, optional)*: Agency address components in source detail.

**source\_details.agency.phone\_number / source\_details.agency.name / source\_details.agency.email** *(string, optional)*: Agency contact and identity fields.

**source\_details.agency.branded** *(boolean, optional)*: Agency branding indicator.

**source\_details.agency.links.agency\_profile.href / source\_details.agency.links.agency\_profile\_webview.href** *(string, optional)*: Public agency profile links.

**source\_details.agency.logo.images** *(array, optional)*: Agency logo image records.

**source\_details.agency.logo.images\[].server / source\_details.agency.logo.images\[].name / source\_details.agency.logo.images\[].uri** *(string, optional)*: Agency logo image components.

**source\_details.agency.logo.links.small / source\_details.agency.logo.links.hero\_image / source\_details.agency.logo.links.default / source\_details.agency.logo.links.large** *(string, optional)*: Agency logo path references.

**source\_details.agency.agency\_id** *(string, optional)*: Agency identifier in source detail.

**source\_details.is\_sold\_channel / source\_details.is\_buy\_channel / source\_details.is\_rent\_channel** *(boolean, optional)*: Channel indicator flags.

**source\_details.agency\_listing\_id** *(string, optional)*: Agency-specific listing identifier.

**source\_details.property\_features** *(array, optional)*: Grouped feature sections.

**source\_details.property\_features\[].features** *(array of strings, optional)*: Feature labels in a section.

**source\_details.property\_features\[].section / source\_details.property\_features\[].label** *(string, optional)*: Feature section key and display label.

**source\_details.listing\_id** *(string, optional)*: Listing identifier in source detail.

**source\_details.main\_image.server / source\_details.main\_image.name / source\_details.main\_image.uri** *(string, optional)*: Primary image components.

**source\_details.inspections\_and\_auctions** *(array, optional)*: Inspection or auction events when publicly shown.

**source\_details.inspections\_and\_auctions\[].date\_display / source\_details.inspections\_and\_auctions\[].start\_time\_display / source\_details.inspections\_and\_auctions\[].end\_time\_display** *(string, optional)*: Human-readable inspection or auction timing.

**source\_details.inspections\_and\_auctions\[].start\_time / source\_details.inspections\_and\_auctions\[].end\_time** *(string, optional)*: Event start and end timestamps when available.

**source\_details.inspections\_and\_auctions\[].auction** *(boolean, optional)*: Indicates whether the event is an auction.

**source\_details.general\_features.bedrooms.label / source\_details.general\_features.bathrooms.label / source\_details.general\_features.parking\_spaces.label** *(string, optional)*: Display labels for feature counts.

**source\_details.general\_features.bedrooms.type / source\_details.general\_features.bathrooms.type / source\_details.general\_features.parking\_spaces.type** *(string, optional)*: Feature type keys.

**source\_details.general\_features.bedrooms.value / source\_details.general\_features.bathrooms.value / source\_details.general\_features.parking\_spaces.value** *(number, optional)*: Feature values.

**source\_context.seed\_id** *(string, optional)*: Run seed identifier for the input scope that produced the record.

**source\_context.seed\_type** *(string, optional)*: Input seed type, such as query.

**source\_context.seed\_value** *(string, optional)*: Input seed value, such as a postcode or location term.

**source\_context.page\_index** *(number, optional)*: Result page index associated with the record.

**source\_context.source\_url** *(string, optional)*: Public source result URL associated with the record.

**fingerprint** *(string, optional)*: Compact record fingerprint useful for deduplication and change tracking.

### Data Quality, Guarantees, And Handling

- **Structured records:** results are normalized into predictable JSON objects for downstream use.
- **Best-effort extraction:** fields may vary by region, session, availability, listing channel, or source-side experiments.
- **Optional fields:** null-check optional fields in downstream code, especially contact details, media, events, coordinates, and agency metadata.
- **Deduplication:** use `id` as the strongest stable key, with `url` and `fingerprint` as secondary helpers when appropriate.
- **Freshness:** results reflect the publicly available data at run time.
- **Repeated runs:** use the recommended idempotency key when syncing data into warehouses, CRMs, search indexes, or monitoring systems.

### Tips For Best Results

- Start with a small `limit` to validate the output shape before scaling up.
- Use one geography or segment per run when you need cleaner reporting and easier comparison.
- Leave optional filters empty when the goal is broad discovery.
- Add filters gradually to understand how each field changes coverage.
- Use `deal_type` to separate buy, rent, and sold workflows into distinct datasets.
- Enable `maximize_coverage` for production collection when you want broader matching results.
- Use `id` for deduplication when storing records over time.

### How to Run on Apify

1. Open the Actor in Apify Console.
2. Configure the available input fields for the optional target location, listing channel, and filters.
3. Set the maximum number of outputs to collect with `limit`.
4. Click **Start** and wait for the run to finish.
5. Open the dataset and review the first records.
6. Download results in JSON, CSV, Excel, or other supported formats.

### Scheduling & Automation

#### Scheduling

**Automated Data Collection**

Schedule runs to keep property listing datasets fresh for monitoring, reporting, and enrichment workflows. Use separate schedules for distinct locations or listing channels when you need cleaner operational boundaries.

- Navigate to **Schedules** in Apify Console
- Create a new schedule, such as daily, weekly, or custom cron
- Configure input parameters
- Enable notifications for run completion
- Add webhooks for automated processing

#### Integration Options

- **CRM enrichment:** sync public listing, agency, and agent attributes into account, lead, or opportunity records.
- **BI dashboards:** monitor pricing, availability, property mix, geographic coverage, and channel movement over time.
- **Data warehouses:** store recurring snapshots for historical analysis, modeling, and operational reporting.
- **Google Sheets or Airtable:** review smaller location-specific datasets with sales, research, or operations teams.
- **Webhooks:** trigger validation, notification, ingestion, or alerting workflows after each completed run.
- **Data enrichment pipelines:** join current public listing attributes with existing CRM, portfolio, or analytics datasets.

### Export Formats And Downstream Use

Apify datasets can be exported from the Console or consumed by downstream systems for operational use. Choose the format that best matches the receiving system and review workflow.

- **JSON:** for APIs, applications, and data pipelines
- **CSV or Excel:** for spreadsheet workflows and manual review
- **API access:** for automated ingestion into internal systems
- **BI and warehouses:** for reporting, dashboards, and historical analysis

### Performance

Estimated run times:

- **Small runs (< 1,000 outputs):** ~3-5 minutes
- **Medium runs (1,000-5,000 outputs):** ~5-15 minutes
- **Large runs (5,000+ outputs):** ~15-30 minutes

Execution time varies based on filters, result volume, and how much information is returned per record. Highly filtered runs can finish faster, while broad discovery or detail-rich records may take longer.

### Limitations

- Availability depends on what [realestate.com.au](https://www.realestate.com.au) publicly exposes at run time.
- Some optional fields may be missing on sparse listings, older listings, or records with limited public detail.
- Very broad searches may take longer or require higher limits.
- Source-side changes can affect field availability, naming, or record shape.
- Regional, account, or availability differences may change visible results.
- Rental, buy, and sold listings may expose different fields and filter behavior.

### Troubleshooting

**No results returned:** check filter combinations, location spelling, listing channel, and whether the target site has matching public records.

**Fewer results than expected:** broaden filters, raise `limit`, enable `include_surrounding_areas`, or verify that enough matching listings are publicly available.

**Some fields are empty:** optional fields depend on what each listing publicly provides.

**Run takes longer than expected:** reduce scope, lower `limit` for validation, or split broad collection into smaller location segments.

**Output changed:** compare the current output with the field reference and include a small sample if support is needed.

### FAQ

**What data does this actor collect?**

It collects public RealEstate.com.au property listings, including listing details, price display, location, property attributes, agency information, agent details, media, inspection or auction data when available, and source context.

**Can I filter by location, category, date, price, or other criteria?**

You can filter by location, listing channel, price, displayed price availability, surrounding areas, bedrooms, bathrooms, parking, property condition, property type, amenities, keyword, sale method, rental requirements, and land area. The schema does not include date-window inputs.

**Why did I receive fewer results than my limit?**

The limit is a maximum, not a guarantee. Fewer records can occur when the selected location, channel, or filters have fewer matching public listings.

**Can I schedule recurring runs?**

Yes. Use Apify schedules to run the actor daily, weekly, or on a custom cron pattern.

**How do I avoid duplicates across runs?**

Use `id` as the primary deduplication and upsert key. `url` and `fingerprint` can help with secondary matching or change tracking.

**Can I export the data to CSV, Excel, or JSON?**

Yes. Apify datasets support JSON, CSV, Excel, and other export formats from the dataset view.

**Does this actor collect private data?**

The actor is intended to collect publicly available listing information from RealEstate.com.au. Users are responsible for using the data lawfully and respecting privacy obligations.

**What should I include when reporting an issue?**

Include the input used, the run ID, expected versus actual behavior, and a small output sample when relevant. Redact any sensitive operational notes before sharing.

### Compliance & Ethics

#### Responsible Data Collection

This actor collects publicly available real estate listing information from **https://www.realestate.com.au** for legitimate business purposes, including:

- **Real estate** research and market analysis
- **Listing, agency, and agent** monitoring workflows
- **CRM, BI, and data enrichment** workflows

Users are responsible for ensuring that their use of the collected data complies with applicable laws, regulations, and the target site's terms. This section is informational and not legal advice.

#### Best Practices

- Use collected data in accordance with applicable laws, regulations, and the target site's terms
- Respect individual privacy and personal information
- Use data responsibly and avoid disruptive or excessive collection
- Do not use this actor for spamming, harassment, or other harmful purposes
- Follow relevant data protection requirements where applicable, such as GDPR and CCPA

### Support

For help, use the actor page or Issues. Include the input used with sensitive values redacted, the run ID, expected versus actual behavior, and a small output sample if it helps explain the issue. Avoid sharing unnecessary personal information in support requests.

This Actor is not affiliated with, endorsed by, or sponsored by Pty Limited (REA Group (realestate.com.au)) or any of its subsidiaries. All trademarks mentioned are the property of their respective owners.

# Actor input Schema

## `deal_type` (type: `string`):

Choose the listing channel for this run. The default collects properties for sale; switch to rent or sold when that better matches your workflow.

## `location` (type: `string`):

Enter a location including, regions suburbs or post codes such as "Northern Region" or "2000". Leave empty to run without a location filter.

## `include_surrounding_areas` (type: `boolean`):

Keep enabled to include listings from surrounding suburbs or nearby areas. Disable it when you only want results from the exact selected location.

## `min_price` (type: `integer`):

Only include listings priced at or above this value. Leave empty when you do not need a lower price boundary.

## `max_price` (type: `integer`):

Only include listings priced at or below this value. Leave empty when you do not need an upper price boundary.

## `has_price` (type: `boolean`):

Enable this to keep only buy or sold listings that show a price. This setting does not affect rental searches.

## `property_type` (type: `array`):

Only include listings matching one or more selected property types. Leave empty to include all property types. For rental searches, unsupported property types are ignored.

## `min_bedroom` (type: `string`):

Only include listings with at least this many bedrooms. Leave empty when any bedroom count is acceptable.

## `max_bedroom` (type: `string`):

Only include listings with at most this many bedrooms. Leave empty when you do not need an upper bedroom boundary.

## `min_bathroom` (type: `string`):

Only include listings with at least this many bathrooms. Leave empty when bathroom count is not a selection factor.

## `min_parking` (type: `string`):

Only include listings with at least this many parking spaces. Leave empty when parking availability is not required.

## `property_condition` (type: `string`):

Choose new properties or established properties when you want to focus the result set. Leave empty to include both.

## `min_area` (type: `integer`):

Only include buy or sold listings with land area at or above this value in square metres. Leave empty when you do not need a lower land area boundary.

## `max_area` (type: `integer`):

Only include buy or sold listings with land area at or below this value in square metres. Leave empty when you do not need an upper land area boundary.

## `keyword` (type: `string`):

Enter a short search term such as "air con", "water views", or "renovated". Leave empty when you do not need keyword-based narrowing.

## `sale_method` (type: `string`):

Choose private treaty sale to exclude auctions, or auction to exclude private sale listings. Leave empty to include both sale methods.

## `rental_property_requirements` (type: `array`):

Only applies when the listing channel is rent. Choose one or more requirements to narrow rental listings, or leave empty to include all rental requirement types.

## `outdoor_amenities` (type: `array`):

Only include listings that match one or more selected outdoor amenities. Leave empty when outdoor features are not required.

## `indoor_amenities` (type: `array`):

Only include listings that match one or more selected indoor amenities. Leave empty when indoor features are not required.

## `climate_amenities` (type: `array`):

Only include listings that match one or more selected climate, energy, or utility amenities. Leave empty when these features are not required.

## `accessibility_amenities` (type: `array`):

Only include listings that match one or more selected accessibility amenities. Leave empty when accessibility features are not required.

## `maximize_coverage` (type: `boolean`):

Enable this to collect a broader set of matching results for the selected location and filter combination. Disable it for faster test runs or smaller sampling workflows.

## `limit` (type: `integer`):

Enter the maximum number of listings to save. Leave empty to collect all available matching results.

## Actor input object example

```json
{
  "deal_type": "buy",
  "include_surrounding_areas": true,
  "has_price": false,
  "maximize_coverage": true,
  "limit": 100
}
```

# Actor output Schema

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

No description

# 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 = {
    "limit": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("fatihtahta/realestate-com-au-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 = { "limit": 100 }

# Run the Actor and wait for it to finish
run = client.actor("fatihtahta/realestate-com-au-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 '{
  "limit": 100
}' |
apify call fatihtahta/realestate-com-au-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "RealEstate.com.au Scraper | Fast & Reliable",
        "description": "Collect structured Realestate.com.au listing data including pricing, locations, agency profiles, agent contacts, media, and property signals across Australia. Built for enterprise-grade real estate intelligence, inventory monitoring, and scalable analytics pipelines.",
        "version": "0.0",
        "x-build-id": "1ipIhqkdSunkFOVe2"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/fatihtahta~realestate-com-au-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-fatihtahta-realestate-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/fatihtahta~realestate-com-au-scraper/runs": {
            "post": {
                "operationId": "runs-sync-fatihtahta-realestate-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/fatihtahta~realestate-com-au-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-fatihtahta-realestate-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": {
                    "deal_type": {
                        "title": "Select Sale, Rent, or Sold Listings",
                        "enum": [
                            "buy",
                            "rent",
                            "sold"
                        ],
                        "type": "string",
                        "description": "Choose the listing channel for this run. The default collects properties for sale; switch to rent or sold when that better matches your workflow.",
                        "default": "buy"
                    },
                    "location": {
                        "title": "Add Australian Location",
                        "type": "string",
                        "description": "Enter a location including, regions suburbs or post codes such as \"Northern Region\" or \"2000\". Leave empty to run without a location filter."
                    },
                    "include_surrounding_areas": {
                        "title": "Include Surrounding Areas",
                        "type": "boolean",
                        "description": "Keep enabled to include listings from surrounding suburbs or nearby areas. Disable it when you only want results from the exact selected location.",
                        "default": true
                    },
                    "min_price": {
                        "title": "Set Minimum Price",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Only include listings priced at or above this value. Leave empty when you do not need a lower price boundary."
                    },
                    "max_price": {
                        "title": "Set Maximum Price",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Only include listings priced at or below this value. Leave empty when you do not need an upper price boundary."
                    },
                    "has_price": {
                        "title": "Require a Displayed Price",
                        "type": "boolean",
                        "description": "Enable this to keep only buy or sold listings that show a price. This setting does not affect rental searches.",
                        "default": false
                    },
                    "property_type": {
                        "title": "Choose Property Types",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Only include listings matching one or more selected property types. Leave empty to include all property types. For rental searches, unsupported property types are ignored.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "retirement_living",
                                "house",
                                "land",
                                "townhouse",
                                "acreage",
                                "apartment_and_unit",
                                "rural",
                                "villa",
                                "block_of_units"
                            ],
                            "enumTitles": [
                                "Retirement living",
                                "House",
                                "Land",
                                "Townhouse",
                                "Acreage",
                                "Apartment and unit",
                                "Rural",
                                "Villa",
                                "Block of units"
                            ]
                        }
                    },
                    "min_bedroom": {
                        "title": "Set Minimum Bedrooms",
                        "enum": [
                            "studio",
                            "1",
                            "2",
                            "3",
                            "4",
                            "5"
                        ],
                        "type": "string",
                        "description": "Only include listings with at least this many bedrooms. Leave empty when any bedroom count is acceptable."
                    },
                    "max_bedroom": {
                        "title": "Set Maximum Bedrooms",
                        "enum": [
                            "studio",
                            "1",
                            "2",
                            "3",
                            "4",
                            "5"
                        ],
                        "type": "string",
                        "description": "Only include listings with at most this many bedrooms. Leave empty when you do not need an upper bedroom boundary."
                    },
                    "min_bathroom": {
                        "title": "Set Minimum Bathrooms",
                        "enum": [
                            "1",
                            "2",
                            "3",
                            "4",
                            "5"
                        ],
                        "type": "string",
                        "description": "Only include listings with at least this many bathrooms. Leave empty when bathroom count is not a selection factor."
                    },
                    "min_parking": {
                        "title": "Set Minimum Parking Spaces",
                        "enum": [
                            "1",
                            "2",
                            "3",
                            "4",
                            "5"
                        ],
                        "type": "string",
                        "description": "Only include listings with at least this many parking spaces. Leave empty when parking availability is not required."
                    },
                    "property_condition": {
                        "title": "Choose Property Condition",
                        "enum": [
                            "new",
                            "established"
                        ],
                        "type": "string",
                        "description": "Choose new properties or established properties when you want to focus the result set. Leave empty to include both."
                    },
                    "min_area": {
                        "title": "Set Minimum Land Area",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Only include buy or sold listings with land area at or above this value in square metres. Leave empty when you do not need a lower land area boundary."
                    },
                    "max_area": {
                        "title": "Set Maximum Land Area",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Only include buy or sold listings with land area at or below this value in square metres. Leave empty when you do not need an upper land area boundary."
                    },
                    "keyword": {
                        "title": "Add Listing Keyword",
                        "type": "string",
                        "description": "Enter a short search term such as \"air con\", \"water views\", or \"renovated\". Leave empty when you do not need keyword-based narrowing."
                    },
                    "sale_method": {
                        "title": "Choose Sale Method",
                        "enum": [
                            "private_treaty_sale",
                            "auction"
                        ],
                        "type": "string",
                        "description": "Choose private treaty sale to exclude auctions, or auction to exclude private sale listings. Leave empty to include both sale methods."
                    },
                    "rental_property_requirements": {
                        "title": "Choose Rental Requirements",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Only applies when the listing channel is rent. Choose one or more requirements to narrow rental listings, or leave empty to include all rental requirement types.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "furnished",
                                "pets_allowed",
                                "affordable_housing"
                            ],
                            "enumTitles": [
                                "Furnished",
                                "Pets allowed",
                                "Affordable housing"
                            ]
                        }
                    },
                    "outdoor_amenities": {
                        "title": "Choose Outdoor Amenities",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Only include listings that match one or more selected outdoor amenities. Leave empty when outdoor features are not required.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "swimming_pool",
                                "garage",
                                "balcony",
                                "outdoor_area",
                                "undercover_parking",
                                "shed",
                                "fully_fenced",
                                "outdoor_spa",
                                "tennis_court"
                            ],
                            "enumTitles": [
                                "Swimming pool",
                                "Garage",
                                "Balcony",
                                "Outdoor area",
                                "Undercover parking",
                                "Shed",
                                "Fully fenced",
                                "Outdoor spa",
                                "Tennis court"
                            ]
                        }
                    },
                    "indoor_amenities": {
                        "title": "Choose Indoor Amenities",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Only include listings that match one or more selected indoor amenities. Leave empty when indoor features are not required.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "ensuite",
                                "dishwasher",
                                "study",
                                "built_in_robes",
                                "alarm_system",
                                "broadband",
                                "floorboards",
                                "gym",
                                "rumpus_room",
                                "workshop"
                            ],
                            "enumTitles": [
                                "Ensuite",
                                "Dishwasher",
                                "Study",
                                "Built in robes",
                                "Alarm system",
                                "Broadband",
                                "Floorboards",
                                "Gym",
                                "Rumpus room",
                                "Workshop"
                            ]
                        }
                    },
                    "climate_amenities": {
                        "title": "Choose Climate and Energy Amenities",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Only include listings that match one or more selected climate, energy, or utility amenities. Leave empty when these features are not required.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "air_conditioning",
                                "solar_panels",
                                "heating",
                                "fireplace",
                                "high_energy_efficiency",
                                "water_tank",
                                "solar_hot_water"
                            ],
                            "enumTitles": [
                                "Air conditioning",
                                "Solar panels",
                                "Heating",
                                "Fireplace",
                                "High energy efficiency",
                                "Water tank",
                                "Solar hot water"
                            ]
                        }
                    },
                    "accessibility_amenities": {
                        "title": "Choose Accessibility Amenities",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Only include listings that match one or more selected accessibility amenities. Leave empty when accessibility features are not required.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "single_storey",
                                "step_free_entry",
                                "wide_doorways",
                                "elevator",
                                "roll_in_shower",
                                "bathroom_grab_rails",
                                "accessible_parking"
                            ],
                            "enumTitles": [
                                "Single storey",
                                "Step free entry",
                                "Wide doorways",
                                "Elevator",
                                "Roll in shower",
                                "Bathroom grab rails",
                                "Accessible parking"
                            ]
                        }
                    },
                    "maximize_coverage": {
                        "title": "Maximize Matching Results",
                        "type": "boolean",
                        "description": "Enable this to collect a broader set of matching results for the selected location and filter combination. Disable it for faster test runs or smaller sampling workflows.",
                        "default": true
                    },
                    "limit": {
                        "title": "Set Maximum Results",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Enter the maximum number of listings to save. Leave empty to collect all available matching results."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
