Property.com.au Scraper: Sold History & Estimates
Pricing
from $1.60 / 1,000 listings
Property.com.au Scraper: Sold History & Estimates
Scrape property.com.au listings by suburb: price, beds, baths, land size, estimated value, weekly rent estimate and the full sale and rent history of each property. Filter by state, suburb, postcode, sale or rent, property type and bedrooms.
Pricing
from $1.60 / 1,000 listings
Rating
0.0
(0)
Developer
Tuyen Tran
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
an hour ago
Last modified
Categories
Share
Live Sample Dataset & Verified Run Benchmark
Two runs on 2026-11-03 on Apify Cloud, build 0.1.76. Both datasets are public: open the JSON or CSV link in a browser, no login and no run needed.
List run — lQRu6ToUMRx51xYXO · 30 rows · 62 columns · 50.7 s · charged apify-actor-start 1, listing-scraped 30.
JSON · CSV
Detail run — kyXh2YRPCxOKpQbgt · 3 rows · 62 columns · 328.2 s · charged listing-scraped 3, detail-scraped 3.
JSON · CSV
Fill rate on the 30-row list sample: priceNumeric 28/30, sold_date 30/30, estimate_value 0/30. Empty cells are honest: the portal prints “Contact Agent”, “Auction” or “Price withheld”, so priceNumeric stays null instead of guessing. The detail run is the place to see agent phone, description and history.
| # | Address | Price | Beds | Baths | Type | Source |
|---|---|---|---|---|---|---|
| 1 | 12/96 York Street, Richmond, Vic 3121 | $350,000 | 1 | 1 | Open | |
| 2 | 23 Crown Street, Richmond, Vic 3121 | $1,720,000 | 3 | 2 | Open | |
| 3 | 35 Johnson Street, Richmond, Vic 3121 | $2,100,000 | 4 | 1 | Open |
Open the sample, compare the three rows with the source pages, check the $2.005 and $8.005 lines below, and note the 50-row free limit. That is the whole test, under five minutes.
What does the Property.com.au Scraper do?
Scrape property.com.au sold prices, current listings and rent estimates for an Australian suburb without opening each page by hand. Rows carry the sale date, years held, estimated value, weekly rent estimate, planning overlays and school catchment when includeDetails is on. The Free plan can return up to 50 results per run for testing.
It is an API-friendly property data tool, not a login or paywall bypass. It reads public listing pages and returns one flat row per property.
Why scrape property.com.au with this Actor?
The site combines listings with a valuation model and a long sold history. This actor puts those layers into one table you can filter, join and schedule.
| # | Feature | What it means for you | Measured on live runs |
|---|---|---|---|
| 1 | Form filters | Choose state, suburb, postcode, channel, propertyTypes, rooms, land and price without assembling a URL. | Sold search reached 1,005 properties across 51 pages. |
| 2 | Change-only mode | onlyEmitChanges: true returns new, repriced and removed listings instead of the whole suburb every day. | Re-run with no movement returns 0 rows. |
| 3 | Sold timeline | sold_date, last_sold_price, years_held and capital_growth_pct come from the sold record and detail page. | Sold detail sample: 10/10 histories and years-held values. |
| 4 | Smart detail cache | includeDetails: true opens a property once and reuses it for detailCacheDays; a price change drops that cache entry. | Detail coverage 10/10 for estimate, rent estimate and overlays. |
| 5 | Flat output | One row per property, ready for CSV, Google Sheets or a warehouse; the core fields are flat. | 62 columns: 25 core fields plus portal and detail fields. |
| 6 | Automation-ready | Dataset export, API, scheduling, webhooks, n8n, Make, Zapier and Apify MCP for AI agents. | Works with the same input shape as the other two actors. |
The honest limit: no agent phone numbers
property.com.au publishes the agency, not the agent’s mobile number. This actor returns agency_name when details are on, but agent1_phone is not available from this source. Use the realestate.com.au actor when phone numbers are the priority.
What data can you extract from property.com.au?
| Field group | Fields | List mode | Needs includeDetails: true |
|---|---|---|---|
| Identity | listingId, sourcePortal, listingUrl | Yes | No |
| Address | fullAddress, suburb, state, postcode | Yes | No |
| Sale | priceDisplay, priceNumeric, sold_date, sold_days_ago | Sold rows | Full sale history |
| Estimate | rent_estimate_weekly, estimate_value, estimate_low, estimate_high | No | Yes |
| History | history, last_sold_date, last_sold_price, years_held, capital_growth_pct | No | Yes |
| Property | propertyType, bedrooms, bathrooms, carSpaces, landSizeSqm | Yes | No |
| Risk | flood_overlay, bushfire_overlay, heritage_overlay | No | Yes |
| Schools | schools, mobile_coverage | No | Yes |
| Agency | agency_name | No | Yes |
| Lifecycle | changeStatus, daysOnMarket, priceHistory | Yes | No |
sold_date is a real output field. It is populated from the sold-date text or parsed from the “N days ago” label; when neither is printed, it stays null rather than being guessed.
How to scrape property.com.au listings and price history
- Enter
state,suburbandpostcodeon the Input tab. - Choose
channel:buy,rentorsold.modeis accepted as an alias for older tasks. - Set
maxPages,maxItems, and optionallypropertyTypes,minBedrooms,maxBedrooms,minPriceandmaxPrice. - Turn on
includeDetailsto get estimates, rent, overlays, schools and agency; setmaxDetailsanddetailCacheDays. Press Run, then schedule a daily task withonlyEmitChanges: true.
The first run starts the history. Later runs compare against it, so a new stateKey can still inherit the earliest first_seen_at and accumulated priceHistory from the central warehouse.
How much does it cost to scrape property.com.au?
Pricing is pay-per-event. All Apify platform compute and residential/unblocker proxy usage is 100% included in the per-event price. You never pay a separate compute-unit or proxy surcharge.
- List Mode (
includeDetails: false): $2.005 per 1,000 listings on the Apify Standard tier ($0.005 actor start + 1,000 × $0.002 per listing), or ~$1.60 per 1,000 on Apify Scale/Business discounted tiers. - Full Detail Mode (
includeDetails: true): $8.005 per 1,000 listings with full details on the Apify Standard tier ($0.005 actor start + 1,000 × $0.002 listing + 1,000 × $0.006 detail add-on), or ~$6.40 per 1,000 on discounted tiers. A 3-row detail test run costs exactly $0.029. - Free plan limit: Free Apify accounts can extract up to 50 rows per run, enough to inspect the full schema, verify field fill rates and test a suburb before upgrading. Paid Apify plans unlock unlimited rows per run.
- Detail rows are billed whether they are live or served from the cache, because the customer receives the data in both cases.
Input parameters and configuration examples
| Parameter | What it does | Example |
|---|---|---|
state, suburb, postcode | Suburb filter | "VIC", "Richmond", "3121" |
channel | buy, rent or sold | "sold" |
propertyTypes | House, unit, townhouse, villa, land, acreage, rural | ["house"] |
maxPages | Result pages to read | 2 |
includeDetails | Open each property page | true |
maxDetails | Maximum detail pages | 10 |
detailCacheDays | Reuse a detail page for this many days; 0 means always fresh | 30 |
maxItems | Maximum rows returned | 50 |
onlyEmitChanges | New, changed and removed rows only | true |
minPrice, maxPrice | Post-load price filter | 700000, 1400000 |
startUrls | Advanced list/search URL input | ["https://www.property.com.au/vic/richmond-3121/sold/"] |
Sold-suburb run
{"channel": "sold","state": "VIC","suburb": "Richmond","postcode": "3121","propertyTypes": ["house"],"maxPages": 2,"includeDetails": true,"maxDetails": 10,"detailCacheDays": 30,"maxItems": 50}
Daily sold-price watch
{"channel": "sold","state": "VIC","suburb": "Richmond","postcode": "3121","onlyEmitChanges": true,"includeRemovedListings": true,"stateKey": "richmond-sold","maxItems": 50}
Output example
A real sold record from a Cloud run, shortened:
{"listingId": "1752836","sourcePortal": "property.com.au","channel": "sold","fullAddress": "7 Watkin Street, Newtown, NSW 2042","suburb": "Newtown","state": "NSW","postcode": "2042","priceDisplay": "$1,650,000","priceNumeric": 1650000,"sold_date": "15 Mar 2013","changeStatus": "UNCHANGED","daysOnMarket": 0,"bedrooms": 3,"bathrooms": 2,"carSpaces": null,"landSizeSqm": 111,"rent_estimate_weekly": 1360,"years_held": 13,"agency_name": "BresicWhitney - Inner West","listingUrl": "https://www.property.com.au/nsw/newtown-2042/watkin-st/7-pid-1752836/"}
Download the full result as JSON, HTML, CSV or Excel from the Dataset tab, or read it through the Apify API.
🇦🇺 Australian Real Estate Data Suite (5 Portals)
| Actor | Best for | Link |
|---|---|---|
| 🏠 Realestate.com.au Scraper: Price Drops & Agent Leads | Residential buy, rent and sold listings, daily price drops, agent phone numbers | https://apify.com/kotaro001/realestate-com-au-scraper |
| 📈 Property.com.au Scraper: Sold History & Estimates | Suburb sold prices, rent estimates, multi-year history, years_held, school zones | https://apify.com/kotaro001/property-com-au-scraper |
| 🏢 Realcommercial.com.au Scraper: Prices, Yield & Agents | Offices, warehouses, retail and farming; sale, lease, sold, leased and invest cashflow | https://apify.com/kotaro001/realcommercial-com-au-scraper |
| 🏡 OnTheHouse.com.au Scraper: Sold History & Valuations | Cotality AVM estimates, hidden contact-agent prices, multi-decade sale history, suburb medians and agent phones | https://apify.com/kotaro001/onthehouse-com-au-scraper |
| 🏛️ Allhomes.com.au Scraper: EER, Land Value & Rates | Canberra and ACT listings with EER, unimproved land value, UV year, annual rates and auction dates | https://apify.com/kotaro001/allhomes-com-au-scraper |
Pro Tip for investors and buyers’ agents: run the same state, suburb and postcode across all three actors, export the CSV or Sheets tables, and join on fullAddress to compare the live asking price with the sold timeline, rent estimate and commercial income data.
Frequently Asked Questions (FAQ) & Legal Disclaimer
Do I need to configure proxies to scrape property.com.au?
No. The actor manages the Apify proxy and the site’s request limits. You only choose the suburb and the number of pages.
How do I track daily sold prices and removed listings?
Run once, save the run as a task, schedule it daily, and set onlyEmitChanges: true. The next run returns new, changed and removed rows; priceHistory carries the dated price moves.
How do I get rent estimates, years held and school zones?
Set includeDetails: true and maxDetails above zero. The detail page provides rent_estimate_weekly, years_held, overlays and schools. agency_name is also available; agent phone numbers are not published by property.com.au.
Can I connect this Actor to Google Sheets, n8n, or AI Agents (MCP)?
Yes. Export JSON, CSV or Excel from the dataset, call the Apify API from n8n, Make, Zapier or a webhook, or use Apify MCP to let an AI agent query the actor.
Is it legal to scrape public property listings from property.com.au?
This actor is an independent tool. It is not affiliated with, endorsed by, or sponsored by REA Group or property.com.au. It reads publicly available listing pages. How you use the data, and whether your use complies with the site’s terms and Australian law, is your responsibility.
Custom work: need a suburb watchlist, a bulk sold-history export or a CRM feed? Contact actors@zapstackguides.com with your postcodes and fields.