realestate.com.au Scraper — AU Sold Comps, Postcode & Monitor avatar

realestate.com.au Scraper — AU Sold Comps, Postcode & Monitor

Pricing

from $0.99 / 1,000 listings

Go to Apify Store
realestate.com.au Scraper — AU Sold Comps, Postcode & Monitor

realestate.com.au Scraper — AU Sold Comps, Postcode & Monitor

Scrape realestate.com.au sold comps, for-sale, and rental listings by postcode or suburb. Get sold price, sold date, beds, land m², GPS, photos, and agent phone. Monitor new sales. realestate.com.au API alternative for Python, Node.js, and MCP.

Pricing

from $0.99 / 1,000 listings

Rating

0.0

(0)

Developer

Andrej Kiva

Andrej Kiva

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Disclaimer: This is an unofficial integration developed independently. It is not affiliated with, sponsored by, or endorsed by REA Group, realestate.com.au, or any of its subsidiaries.

realestate.com.au and related names are trademarks of their respective owners. Data is read from publicly accessible Australian listing search. No realestate.com.au account login is required.

This Actor is provided for informational, research, CMA, lead-generation, and market monitoring purposes. You are solely responsible for complying with applicable laws (including Australian privacy rules), realestate.com.au's terms of use, and your organization's policies when processing listing and agent data.

realestate.com.au scraper for AU sold comps, for-sale, and for-rent listings — export sold price, sold date, beds, baths, land m², $/m², postcode, GPS, photos, and listing-agent phone into JSON/CSV. Use it as a realestate.com.au API alternative from Python, Node.js, cURL, or Apify MCP / AI assistants: paste postcodes, a suburb, or any search / /property- URL.

Best for: postcode-farm sold comps, CMA worksheets, new-sale monitors, and AU coverage next to the EU/UK/US portal Actors — not another buy-inventory dump.

ActorRole
realestate.com.au Scraper ◄── you are hereAU sold comps, postcode, for-sale & rent
Rightmove ScraperUK Rightmove listings (sale & rent)
Idealista ScraperSpain Idealista listings + agency leads
ImmobilienScout24 ScraperGermany IS24 rent & buy
Yad2 ScraperIsrael Yad2 listings
Airbnb Occupancy ScraperSTR calendars vs long-term comps

When to use this Actor

  • Sold comps by postcode — Drop 2026, 3000, or a farm list. Default status is sold, sorted by sold date, last 30 days.
  • CMA windows past six months — Set Sold within (days) to 90, 180, or 365. Search is date-sorted; the Actor stops once listings fall outside the window.
  • Exact suburb, not neighbours — Surrounding suburbs are off by default (REA otherwise blends in listings from across the water).
  • For-sale or rental pull — Switch listing status, or paste a /buy/ or /rent/ search URL with type / beds / price already in the path.
  • Scheduled monitoring — Re-run the same postcodes and emit only new or status/price-changed rows (new sold this week).
  • One listing — Paste a /sold/property-house-nsw-bondi-151817252 URL to fetch that property.

When not to use this Actor

  • Nationwide agent directories, email enrichment, or Domain.com.au — This version is listing comps on realestate.com.au only.
  • Authenticated REA feeds — No login, saved searches, or contact-unlock walls.
  • A $0.90 buy-inventory dump — Default is sold comps. Switch to for-sale only when you need live stock.

Key features

  • HTTP first, Patchright fallback — Cheap curl_cffi when it works; patched Chromium when Kasada 429s. 2048 MB RAM.
  • Postcode-first builderpostcodes[] is the primary input; suburbs and Start URLs are optional.
  • Sold recency you control — 1–730 days via sold date, default 30, sort sold-date desc.
  • Search + listing URLs — Path filters (property-house, with-3-bedrooms, between-min-max) are kept.
  • Price-band split — Automatic when a query hits the ~2,000-result / 80-page REA window (Bondi sold is 40k+).
  • Monitor mode — Key-value store remembers listing IDs plus status/price/sold date across runs.
  • Residential AU proxy — Required on Apify Cloud; datacenter IPs get Kasada 429. The Actor warms a patched Chrome session through AU residential.

Input

FieldWhat it does
PostcodesPrimary builder. One search per 4-digit AU postcode with the filters below.
Suburbs / locationsBondi, NSW 2026 style fallback when you do not have postcodes.
Start URLsSearch (/sold/, /buy/, /rent/) or listing (/property-) links.
Listing statussold (default), for_sale, or for_rent. Builder only.
Sold within (days)Recency window for sold searches (1–730). Default 30.
Property types / price / beds / baths / landOptional filters. Price is sold price, or list/weekly rent.
Include surrounding suburbsOff by default. Surrounding rows are flagged isSurrounding.
Max listingsCap per run across all postcodes and URLs.
Scrape full detailsOff by default. Adds agent/agency phone and GPS.
Monitor modeSave only new or changed listings on scheduled re-runs.
{
"postcodes": ["2026"],
"listingStatus": "sold",
"soldWithinDays": 30,
"maxItems": 50,
"includeDetails": false,
"monitorMode": false
}

