realestate.com.au Scraper | AU Sale Rent Sold API
Pricing
from $2.20 / 1,000 results
realestate.com.au Scraper | AU Sale Rent Sold API
Scrape realestate.com.au Australian sale, rent, and sold listings by suburb/city. Extract prices, beds, baths, land size, agencies, photos & URLs — realestate.com.au API alternative.
Pricing
from $2.20 / 1,000 results
Rating
0.0
(0)
Developer
kane liu
Maintained by CommunityActor stats
1
Bookmarked
3
Total users
3
Monthly active users
8 days ago
Last modified
Categories
Share
realestate.com.au Scraper — AU Sale, Rent & Sold Listings
Scrape realestate.com.au for-sale, rental, and sold property listings by Australian suburb or city — then download structured data as Excel, CSV, or JSON.
This Actor is a practical realestate.com.au API alternative for market research, investor comps, rental screening, agency monitoring, and lead lists. Enter a location such as Melbourne, VIC, choose sale, rent, sold, both, or all, and get listing rows with prices, beds, baths, land size, agency, photos, and direct listing URLs.
Thin Actor + Cloud Run worker. Worker URL is config (
WORKER_BASE_URL), not hardcoded-only — migrate the worker by updating Actor env without a code change. SetWORKER_PROVIDES_PROXY=1when the worker supplies its ownPROXY_URL.
- Pull Australian homes for sale, rentals, and sold results from realestate.com.au
- Filter by property type (house, unit, apartment, land, rural, retirement, and more), beds, and price
- Optionally enrich listings from detail pages, or scrape specific property URLs
- Export to Excel / CSV / JSON, or connect Make, n8n, Zapier, Python, or Apify MCP / API
- Pay per event — Actor start + each Dataset listing; platform compute is included (you do not pay separate Apify usage)
Need a dedicated scraper for one website?
This Actor is the general tool for protected public pages. If you already have one specific site and a field list, a dedicated scraper is faster and more stable: listing + detail, your export format, delivered to your Apify account or as a standalone runnable client.
I confirm the tier before you pay. The clock starts after that confirmation.
Start here: Submit a custom scraper request
| Starter $50 | Dedicated $100 | Hard target $200–999 | |
|---|---|---|---|
| Site | 1 simple anti-bot public site | 1 medium anti-bot public site | Cloudflare / aggressive anti-bot / custom parser |
| Scope | Full listing + detail fields | Listing + detail + pagination, your field list | Agreed fields, repeatable runs |
| Delivery | CSV/JSON · Apify Actor or standalone runnable client (script/CLI) | Same, plus a sample run and short instructions | Feasibility first, then build |
| Time | 24 hours after we confirm the URL is in scope | 48 hours after confirmation | Quoted after feasibility |
| Fixes | 30 days for small public-layout changes | 30 days | Scoped in the quote |
Hard-target sites are not a 100% uptime promise. You get a dedicated parser that can be re-run on the agreed fields. If the URL is not feasible, you get a refund or pay an assessment fee only — you will know before the build starts.
Not in Starter/Dedicated: login-walled data, native APK / Windows installer / full web apps, or two-year maintenance. Those are a separate quote.
What does the realestate.com.au Scraper do?
It turns a realestate.com.au search (or detail URLs) into a clean Apify Dataset of Australian residential listings.
Under the hood, the Actor:
- Validates your input (location, listing type, filters, optional detail URLs)
- Calls a managed Cloud Run worker that unlocks realestate.com.au pages (Kasada-aware)
- Collects search-result and/or detail listing data across sale / rent / sold channels
- Normalizes records into Dataset rows with preview fields (
name,type,status,country,authority) - Writes
RUN_SUMMARY(andERROR_SUMMARYon failure) to the key-value store
You run the Actor like any other Apify Actor — schedule it, call it from the API, or plug it into automations. No local browser or proxy setup is required.
What data can you extract from realestate.com.au?
| Data point | Sale | Rent | Sold |
|---|---|---|---|
| Address / listing name | ✅ | ✅ | ✅ |
| Listing ID & property type | ✅ | ✅ | ✅ |
| Price / rent display | ✅ | ✅ | ✅ |
| Beds / baths / parking | ✅ | ✅ | ✅ |
| Land / building size (when shown) | ✅ | ✅ | ✅ |
| Suburb, state, postcode | ✅ | ✅ | ✅ |
| Agency / authority | ✅ | ✅ | ✅ |
| Listing URL & main image | ✅ | ✅ | ✅ |
| Description & inspections (when present) | ✅ | ✅ | ✅ |
Lead / contact (phones, structured address, person, org, …) | ✅ on LDP | ✅ on LDP | 未验证 on sold LDP |
Every Dataset row includes source = realestate.com.au and country = Australia. A RUN_SUMMARY record reports counts, provider, and warnings. When enrichDetails is on (the default), sale/rent detail rows also carry the lead & contact fields below.
What you can do with it
1. Scrape Australian homes for sale
Enter a suburb/city like Melbourne, VIC, set listingType to sale, and get structured rows with price, beds, baths, agency, and a direct listing URL — ready for comps or investor shortlists.
2. Scrape Australian rentals
Set listingType to rent. Rows include weekly rent display, beds/baths, parking, and agency when present.
3. Scrape sold property results
Set listingType to sold to pull recently sold listings for pricing analysis and comparable sales.
4. Cover multiple channels or locations in one run
Use listingType = both or all, add extra suburbs in locations, and optionally filter by propertyTypes, beds, and price.
5. Scrape specific property detail pages
Paste one or more realestate.com.au property URLs into detailUrls to skip search and fetch those listings directly.
6. Feed AU property data into automations
Schedule the Actor and send the Dataset to Sheets, Slack, CRM, Make, n8n, Zapier, or an AI agent via Apify MCP / API.
More Actors like this
Looking for another property portal, or a scraper outside real estate? Use a specialized Actor when one exists — structured fields, better coverage, usually lower cost. Use this Actor for realestate.com.au sale / rent / sold search and detail pages.
Similar real estate Actors
- Zillow & Zumper Scraper
- Realtor.com Scraper
- Realtor.com Agents Scraper
- Apartments.com Rental Scraper
- Zillow Group Scraper
- Realtor.ca Scraper
- Rightmove Scraper
- Idealista Scraper
- ImmoScout24 Scraper
- Bayut Scraper
- Property Finder Scraper
- PropertyGuru Scraper
Prefer another specialized scraper?
Jobs & Freelance
- LinkedIn Jobs Scraper
- Indeed Jobs Scraper
- Upwork Jobs Scraper
- Glassdoor Scraper
- Fiverr Gigs Scraper
- Bayt Jobs Scraper
E-commerce
- Walmart Product Scraper
- Amazon Search Scraper
- Shopee Search Scraper
- Etsy Scraper
- SHEIN Product Scraper
- Temu Product Scraper
- Target Product Scraper
- Allegro Scraper
Travel & Stays
Social & Content
Ads Intelligence
Local & Maps
General Tools
→ See the full catalog in Related Actors below, or browse apify.com/lentic_clockss.
How to scrape realestate.com.au (no code required)
- Click Try for free on this Actor page
- Enter a location (
Melbourne, VICorSydney, NSW) - Choose sale, rent, sold, both, or all
- Optionally set property types, beds/price filters, and max results
- Click Start — open the Dataset tab when the run finishes
Start with maxResults: 5–10 to verify the market, then scale up.
How much does it cost to scrape realestate.com.au?
This Actor uses pay-per-event pricing. You are charged for:
| Event | Price |
|---|---|
Actor Start (apify-actor-start) | $0.005 per start |
Result (apify-default-dataset-item) | $3.00 / 1,000 listings ($0.003 each) |
Platform usage costs are included — you do not pay separate Apify compute/proxy usage for this Actor on top of the event prices above.
Example cost estimates
| Listings collected | Approx. event cost* |
|---|---|
| 100 | ~$0.31 |
| 1,000 | ~$3.01 |
| 10,000 | ~$30.01 |
*Assumes one Actor start at default memory billing for start events, plus $0.003 per Dataset item. Exact start billing can scale with allocated memory (one start event per GB, minimum one).
Free Apify trial credit can cover a small test run — try maxResults: 5 first.
Free Apify plan limits (set by this Actor's developer)
| Limit | Free Apify plan | Paid Apify plan |
|---|---|---|
| Runs of this Actor | 10 total | Unlimited |
| Listings per run | 200 | Up to schema max (500) |
These caps are enforced in Actor code (not by Apify). Upgrade to a paid Apify plan for unlimited runs.
Input
Open the Input tab for the full form. Common fields:
| Field | Description |
|---|---|
location | Australian suburb/city + state, e.g. Melbourne, VIC |
locations | Extra locations in the same run |
listingType | sale / rent / sold / both / all |
propertyTypes | Optional: house, unit, apartment, land, rural, retire, … |
minBeds / maxBeds | Bedroom filters |
minPrice / maxPrice | Price filters (AUD) |
maxResults | Cap on listings (1–500; free plan also capped at 200/run) |
maxPages | Cap on search pages per location/channel (1–80) |
enrichDetails | Open detail pages for phones, 门牌, agent, and agency (default true) |
detailUrls | Skip search; scrape these property URLs |
failover | Allow worker provider failover (default true) |
workerBaseUrl | Optional https override (allowlisted hosts only) |
proxyConfiguration may appear in the form for compatibility but is ignored — unlock/proxy traffic is handled by the managed worker.
Free Apify plan: up to 10 runs of this Actor and 200 listings per run. Upgrade to a paid Apify plan for unlimited runs. (Limits set by the Actor developer.)
Example input
{"location": "Melbourne, VIC","listingType": "sale","propertyTypes": ["apartment"],"minBeds": 2,"maxResults": 20,"maxPages": 2,"enrichDetails": true,"failover": true}
Output example
You can download the Dataset as JSON, CSV, Excel, or HTML.
{"name": "103/107-121 Quay Street","type": "Apartment","status": "for_sale","country": "Australia","authority": "Central Property Group Australia - Haymarket","listingId": "148895988","listingType": "sale","address": {"street": "107-121 Quay Street","unit": "103","locality": "Haymarket","region": "NSW","postalCode": "2000","country": "AU","full": "103/107-121 Quay Street, Haymarket, NSW 2000"},"fullAddress": "103/107-121 Quay Street, Haymarket, NSW 2000","streetAddress": "103/107-121 Quay Street","suburb": "Haymarket","state": "NSW","zipCode": "2000","priceDisplay": "Auction","beds": 2,"baths": 2,"parking": 1,"propertyType": "Apartment","listingUrl": "https://www.realestate.com.au/property-apartment-nsw-haymarket-148895988","imageUrl": "https://i2.au.reastatic.net/800x600/.../image.jpg","phones": [{ "value": "0416737287", "type": "mobile", "e164": "+61416737287" },{ "value": "02 8958 2320", "type": "landline", "e164": "+61289582320" }],"emails": [],"geo": { "lat": -33.88238458, "lng": 151.20328483 },"person": { "name": "Silvia (Qi) Wan", "role": "General Manager" },"org": { "name": "Central Property Group Australia - Haymarket", "id": "ATPKKT" },"web": { "website": null, "socials": [] },"leadSource": "detail","leadReveal": "visible","leadAbsences": { "emails": "本站无", "web": "本站无", "socials": "本站无" },"source": "realestate.com.au"}
address is now a structured object (unit = 门牌). Legacy string fields fullAddress and streetAddress stay on the row for older consumers.
When
enrichDetailsis on (the default), each sale/rent detail item also carries the lead & contact fields documented below. Search-card-only rows keep the same keys, with emptyphonesandleadAbsencesreasons.
Key-value store records:
INPUT_ECHO— normalized non-secret inputRUN_SUMMARY— counts, provider, diagnostics, timestampsERROR_SUMMARY— structured failure details when a run fails
How to scrape realestate.com.au with Python or the Apify API
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("lentic_clockss/realestate-com-au-scraper").call(run_input={"location": "Sydney, NSW","listingType": "sold","maxResults": 10,"maxPages": 1,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["listingUrl"], item.get("priceDisplay"))
You can also schedule runs, set webhooks, or connect the Dataset to Make / Zapier / n8n from the Apify Console.
Lead & contact fields
realestate.com.au publishes agent and agency phones on sale and rent detail pages (Argonaut details.listing). Numbers are already visible as plain JSON plus tel: / sms: links — there is no “show phone” control on the listing page (revealControls=[]). Search cards show address and agent/agency names only. Every Dataset row keeps the lead keys; a null or empty value is paired with leadAbsences.
| Field | Type | Meaning on realestate.com.au |
|---|---|---|
phones | [{value, type, e164?}] | Lister mobile + agency landline from listers[].phoneNumber.display and listingCompany.businessPhone. Already-visible on sale/rent LDP. Smoke (Haymarket 148895988): 0416737287 + 02 8958 2320. Rent LDP sample: 0420300920 / 0416526111 / agency 0432020507. Agency businessPhone may concatenate landline and mobile (02 8958 2320 /0416737287); the worker splits that string. Search cards have no phones. |
emails | [{value, type}] | Always []. listers[].email and listingCompany.email are null; there is no real mailto: recipient. The enquiry form is login + reCAPTCHA and does not expose an agent inbox. |
address | {street, unit, locality, region, postalCode, country, full} | Listing address from Argonaut address.display. unit = 门牌 (unit/apartment number), e.g. 103 at 107-121 Quay Street, Haymarket NSW 2000. Rent sample unit 1502 at 161 Clarence Street. country is AU. Legacy fullAddress / streetAddress strings remain. |
geo | {lat, lng} | address.display.geocode (same values as legacy latitude / longitude). Supplemental to address, not a replacement. Smoke: -33.88238458 / 151.20328483. Often null on search cards. |
person | {name, role?} | First lister: listers[].name + jobTitle. Smoke: Silvia (Qi) Wan / General Manager. Search cards usually still have the name. |
org | {name, id?} | listingCompany.name + listingCompany.id. Smoke: Central Property Group Australia - Haymarket / ATPKKT. |
web | {website, socials[]} | Per-agency website / agencyUrl and Facebook/Instagram/Twitter/LinkedIn are null on measured agencies. Always website: null, socials: []. Footer links are REA Group’s own accounts, not copied into listing rows. |
leadSource | enum | detail after a property LDP (or a sold payload that looks like LDP); search on SRP cards; entity is reserved for agent/agency pages (do not put /agent/ or /agency/ in detailUrls — the worker rejects those with 422). |
leadReveal | enum | visible when phones or a street/full address is already in the page data; absent when the surface has no lead. No xhr path exists. Agent Call is click-to-inject the same hydration number (off by default). |
leadAbsences | object | Why a sub-field is empty. Typical sale/rent LDP: emails=本站无, web=本站无, socials=本站无. SRP: also phones=本站无. Sold LDP (unverified): soldDetail=sold-detail 未调研验证 and phones=sold-detail 未调研验证 when no number is present. |
Prefer the structured lead keys above for outreach. authority, listers, and listingCompany stay on the row.
Reveal cost
- Sale/rent phones need a detail fetch. Keep
enrichDetails: true(the default). Search cards do not showtel:or listerphoneNumber. - No click-reveal XHR on listing pages. LDP phones are already in Argonaut
details.listingand intel:/sms:hrefs. The worker does not click “show phone”, does not submit Enquire, and does not invent a reveal endpoint. - Agent Call is optional and off. Recon used the per-site reveal quota once: Call only injected
tel:0416737287fromAGENT_PROFILE.agent.mobile(no XHR). Production keepsREA_CLICK_REVEAL=0and parses hydration instead. - Cost is one extra LDP GET per listing when enriching search results, plus the existing Bright Data unlock needed to get past Kasada / PerimeterX. There is no second round-trip for phones. Run time scales roughly linearly with enriched listings; rate-limit risk is the usual unlock traffic, not a reveal storm.
- Unlock is Bright Data (not Zyte — Zyte returns 520 Website Ban). Bare HTTP is an ~846 B Akamai shell or 429 and cannot be parsed.
Honest limitations
- No emails (本站无). Listing and agency payloads leave email null. Enquiry is login + reCAPTCHA and is not submitted. Help tickets also require Sign in. Do not expect
emails[]to fill later. - No per-entity website or socials (本站无). Agency
urls.facebook/instagram/twitter/linkedinandagencyUrlwere null on the measured profile. Platform footer socials are REA Group, not copied into items. - Search cards are thin for phones. SRP rows still emit the lead keys, but
phones=[]withleadAbsences.phones=本站无unlessenrichDetailsopened the LDP. - Sold detail was not verified (未验证). Sold search cards have address + agent name and no phone. If a sold LDP is fetched, the worker tries the same
details.listingfamily and setsleadAbsences.soldDetail=sold-detail 未调研验证. Do not treat sold phones as confirmed. - Map and
/project/pages were not opened. Do not claim map-pin or project-page leads. - Platform Contact / About numbers are not listing leads.
1300 853 440and REA offices (e.g.511 Church Street, RICHMOND VIC 3121) stay offphones[]. /agency/and/agent/are notdetailUrls. Those URLs return worker 422. Use/property-...or/sold/property-...only.- No second, fuller phone after a click. Guest already sees the numbers that exist on sale/rent LDP.
Is it legal to scrape realestate.com.au?
Our scrapers are ethical and do not extract private user data such as email addresses, gender, or private contact details that are not publicly shown on listing pages. They only extract what is publicly available on realestate.com.au listing cards and property pages.
You should still be aware that results can include personal data (for example agent names). Personal data is protected by the Australian Privacy Act, the GDPR in the EU, and other regulations. You should not scrape personal data unless you have a legitimate reason. If you are unsure, consult your lawyers. See also Apify’s guidance on the legality of web scraping.
FAQ
Does this Actor replace the official realestate.com.au API?
There is no broadly available public listing API for most third-party use cases. This Actor is an API alternative that returns structured JSON/CSV/Excel you can use in research and automations.
Why do some sold listings put the price in priceDisplay?
The worker normalizes sale/rent/sold displays into priceDisplay for a consistent schema. soldPriceDisplay may be empty even when a sold price string is present in priceDisplay.
Do I need Apify Proxy?
No. Proxy / unlock traffic is handled by the managed worker. The proxyConfiguration input field is ignored.
Why did my free-plan run stop after 10 runs?
This Actor allows 10 runs and 200 listings per run for free Apify plan users. That limit is set by the Actor developer (not Apify). Upgrade to a paid Apify plan for unlimited runs.
Can I scrape commercial property or Flatmates?
Not in this Actor. Coverage is residential sale / rent / sold on realestate.com.au (including common residential property types such as house, unit, land, rural, and retirement).
Where can I get help?
Open an issue on the Actor’s Issues tab in Apify Console with your run ID and a short description. Include a sample input when possible.
Tips for better results
- Prefer specific suburbs (
Richmond, VIC) when you need local comps; use CBD/city names for broader coverage - Keep
maxPageslow while testing; raise it after you confirm filters - Use
propertyTypes+ beds/price filters to reduce noise before scalingmaxResults - Keep
enrichDetailson (the default) when you need phones, 门牌, agent name, and agency — search cards omit phones
Related Actors
All 77 public Actors from [lentic_clockss]. Click a name to open the Store detail page.
Jobs & Freelance
- LinkedIn Jobs Scraper
- Bayt Jobs Scraper
- Fiverr Gigs Scraper
- Freelancer.com Scraper
- Glassdoor Scraper
- Himalayas Jobs Scraper
- Indeed Jobs Scraper
- Jobicy Remote Jobs Scraper
- RemoteOK Jobs Scraper
- SEEK Jobs Scraper
- Upwork Jobs Scraper
Real Estate
- Zillow & Zumper Scraper
- Realtor.com Scraper
- 99.co Scraper
- Realtor.com Agents Scraper
- Apartments.com Rental Scraper
- Bayut Scraper
- Craigslist Housing Scraper
- Daft.ie Scraper
- Dot Property Scraper
- FINN.no Scraper
- Funda Scraper
- Hepsiemlak Scraper
- Idealista Scraper
- Immobiliare.it Scraper
- ImmoScout24 Scraper
- Naver Land Scraper
- OpenSooq Scraper
- Otodom Scraper
- Property Finder Scraper
- PropertyGuru Scraper
- realestate.com.au Scraper
- Realtor.ca Scraper
- Rightmove Scraper
- SeLoger Scraper
- SUUMO Scraper
- Zillow Group Scraper
E-commerce
- Shopee Search Scraper
- E-commerce Scraper
- 1688 Global Product Search Scraper
- Allegro Scraper
- Amazon Search Scraper
- ASOS Product Scraper
- Cdiscount Product Scraper
- Costco Product Scraper
- Coupang Product Scraper
- Etsy Scraper
- Lazada Scraper
- MercadoLibre Scraper
- Mercari Japan Scraper
- Rakuten Japan Scraper
- SHEIN Product Scraper
- Target Product Scraper
- Temu Product Scraper
- Walmart Product Scraper
Travel & Stays
- Booking.com & Airbnb Scraper
- Agoda Scraper
- Airbnb Listings Scraper
- Booking.com Hotels Scraper
- Despegar Scraper
- Expedia Scraper
- Traveloka Scraper
- Travelstart Flights Scraper
- Trip.com Scraper
- TripAdvisor Scraper
Social & Content
Ads Intelligence
Local & Maps
General Tools
→ Browse the full profile: apify.com/lentic_clockss
Built for Australian property data workflows on the Apify platform — scheduling, monitoring, API access, and Dataset exports included.