AU Residential Property $0.9💰 avatar

AU Residential Property $0.9💰

Pricing

from $1.00 / 1,000 results

Go to Apify Store
AU Residential Property $0.9💰

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

AbotAPI

Maintained by Community

Actor stats

1

Bookmarked

22

Total users

6

Monthly active users

a day ago

Last modified

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)

FieldNotes
listing_typebuy, rent, or sold
propertyTypesHOUSE, APARTMENT, TOWNHOUSE, VILLA, LAND, ACREAGE, RURAL, BLOCK_OF_UNITS, RETIREMENT
priceMin / priceMaxAUD
bedroomsMin / bathroomsMin
landSizeMinsquare metres
carSpacesMin
keywordse.g. "pool", "renovated", "corner block"
excludeUnderOfferbuy only
sortByNEW_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 use default for the default dataset
  • clear_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: 10 for 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_pages is a per URL budget. If you pass three URLs and set max_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 timeline array.