Real Estate AU icon

Real Estate AU

Extract detailed Australian real estate property listings with 30+ structured fields, including price, description, indoor and outdoor features,…

Start using this actor on Apify ↗Need a custom scraper?Contact us ↗

Real Estate AU at a glance

Real Estate AU is a ready-to-run Apify actor from abotapi for collecting real estate data. Its documented output includes id, change type (incremental mode), type, property and project (new apartments), which you can export as JSON, CSV or Excel or read through the Apify API. It costs $2.20 per 1,000 results on the Apify Free plan and from $1.50 on paid plans, with smaller per-run or optional feature charges listed on Apify.

Runs on
Apify cloud: console, API, schedules and integrations
Data type
Real Estate, Lead Generation, Automation
Region
Oceania
Pricing
$2.20 per 1,000 results (Free plan), from $1.50 on paid plans
Output
Documented below · JSON, CSV, Excel
Inputs
29 options

Extract detailed Australian real estate property listings with 30+ structured fields, including price, description, indoor and outdoor features, coordinates, nearby schools, agent contact details, images, and listing price history where available.

What Real Estate AU can do

  • Two ways to search. Pick a suburb, state or postcode and filter by price, bedrooms and property type, or paste a search URL already refined in a browser for complex or multi-suburb queries.
  • Full detail-page data. Every listing carries description, structured indoor/outdoor features, coordinates, media counts and agent or agency contacts, not just the search-results summary.
  • Every listing type. Buy, rent, recently sold, and new apartments (off the plan), where each result is a whole development rather than one unit.
  • Optional deep enrichment. Turn on nearby schools, a full historical price/lease timeline, or valuation and suburb market insights. Only the price history adds an extra per-listing charge; schools and insights are free to switch on.
  • Automatic pagination and deduplication. Pages through results until your limit is reached, with no duplicate listings across pages or search URLs.
  • Built for schedules. Incremental mode returns only new and changed listings on recurring runs, and a refused run fails loudly instead of returning an empty dataset.

Choose what to collect

These inputs let you configure Real Estate AU - Listings, Prices, Agents & History. Open the actor on Apify to enter your values and review the current options.

Supported input fields
InputWhat it controls
modestring · requiredLocation mode = pick suburb + state + filters below. URL mode = paste any search URL already refined in a browser (recommended for complex filters or multi-suburb queries).

Choices: location, url

locationsarrayLocations to search. Suburb, state, and postcode are all optional - provide whichever you have. Example: Sydney / NSW.
listingTypestringType of property listings to scrape. Location mode only.

Choices: buy, rent, sold

sortBystringSort order for search results. Only applies in location mode.

Choices: relevance, list-date, list-date-asc, price-asc, price-desc, next-inspection-time, next-auction-time

dateRangestringHow far back to search for sold listings. Only applies when listing type is 'Recently Sold'.

Choices: 30days, 3months, 6months, 12months, all

