Domain.com.au Scraper — Property Listings avatar

Domain.com.au Scraper — Property Listings

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Domain.com.au Scraper — Property Listings

Domain.com.au Scraper — Property Listings

Scrape Domain.com.au sale, rent, and sold listings with prices, property features, addresses, agents, images, and real estate data.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

15 days ago

Last modified

Share

Scrape Domain.com.au — Australia's leading real estate portal — for structured property listings data. Extract sale prices, rental rates, property specs, agent contact details, images, floorplans, and inspection times. Supports For Sale, For Rent, and Sold listing modes. Returns JSON ready for investment analysis, rental yield tracking, and AI-powered property tools.

Export scraped data, run the scraper via API, schedule and monitor runs, or integrate with other tools.

Features

  • Three listing modes — For Sale, For Rent, and Sold properties
  • Smart location input — paste a Domain.com.au URL or specify suburb/state/postcode
  • Rich property filters — bedrooms, bathrooms, parking, price range, property type
  • Full detail enrichment — optional deep-scrape of each listing page for descriptions, all photos, features, and inspection times
  • API-first extraction — pulls Domain's Next.js JSON payload directly (Accept: application/json) — no HTML parsing
  • Retry logic — automatic retries with exponential backoff for transient failures
  • Agent contact data — agency name, agent name, and contact details
  • Price history — sold price and sale date for sold listings
  • Structured JSON output — typed records ready for databases, spreadsheets, and ML models

Use Cases

Use CaseDescription
Property market researchCompare listing prices and supply across suburbs
Investment analysisExtract rental yields and sold prices for ROI calculations
Rental yield trackingScrape rent vs sale prices to identify high-yield suburbs
Agency lead generationCollect agent contact details and active listings for outreach
Automated valuation modelsFeed structured property data into ML price prediction models
Suburb comparisonBuild data-driven tools for home buyers comparing areas

Input

FieldTypeDefaultDescription
searchUrlsstring[]Domain.com.au search page URLs (copy from the website with filters applied)
searchLocationsobject[]Structured location: { suburb, state, postcode }
listingModestring"sale""sale", "rent", or "sold"
maxListingsinteger50Max listings to return (1–500)
scrapeDetailPagesbooleantrueFetch full listing details (images, description, features, inspection times)
propertyTypesstring[][]Filter: house, apartment, townhouse, land, rural
minBedroomsintegerMinimum bedroom count
maxBedroomsintegerMaximum bedroom count
minPriceintegerMinimum price in AUD
maxPriceintegerMaximum price in AUD

Output

Each record represents one property listing:

{
"listingId": "2019362845",
"address": "42 Harbour Street, Pyrmont NSW 2009",
"suburb": "Pyrmont",
"state": "NSW",
"postcode": "2009",
"price": "$1,450,000",
"priceValue": 1450000,
"bedrooms": 3,
"bathrooms": 2,
"carSpaces": 1,
"propertyType": "Apartment",
"landSize": null,
"description": "Stunning harbour views from this light-filled 3-bedroom apartment...",
"features": ["Air conditioning", "Balcony", "Built-in wardrobes", "Gym"],
"agencyName": "McGrath Estate Agents",
"agentName": "John Smith",
"listingUrl": "https://www.domain.com.au/42-harbour-street-pyrmont-nsw-2009-2019362845",
"imageUrls": ["https://bucket-api.domain.com.au/..."],
"inspectionTimes": ["Saturday 2 Aug 2025 10:30am – 11:00am"],
"daysOnMarket": 12,
"scrapedAt": "2025-08-01T12:00:00.000Z"
}

