Harcourts Scraper [$1.5/1K💰] | Sold & Rent | Agent Emails avatar

Harcourts Scraper [$1.5/1K💰] | Sold & Rent | Agent Emails

Pricing

from $1.47 / 1,000 results

Go to Apify Store
Harcourts Scraper [$1.5/1K💰] | Sold & Rent | Agent Emails

Harcourts Scraper [$1.5/1K💰] | Sold & Rent | Agent Emails

Scrape Harcourts Australia property listings — buy, sold, rent, leased. Address, suburb, price, beds/baths/cars, agent, office, photos, floor plan. Full detail mode harvests agent emails with zero extra requests. Pure HTML parsing, no browser. From ~$1.5 per 1,000 listings (details +$0.50/1K).

Pricing

from $1.47 / 1,000 results

Rating

0.0

(0)

Developer

Ahmed Jasarevic

Ahmed Jasarevic

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

18 days ago

Last modified

Categories

Features

Limited permissions

Share

Harcourts Scraper - Australian Property Listings and Agent Emails

The Harcourts Scraper collects public property listings from Harcourts Australia. It returns sale, sold, rent and leased listings with addresses, prices, bedrooms, bathrooms, car spaces, property type, photos, floor plans, office details, agent profiles and public contact emails.

Use it for Australian real estate lead lists, agent email research, sold-price monitoring, rental market analysis and office-level reporting. Search pages, individual listings and office pages are supported. Detail mode visits each property page for the full description, gallery, floor plan and agent information without a browser.

Main Use Cases for Australian Property and Agent Data

  • Real estate agent lead lists - collect agent names, offices, profile URLs and public emails from active listings.
  • Sold and leased price research - compare sale, sold and rental listings by suburb and property type.
  • Office performance analysis - crawl a Harcourts office page and measure its active inventory and listing mix.
  • Property database enrichment - append addresses, beds, baths, cars, photos and floor plans to an internal CRM.
  • Rental market monitoring - track rent listings by suburb, price and property configuration.
  • Vendor and investor research - build suburb-level shortlists with price guides and listing descriptions.
  • AI property research - give an LLM compact listing rows with source URLs and agent attribution.

How It Works

Harcourts Australian property listings becoming structured rows with addresses, prices, agents, photos and floor plans

Add Harcourts search, listing or office URLs to startUrls. A search page is paginated automatically and keeps the filters in the URL. An individual listing is resolved as one property, while an office page fans out to that office's listings. maxItems is a hard cap on saved properties.

The listing parser reads the property ID, canonical URL, listing mode, property type, title, address, suburb, state, postcode, bedrooms, bathrooms, car spaces, study rooms, price display, photo count, floor plan URL, office and agent data. Search-level fields are available without opening every property.

With includeDetails enabled, each property page is visited for the full description, complete photo gallery, floor plan, study rooms, office profile and agent profiles. Public emails found in inspection or contact blocks are collected as harvestedEmails in the same detail event, with no extra request per email.

flatten is on by default for spreadsheet-friendly output. Nested address and office values become address_* and office_* columns, while arrays such as photos_json, agents_json and harvestedEmails_json are JSON strings. Turn flatten off when you want the original nested objects and arrays.

Harcourts pages are server-rendered, so the Actor uses Cheerio and plain HTTP rather than a browser. maxConcurrency, minConcurrency, maxRequestRetries and delayMs control politeness and throughput. A listing that is removed, private or malformed may return fewer fields or no row; the source URL and property ID keep the gap auditable.

Input

At least one start URL is required. Detail mode is optional and adds description, gallery, floor plan and agent email data at an extra event cost.

