AU Residential Property $0.9💰
Pricing
from $1.00 / 1,000 results
AU Residential Property $0.9💰
From $0.9/1K. Scrape Australian property listings from property.com.au with rich detail-page enrichment. Each listing record comes back with far more than the usual "address + price + beds". You get the full picture that a buyer would see on the site.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
AbotAPI
Actor stats
1
Bookmarked
22
Total users
6
Monthly active users
a day ago
Last modified
Categories
Share
Property AU Scraper
Scrape Australian property listings from property.com.au with rich detail-page enrichment. Each listing record comes back with far more than the usual "address + price + beds". You get the full picture a buyer would see on the site.
What you get per listing
Every result is a complete property record:
- Address & location: full street address, suburb, state, postcode, latitude & longitude
- Listing state: for sale / for rent / sold / off-market, plus the current asking price and price detail (e.g. "Listed by agent on a given date")
- Core features: bedrooms, bathrooms, car spaces, land size, floor area, year built, mobile coverage
- Full description: the listing's long-form description text
- Price history timeline: every sale, rent, lease and listing event on the property, often going back decades
- AVM value estimates: automated sale and rental valuations with confidence bands
- Nearby schools: zoned and non-zoned primary & secondary schools with distance, student counts, sector and grades
- Planning overlays: bushfire, flood and heritage overlay flags, council name, land description
- NBN / internet availability: connection type (FTTP / FTTB / FTTN / HFC), quality rating, description
- Market insights: suburb-level median price & rent with 12 month change
- Media: image URLs (all photos), media counts (floor plans, videos, 3D tours)
- Breadcrumbs: the navigation hierarchy from state to suburb to street
Two ways to run it
Listing mode (default). Describe what you want with structured filters:
{"mode": "listing","search": "southbank","listing_type": "buy","propertyTypes": ["HOUSE", "APARTMENT"],"priceMin": 500000,"priceMax": 900000,"bedroomsMin": 2,"max_properties": 100,"max_pages": 5}
search accepts a suburb name, postcode, or city: southbank, 3006, brisbane, melbourne. Ambiguous or misspelled queries fail fast rather than running against the wrong location.
URL mode. Paste property.com.au search URLs directly and let the scraper walk them forward:
{"mode": "url","urls": ["https://www.property.com.au/search/?locations=Melbourne%2C+VIC+3000&propertyStatus=FOR_SALE&pageNumber=2"],"max_properties": 60,"max_pages": 3}
Pagination walks forward from the URL's own ?pageNumber=N. Pass pageNumber=2 with max_pages=3 and you get pages 2, 3 and 4.
Filters (listing mode)
| Field | Notes |
|---|---|
listing_type | buy, rent, or sold |
propertyTypes | HOUSE, APARTMENT, TOWNHOUSE, VILLA, LAND, ACREAGE, RURAL, BLOCK_OF_UNITS, RETIREMENT |
priceMin / priceMax | AUD |
bedroomsMin / bathroomsMin | |
landSizeMin | square metres |
carSpacesMin | |
keywords | e.g. "pool", "renovated", "corner block" |
excludeUnderOffer | buy only |
sortBy | NEW_DESC (default), PRICE_ASC, PRICE_DESC, RELEVANCY, NEXT_AUCTION, NEXT_INSPECTION |
In URL mode these filters are ignored. Encode them directly in your URLs (e.g. &minPrice=500000&minBedrooms=2).
Limits & dataset
max_properties: hard cap on results (0 = unlimited)max_pages: per URL page budget (0 = unlimited)dataset_name: custom dataset name; omit or usedefaultfor the default datasetclear_dataset: wipe the dataset before the run
Each listing is pushed into the run's dataset as a JSON record. A run summary is written to the key value store under METADATA with mode, total scraped, duration and throughput.
Example output record (shape only)
{"id": "<property id>","address": "<full street address>","suburb": "<SUBURB>","state": "<STATE>","postcode": "<postcode>","latitude": 0,"longitude": 0,"listing_type": "buy","listing_status": "<current status>","property_type": "<house | unit | townhouse | ...>","price": "<asking price text>","price_details": "<listing detail text>","features": {"bedrooms": 0,"bathrooms": 0,"car_spaces": 0,"land_size": "<area with unit>","floor_area": "<area with unit>","built_year": 0,"mobile_coverage": "<coverage tier>"},"description": "<long form listing description>","timeline": [{ "event": "listed_for_sale", "year": "NOW", "price": "<price>", "date": "<date>", "agent": "<agent>" },{ "event": "sold", "year": 0, "price": "<price>", "date": "<date>" },{ "event": "leased", "year": 0, "date": "<date>" }],"value_estimates": {"sale": { "value": 0, "display": "<price>", "confidence": "HIGH", "range_min": 0, "range_max": 0 },"rental": { "value": 0, "display": "<price pw>", "confidence": "MEDIUM", "range_min": 0, "range_max": 0 }},"schools": {"primary": [{ "name": "<school name>", "is_zoned": true, "grades": "Prep-6", "sector": "<Government | Catholic | Independent>", "students": 0, "distance": "<km>" }],"secondary": [{ "name": "<school name>", "is_zoned": true, "grades": "7-12", "sector": "<Government | Catholic | Independent>", "students": 0, "distance": "<km>" }]},"planning_overlays": { "bushfire": false, "flood": false, "heritage": false },"council": "<council name>","land_description": "<planning / zoning description>","internet": { "connection_type": "<FTTP | FTTB | FTTN | HFC>", "quality": "<quality tier>" },"market_insights": {"median_price": "<suburb median>","price_growth_12mo": "<percent>","median_rent": "<suburb median rent>","rent_growth_12mo": "<percent>"},"media": { "image_count": 0, "images": ["<image url>"] },"breadcrumbs": [{ "title": "<segment>", "url": "<link>" }],"property_url": "<canonical property page url>","status": "success"}
Tips
- Start small. Set
max_properties: 10for a first run to verify your filters before scaling up. - Use URL mode for complex filters. Property.com.au's own search URL encodes every filter the site supports. Build a search on the site, copy the URL, and paste it into
urls. max_pagesis a per URL budget. If you pass three URLs and setmax_pages: 5, the scraper walks up to 5 pages for each of them.- Sold listings show "Off market" status. That's how property.com.au displays them. The sold price sits inside the
timelinearray.