propertyTypesarrayFilter by property type (leave empty for all)
priceMinintegerMinimum property price (AUD)
Show 22 more inputs
More input fields
InputWhat it controls
priceMaxintegerMaximum property price (AUD)
bedroomsMinintegerMinimum number of bedrooms
bedroomsMaxintegerMaximum number of bedrooms
bathroomsMinintegerMinimum number of bathrooms
includeSurroundingbooleanInclude properties from surrounding suburbs in results.
urlsarraySearch result page URLs to scrape. The /list-N/ segment sets the starting page; pagination then continues forward up to Maximum Pages. New-apartment (off the plan) URLs such as /new-apartments/nsw/ are supported too: a state URL is resolved into that state's areas automatically, and each result is one development rather than one apartment. Those pages are not paginated, so Maximum Pages does not apply to them and Maximum Listings bounds the run instead. Tip: open the site, apply your filters in a browser, then paste the resulting URL here. In URL mode, all the filter fields above are ignored. If you leave this field untouched (omitted) in URL mode, one example of each confirmed new-apartments page shape (state, region, suburb and the national hub) is scraped; a list you explicitly empty stops with a No URLs error. Pages that are not search result pages (for example a single /property-... listing URL) are skipped with a warning.
includeNearbySchoolsbooleanFetch nearby schools for each listing (uses coordinates), grouped into primary, secondary, and combined (K-12). Adds ~0.5s per listing.
includePriceHistorybooleanEnable this to add a full historical timeline (every prior sale, listing, lease, and withdrawal - with date, price, and listing agent) to each result. Off by default - leave unticked if you do not need it. Adds ~1-2s per listing. Billed only when a non-empty timeline is successfully attached; no charge if the lookup returns no events.
includePcaInsightsbooleanEnable this to attach property valuation (sale + rental AVM with confidence range), suburb market trends (median price/rent + 12-month growth), planning overlays (bushfire/flood/heritage), council, NBN connection type, school zoning, nearby childcare centres, built year, mobile coverage, and media counts to each result. Off by default. Adds ~1-2s per listing. Billed once per listing whose insights successfully attach; no charge on lookup failures. Can be combined with Include Price History, both share a single backend call.
maxListingsintegerStop after scraping this many listings. Set to 0 for unlimited.
maxPagesintegerMaximum search result pages to process per location. Each page has ~20 results. Set to 0 for unlimited (default).
resumeFromRunIdstringPaste a previous run ID or dataset ID to continue a large crawl of properties without returning or charging for properties already collected there. Use this after an interrupted run, or when continuing a large pull in another run. For recurring daily monitoring of the same search, use Incremental mode below instead.
incrementalModebooleanTurn this on for daily or recurring monitoring. The first run returns all matching properties as NEW. Later runs normally return only NEW, UPDATED, and REAPPEARED properties. A property is UPDATED when a tracked field changed (price, status, address, features, description, agent, agency, auction and inspection details, dates listed or sold, media); changedFields names which. Never compared, but still in the output: scrapedAt, the paid-promotion flags (featured, productDepth, tier), dateUpdated, daysOnMarket, the numbered image host and relative "Added 3 days ago" badges. Add more with Ignore fields below. Turn on "Emit unchanged" or "Emit expired" only when you also want those properties returned (and billed). State is kept separately for each location/URL and filter/enrichment setup; use State key when you want to name or deliberately share a monitoring campaign. To continue one specific interrupted run instead, use Resume from a previous run above.
stateKeystringOptional. Name this monitoring campaign to keep its state stable, or to deliberately share state across differently-configured runs. Leave empty to let the actor derive a key automatically from the location/URL and filter/enrichment settings, different searches then never mix state with each other.
emitUnchangedbooleanOff by default. Turn on to also return properties that have not changed since the last run, marked UNCHANGED. This returns, and bills, extra rows you already have, so leave it off unless you specifically want the full snapshot every run.
emitExpiredbooleanOff by default. Turn on to also return properties that were present in a previous run but are no longer found, marked EXPIRED. Only produced once a run has fully scanned the tracked search, not when Max listings/Max pages capped it or when Resume was used. This returns, and bills, extra synthetic rows, so leave it off unless you need expiry tracking.
ignoreFieldsForChangesarrayOptional. Field names that must NOT count as a change in incremental mode, so a listing is not flagged UPDATED (and billed) because of them. Nested fields use dots, e.g. price.display or agency.logoUrl; a name inside a list applies to every item. The fields stay in the output, they are just not compared. Already ignored by default: scrapedAt, featured, productDepth, tier, dateUpdated, daysOnMarket.
mcpConnectorsarrayOptionally send the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize a connector once under Apify → Settings → Integrations, then select it here. Notion gets a page per item; other connectors receive a best-effort write/digest. Leave empty to skip, this never changes the dataset output. Supported: Notion (https://mcp.notion.com/mcp), Linear (https://mcp.linear.app/sse), Airtable (https://mcp.airtable.com/mcp), Apify (https://mcp.apify.com).
notionParentPageUrlstringURL (or id) of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors.
maxNotifyListingsintegerCap on items written to each connector per run. Does not affect the dataset.
startUrlstringAlias for a single search URL. Folded into Search URLs and switches to URL mode when no locations are given. Explicit Search URLs are kept as well.
maxItemsintegerAlias for Maximum Listings. Applies only when Maximum Listings is left at its default (20); an explicit Maximum Listings wins.

Fields in the output

The documented dataset includes the fields below. Availability can depend on the source page and selected mode.

propertyIdID (text)
changeTypeChange type (incremental mode) (text)
listingTypeType (text)
propertyTypeProperty (text)
projectNameProject (new apartments) (text)
addressAddress (object)
pricePrice (object)
featuresFeatures (object)
urlURL (link)
descriptionDescription (text)
propertyFeaturesFeatures (object)
propertyFeaturesStructuredStructured Features (object)
Show 12 more fields
coordinatesCoordinates (object)
nearbySchoolsSchools (object)
agentAgent (object)
agentsAll Agents (object)
agencyAgency (object)
priceHistoryTimeline (object)
valueEstimatesAVM (object)
marketInsightsSuburb Trends (object)
pcaInsightsInsights (object)
changedFieldsChanged fields (array)
firstSeenAtFirst seen (text)
lastSeenAtLast seen (text)

Example output

An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.

{
  "propertyId": "148523671",
  "url": "https://www.realestate.com.au/property-house-nsw-sydney-148523671",
  "listingType": "buy",
  "propertyType": "house",
  "address": {
    "street": "12 Sample St",
    "suburb": "Sydney",
    "state": "NSW",
    "postcode": "2000",
    "full": "12 Sample St, Sydney NSW 2000"
  },
  "coordinates": {
    "latitude": -33.87,
    "longitude": 151.21
  },
  "price": {
    "display": "$1,200,000"
  },
  "features": {
    "bedrooms": 3,
    "bathrooms": 2,
    "parkingSpaces": 1,
    "hasStudy": false,
    "hasBalcony": true,
    "hasPool": false,
    "hasGarage": true
  },
  "headline": "Family Home in the Heart of Sydney",
  "description": "A well presented three bedroom home close to schools and transport.",
  "propertyFeatures": [
    "Air conditioning",
    "Built-in wardrobes",
    "Dishwasher"
  ],
  "media": {
    "imageCount": 12,
    "images": [],
    "floorplanUrl": "https://example.realestate.com.au/floorplan.jpg"
  },
  "agent": {
    "name": "Sample Agent",
    "phone": "0400 000 000"
  },
  "agency": {
    "name": "Sample Realty"
  },
  "inspectionTimes": [
    {
      "startTime": "10:00am",
      "endTime": "10:30am",
      "dateDisplay": "Saturday 4 Oct",
      "isAuction": false
    }
  ],
  "constructionStatus": "established",
  "scrapedAt": "2026-09-28T04:00:00.000Z"
}

Ways to use this data

  • Property portals and listing aggregators: feed buy, rent and sold listings with full detail into your own site or app.
  • Market research and valuation: combine price history, automated valuations and suburb trends to track a market over time.
  • Lead generation: collect agent and agency contact details by suburb for outreach or CRM enrichment.
  • Investment and rental analysis: monitor a suburb or price band on a schedule and get only the new and changed listings.
  • Off-the-plan tracking: follow new apartment developments by state, region or suburb as they're released.

Before you run

Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.

Questions about this actor

What data does Real Estate AU return?

The documented output for Real Estate AU includes id, change type (incremental mode), type, property, project (new apartments), address, price and features. Availability of each field depends on the source page and the selected mode.

How much does Real Estate AU cost?

It costs $2.20 per 1,000 results on the Apify Free plan and from $1.50 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.

What are the charged events?

Pay per event: a result for each listing pushed to the dataset, a price history enrichment once per listing, and a per-run Actor start event. Rates depend on your Apify plan and are shown on the Pricing tab. A result is charged for each listing pushed to the dataset. The price-history enrichment is charged once per listing, only when Include price history is on and the history is attached. Nearby schools and valuation or market insights add no extra charge. The Pricing tab is authoritative.

Can I get only new or changed listings on a schedule?

Yes. Schedule the actor from the Schedules tab and turn on Incremental mode. Each run then returns only new, updated and reappeared listings, and unchanged ones are not billed unless you turn on emitUnchanged.

What happens if I choose URL mode and leave the URLs empty?

URL mode with the URLs field omitted or left at its prefilled value now scrapes four example new-apartments pages (a state page, a region page, a suburb page and the national hub) instead of failing with "No URLs". A list you explicitly empty ("urls": []) still stops with "No URLs". Pasted URLs that are not search result pages, such as a single /property-... listing URL, are skipped with a warning.

Why does URL mode ignore my filter fields?

URL mode takes the filters already baked into the pasted search URL, so the location, price, bedroom and property-type fields above are ignored to avoid conflicting instructions. Refine your search in a browser first, then paste the resulting URL.

Ready to collect with Real Estate AU?

Run it on Apify with your own input and export the results as JSON, CSV or Excel.