FieldTypeRequiredDefaultWhat it does
startUrlsstring[]YesBuy listings pageHarcourts search, individual listing or office URLs. Search filters are preserved.
maxItemsintegerNo1000Hard cap on saved properties, from 1 to 50,000.
maxConcurrencyintegerNo16Maximum detail and search pages fetched in parallel.
minConcurrencyintegerNo1Minimum detail-page concurrency.
maxRequestRetriesintegerNo5Retries before a failed request is abandoned.
delayMsintegerNo100Delay between requests in milliseconds. Zero is fastest but least polite.
includeDetailsbooleanNofalseVisit each property for description, gallery, floor plan, agents and harvested emails.
proxyConfigurationobjectNoApify ProxyProxy settings for the crawler. Apify Proxy is enabled by default.
flattenbooleanNotrueFlatten address and office fields and JSON-stringify arrays for CSV-friendly rows.

Start with a search URL, maxItems around 50 and includeDetails off. Turn detail mode on when you need descriptions, galleries, floor plans or agent emails. maxItems applies across all start URLs, not per URL. A high concurrency with a low delay can trigger rate limits; keep the default delay unless you have a reason to change it.

Output

The default flattened row has 29 fields, including address and office columns plus JSON strings for photos, agents and harvested emails. With flatten off, the same data is nested.

Field groupFieldsWhat you get
Property identityportal, listingId, propertyId, uuid, canonicalUrlPortal label, Harcourts listing and property IDs, UUID and canonical listing URL.
ListinglistingMode, propertyType, titleText, headline, description, priceDisplaySale, sold, rent or leased mode, property type, title, headline, description and price guide.
Addressaddress_displayAddress, address_streetAddress, address_suburb, address_state, address_postcodeFlattened address components for mapping and suburb analysis.
Configurationbedrooms, bathrooms, carspaces, studyRoomsBed, bath, car and study counts when published.
Mediaphotos_json, photosCount, floorPlanUrlJSON string of photo URLs, photo count and floor plan URL.
Office and agentsoffice_name, office_slug, office_profileUrl, agents_json, harvestedEmails_jsonOffice attribution, agent profiles and public emails harvested from detail pages.

photos_json, agents_json and harvestedEmails_json are JSON strings when flatten is on; parse them before use. floorPlanUrl, studyRooms, headline, description and agent emails can be empty, especially in listings-only mode. priceDisplay is a text guide, not a normalized number. Use propertyId or canonicalUrl as the stable key.

Pricing

Pricing is pay-per-event. A start event is charged per run, each property is a result, and detail mode adds one detail event per enriched property.

EventFREEBRONZESILVERGOLD+
Actor start, per run$0.0005$0.0005$0.0005$0.0005
Property result$0.0015$0.00149$0.00148$0.00147
Property details$0.0005$0.0005$0.0005$0.0005

Listings-only data costs $1.50 per 1,000 properties. Detail enrichment adds $0.50 per 1,000, so full detail costs about $2.00 per 1,000 before the start fee. There is no separate free-result cap in the Actor; each saved property and detail event is billed.

Example Input

{
"startUrls": [
"https://harcourts.net/au/listings/buy"
],
"maxItems": 100,
"maxConcurrency": 8,
"delayMs": 100,
"includeDetails": true,
"flatten": true,
"proxyConfiguration": {
"useApifyProxy": true
}
}

This crawls the buy listings, keeps up to 100 properties and enriches each row with full details and public agent emails.

Example Output

{
"portal": "harcourts",
"listingId": "42438407",
"propertyId": "L42438407",
"uuid": "43762281-ba82-4381-befc-06a46f8cdbf5",
"canonicalUrl": "https://harcourts.net/au/office/valley-to-vines/listing/l42438407-83-gardiner-street-moora-wa-6510",
"listingMode": "sale",
"propertyType": "House",
"titleText": "83 Gardiner Street, MOORA, WA 6510 - House for Sale",
"headline": "Country Charm in the Heart of Town",
"description": "Set on a generous 911sqm block, this four-bedroom home combines country character with practical everyday living.",
"address_displayAddress": "83 Gardiner Street, Moora, WA 6510",
"address_streetAddress": "83 Gardiner Street",
"address_suburb": "Moora",
"address_state": "WA",
"address_postcode": "6510",
"bedrooms": 4,
"bathrooms": 1,
"carspaces": 2,
"studyRooms": 0,
"priceDisplay": "Offers from $429,000",
"photos_json": "[\"https://example.com/photo-1.jpg\"]",
"photosCount": 18,
"floorPlanUrl": "https://example.com/floorplan.pdf",
"office_name": "Valley to Vines",
"office_slug": "valley-to-vines",
"office_profileUrl": "https://harcourts.net/au/office/valley-to-vines",
"agents_json": "[{\"name\":\"Jane Agent\",\"profileUrl\":\"https://harcourts.net/au/agent/jane-agent\"}]",
"harvestedEmails_json": "[\"jane.agent@example.com\"]"
}