API Usage

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('USERNAME/domain-scraper').call({
searchLocations: [
{ suburb: 'Surry Hills', state: 'nsw', postcode: '2010' },
{ suburb: 'Fitzroy', state: 'vic', postcode: '3065' },
],
listingMode: 'sale',
maxListings: 100,
minBedrooms: 2,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Found ${items.length} properties`);

Pricing

This actor charges per listing returned.

VolumeEstimated Cost
100 listings~$0.10
1,000 listings~$1.00
5,000 listings~$5.00

FAQ

Q: Does this work for all Australian states? Yes — Domain.com.au covers all Australian states. Specify the state code (nsw, vic, qld, sa, wa, tas, act, nt) in your location input.

Q: How do I get sold prices? Set listingMode to "sold". Sold records include the final sale price and sale date.

Q: Can I filter by property type? Yes — use propertyTypes to filter by house, apartment, townhouse, land, or rural.

What is Domain.com.au Scraper?

Domain.com.au Scraper turns the target data into structured, reusable results on Apify. Use it when you need repeatable collection for real estate analysts, agencies, investors, lead-generation teams, and property-data workflows without maintaining a custom scraper or one-off integration. Run it manually, schedule recurring jobs, call it through the Apify API, or connect it to an AI agent through the Apify MCP server.

The Actor stores results in an Apify dataset, where they can be previewed and exported as JSON, CSV, Excel, XML, or RSS. Availability and completeness depend on the source, supplied inputs, public visibility, authentication requirements, and upstream rate limits.

Use cases for Domain.com.au Scraper

  • Build structured datasets for research, reporting, enrichment, or monitoring.
  • Automate repetitive collection with schedules, webhooks, and API calls.
  • Feed clean records into spreadsheets, databases, CRMs, BI tools, AI agents, or RAG pipelines.
  • Track changes over time by running the same validated input on a schedule.
  • Replace fragile manual copy-and-paste work with a reproducible Apify workflow.

How to use Domain.com.au Scraper

  1. Open the Actor input page and choose a focused, valid target.
  2. Set a conservative result limit for the first run.
  3. Start the Actor and inspect the dataset for coverage and field availability.
  4. Export the results or connect the dataset to your downstream system.
  5. Scale gradually and use scheduling, pagination, or proxies when supported.

Important input options

  • searchUrls — Paste complete Domain.com.au search URLs. Use this OR Search Locations — not both.
  • searchLocations — Specify Australian suburbs to scrape. Each entry needs suburb, state (vic/nsw/qld/wa/sa/tas/nt/act), and postcode. URLs are built automatically from these plus your filters.
  • listingMode — Type of listings to scrape.
  • maxListings — Maximum number of property listings to scrape across all searches.
  • includePropertyDetails — Scrape each listing's detail page for full description, images, coordinates, price history, schools, and agent contact info. Disable for faster results.
  • sortBy — How Domain sorts the listings on each search page. Affects which properties hit the maxResults limit first.
  • propertyTypes — Filter by property type: house, apartment, townhouse, villa, land, acreage, retirement, unit-block. Leave empty to include all types.
  • minBedrooms — Minimum number of bedrooms. Set to 0 or leave empty for no minimum.

API and automation example

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('muhammadafzal/domain-scraper').call({
// Add the same input fields you use in the Apify Console.
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Use these dedicated tools when a neighboring data source or workflow is a better match:

Frequently asked questions

How many results can I scrape with Domain.com.au Scraper?

The practical total depends on the source, input limits, pagination, available records, run timeout, and upstream restrictions. Start with a small run, verify the output, and increase the limit gradually.

Can I integrate Domain.com.au Scraper with other apps?

Yes. Use Apify integrations, webhooks, schedules, dataset exports, Make, Zapier, Google Sheets, cloud storage, or your own application.

Can I use Domain.com.au Scraper with the Apify API?

Yes. Start runs with the Apify REST API or an official Apify client, then retrieve records from the run's default dataset. Keep your API token in a secret or environment variable.

Can I use Domain.com.au Scraper through an MCP Server?

Yes. The Apify MCP server can expose the Actor to compatible AI clients and agents. Review the input and expected cost before allowing an autonomous workflow to run it at scale.

Do I need proxies?

It depends on the source and volume. Use the default configuration first. For larger or geographically sensitive jobs, select an appropriate proxy configuration only when the Actor supports it.

Scraping rules vary by source, jurisdiction, data type, and intended use. Collect only data you are authorized to access, respect applicable terms and privacy laws, and avoid restricted or personal data misuse. This documentation is not legal advice.

Your feedback

If a field is missing, a source layout has changed, or you need a supported use case documented, open an issue on the Actor page with a reproducible input and run ID.