Output

One dataset row per property.

FieldMeaning
id / listingIdrealestate.com.au listing id
urlCanonical listing URL
statussold, for_sale, or for_rent
soldPrice / soldDateNumeric AUD close price and ISO date when sold
listPrice / priceDisplayList or weekly rent, plus the portal display string
pricePerSqmAUD per land or building m²
beds / baths / parking / landSqm / buildingSqmSize
address / suburb / state / postcode / latitude / longitudeLocation (GPS on detail fetch)
agentName / agentPhone / agencyName / agencyPhoneAgent as shown publicly (phones on detail fetch)
photos / floorplans / descriptionMedia and copy
isSurroundingTrue when REA blended a neighbouring suburb
scrapedAtUTC timestamp
{
"id": "151817252",
"url": "https://www.realestate.com.au/sold/property-house-nsw-bondi-151817252",
"status": "sold",
"soldPrice": 2750000,
"soldDate": "2026-08-25",
"priceDisplay": "$2,750,000",
"propertyType": "house",
"beds": 3,
"baths": 2,
"parking": 1,
"postcode": "2026",
"suburb": "Bondi",
"state": "NSW",
"agentName": "James Dunn",
"agencyName": "Sydney Sotheby's International Realty - Double Bay"
}

Use cases

  • Postcode CMA — Pull 30- or 90-day solds for a farm, then chart $/m² by beds.
  • New-sale alerts — Schedule daily with monitor mode; only newly sold rows land in the dataset.
  • Investor screens — For-sale list in the same postcode next to recent solds for spread vs comps.
  • AU vs UK pipeline — Same field style as Rightmove / Idealista / ImmobilienScout24 for a multi-country warehouse.

Integration examples

Replace YOUR_TOKEN with your Apify API token. Actor name: crawloop/realestate-com-au-scraper.

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('crawloop/realestate-com-au-scraper').call({
postcodes: ['2026'],
listingStatus: 'sold',
soldWithinDays: 30,
maxItems: 25,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.slice(0, 5));

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("crawloop/realestate-com-au-scraper").call(
run_input={
"postcodes": ["2026"],
"listingStatus": "sold",
"soldWithinDays": 30,
"maxItems": 25,
}
)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items[:5])

cURL

curl -X POST "https://api.apify.com/v2/acts/crawloop~realestate-com-au-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"postcodes": ["2026"],
"listingStatus": "sold",
"soldWithinDays": 30,
"maxItems": 25
}'

MCP and AI assistants

Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call this Actor by its Store ID / name (crawloop/realestate-com-au-scraper).

Example prompts:

  • "Run realestate.com.au Scraper for postcode 2026 sold last 30 days, max 20, and return address, soldPrice, soldDate, landSqm as JSON"
  • "Scrape realestate.com.au 3000 for-sale houses and summarize median list price vs beds"
  • "Pull Bondi NSW 2026 sold comps with realestate.com.au Scraper, then compare the field set with Rightmove Scraper for an AU vs UK pipeline"

Suite next step

After AU sold comps, add UK sale/rent coverage with Rightmove Scraper, or Spain agency leads with Idealista Scraper.

FAQ

Is this an official realestate.com.au API?
No. It is an unofficial realestate.com.au scraper / API alternative that reads the public listing search payload. It is not affiliated with REA Group. You can call it from Python, Node.js, cURL, or MCP.

How do I scrape realestate.com.au sold listings by postcode with Python or Node.js?
Pass postcodes plus listingStatus: "sold" (the default). Use the snippets above. Add soldWithinDays for the CMA window and monitorMode on a schedule for new closed sales.

How far back do sold comps go?
Public sold search is date-sorted and often spans years, but REA caps a single query at about 80 pages (~2,000 rows). This Actor splits by price band past that window. Coverage still depends on what the portal exposes for that postcode.

Why is agent phone empty on some rows?
Sold search cards show agent name and agency, not the mobile. Turn on Scrape full property details for agentPhone, agencyPhone, and GPS.

Do I need a proxy?
On Apify Cloud, AU RESIDENTIAL is required. HTML search pages return Kasada 429 from datacenter IPs.

ActorRole
Rightmove ScraperUK sale and rent listings
Idealista ScraperSpain sale/rent listings + agency phones
ImmobilienScout24 ScraperGermany rent and buy
Yad2 ScraperIsrael classifieds
Airbnb Occupancy ScraperSTR occupancy calendars