Values are illustrative and shortened. With flatten off, address, office and the agent and email arrays appear as nested values instead of _json strings. An empty harvestedEmails_json is valid when the listing publishes no email.

Integrations and Automation

Call the Actor from the Apify API, Apify MCP, scheduled tasks, Zapier, Make, n8n or a custom worker. Export rows as JSON, CSV, Excel, XML or HTML, or load them into Google Sheets, Airtable, a CRM, Postgres or a real estate database.

For agent lead lists, parse agents_json and harvestedEmails_json, deduplicate by agent profile URL and email, and keep office_name plus address_suburb for territory routing. Verify that an email belongs to the listing agent before outreach.

For market monitoring, parse priceDisplay into a numeric guide where possible and keep the raw text. Compare sold and rent listings separately, and do not mix listingMode values in one price average.

FAQ

Does the Actor use a browser?

No. Harcourts pages are server-rendered, so the Actor uses Cheerio and plain HTTP requests. That keeps runs fast and lightweight.

How do I get agent emails?

Set includeDetails to true. The Actor visits each property page and collects public emails from contact and inspection blocks into harvestedEmails. Emails are not guaranteed for every listing.

Why are arrays returned as strings?

flatten is on by default for spreadsheet compatibility. Arrays are JSON-stringified into _json fields. Turn flatten off for native arrays and nested objects.

Can I scrape sold or rental listings?

Yes. Submit the relevant Harcourts search URL for sold, rent or leased inventory. listingMode records the type.

Why is a price or floor plan missing?

The listing may use a guide, hide the floor plan or omit the field. priceDisplay is a text guide, not a guaranteed numeric price.

How much does a full-detail run cost?

Each property costs $0.0015 plus $0.0005 for details on FREE, about $2.00 per 1,000 properties before the start fee.

For AI Agents and LLM Apps

The Actor returns source-linked Australian property listings with addresses, configuration, price guides, office and agent data, plus optional public emails. It is suitable for property research, agent lead scoring and market analysis through the Apify API or Apify MCP.

  • One row represents one Harcourts property. Use propertyId or canonicalUrl as the key.
  • photos_json, agents_json and harvestedEmails_json are JSON strings when flatten is on. Parse them before reasoning over arrays.
  • priceDisplay is a text guide. Do not assume it is a single numeric sale price.
  • description, floorPlanUrl, studyRooms and emails can be empty; detail mode improves coverage but does not guarantee every field.
  • Each saved property is billed, and each enriched detail page adds a detail event.

This Actor is an independent tool and is not affiliated with, endorsed by or sponsored by Harcourts. It reads publicly visible property listings for market research, CRM enrichment and legitimate agent outreach. The terms of the source site and applicable Australian privacy law still apply.

Listings and agent profiles can contain personal data. Use it for a lawful purpose, honor do-not-contact and deletion requests, and do not use harvested emails for unsolicited bulk messages. Verify price, availability and property details with the listing office before making a financial decision.

SEO Keywords

Harcourts scraper, Harcourts property data, Australian real estate scraper, Harcourts agent emails, Harcourts listings, Australia property leads, real estate agent data, Harcourts sold listings, Harcourts rental listings, Australian property data, Harcourts API alternative, Harcourts dataset, property listing scraper, agent email scraper, Harcourts scraping tool, Australia real estate market, Harcourts office listings, property price data, real estate CRM enrichment, Harcourts property scraper