Realestate.com.au Scraper - Buy, Sold & Rent
Pricing
from $0.69 / 1,000 property listings
Realestate.com.au Scraper - Buy, Sold & Rent
Scrape realestate.com.au property listings for sale, for rent, or recently sold by suburb or search URL. Extract price, beds, baths, address, agent and more. JSON, CSV, Excel.
Pricing
from $0.69 / 1,000 property listings
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Realestate.com.au Scraper - Buy, Sold & Rent
Scrape realestate.com.au property listings for sale, for rent, or recently sold — search by suburb, state, postcode, or a pasted search URL. Get price, beds, baths, full address with coordinates, agent and agency details, photos and more.
| Search any Australian suburb across Buy, Rent, or Sold listings, filter by price/beds/baths/property type, and get structured property data ready for analysis or integration. |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.
Apify Actor: parsebird/realestate-au-scraper — scrapes realestate.com.au property listings from the search page's own server-rendered GraphQL data (camoufox browser session, no per-listing page fetch needed). Call: ApifyClient("TOKEN").actor("parsebird/realestate-au-scraper").call(run_input={"mode": "location", "locations": [{"suburb": "Sydney", "state": "NSW"}], "listingType": "buy", "maxListings": 20, "maxPages": 3, "proxyConfiguration": {"useApifyProxy": true, "apifyProxyGroups": ["UNBLOCKER"]}}). Inputs: mode ("location" or "url"), locations (array of {suburb, state, postcode} — location mode), listingType ("buy"/"rent"/"sold"), urls (array of realestate.com.au search URLs — url mode, filters below ignored), sortBy, propertyTypes, priceMin/priceMax, bedroomsMin/bedroomsMax, bathroomsMin, includeSurrounding, maxListings (default 20), maxPages (default 3), proxyConfiguration (default UNBLOCKER — required, the site uses Kasada bot detection that plain residential proxies do not pass). Output: dataset of listings with propertyId, url, listingType, propertyType, address {street, suburb, state, postcode, full}, coordinates {latitude, longitude}, price {display}, features {bedrooms, bathrooms, parkingSpaces, hasStudy, hasBalcony, hasPool, hasGarage}, description, propertyFeatures[], media {imageCount, images[], floorplanUrl}, agent, agents[], agency, inspectionTimes, auction, tier, scrapedAt. API docs: https://docs.apify.com/api/v2 Token: https://console.apify.com/settings/integrations
What does Realestate.com.au Scraper do?
Give it a suburb (or a search URL you've already refined on the site) and it walks the search results page by page, returning a structured record per listing pulled straight from the page's own search data — no per-listing detail-page fetch needed, which keeps runs fast and cheap:
- 🏠 Property basics —
propertyType,description,propertyFeatures,url - 📍 Address & location —
address(street, suburb, state, postcode, full),coordinates(lat/lng) - 💲 Price —
price.display, exactly as shown on the listing - 🛏️ Features —
bedrooms,bathrooms,parkingSpaces, plushasStudy/hasBalcony/hasPool/hasGarageflags - 🖼️ Media —
images[],imageCount,floorplanUrl - 👤 Agent & agency —
agent,agents[],agency(name, phone, ratings) - 🔎 Search or URL mode — build a search from suburb + filters, or paste any realestate.com.au search URL directly for full control
Use it as a realestate.com.au API alternative for market research, lead generation, or feeding a property database — all with Apify's scheduling, API access, and JSON/CSV/Excel export.
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
mode | string | Yes | location | location (suburb + filters) or url (paste a search URL). |
locations | array | No | Sydney, NSW | [{suburb, state, postcode}] — location mode only. |
listingType | string | No | buy | buy, rent, or sold. Location mode only. |
sortBy | string | No | list-date | relevance, list-date, list-date-asc, price-asc, price-desc. |
propertyTypes | array | No | all | house, apartment, townhouse, villa, land, rural, commercial. |
priceMin / priceMax | integer | No | — | Price range in AUD. |
bedroomsMin / bedroomsMax | integer | No | — | Bedroom count range. |
bathroomsMin | integer | No | — | Minimum bathrooms. |
includeSurrounding | boolean | No | true | Include properties from surrounding suburbs. |
urls | array | No | — | Search result URLs to scrape — URL mode only. Filters above are ignored. |
maxListings | integer | No | 20 | Stop after this many listings. 0 = unlimited. |
maxPages | integer | No | 3 | Max result pages per location. 0 = unlimited. |
proxyConfiguration | object | No | UNBLOCKER | Required — realestate.com.au is protected by Kasada bot detection, which plain residential proxies don't pass. |
Output example
{"propertyId": "143160680","url": "https://www.realestate.com.au/property-house-vic-tarneit-143160680","listingType": "buy","propertyType": "House","address": {"street": "28 Chantelle Parade","suburb": "Tarneit","state": "Vic","postcode": "3029","full": "28 Chantelle Parade, Tarneit, Vic 3029"},"coordinates": { "latitude": -37.85273078, "longitude": 144.66332821 },"price": { "display": "$650,000 - $700,000" },"features": {"bedrooms": 4,"bathrooms": 2,"parkingSpaces": 2,"hasStudy": false,"hasBalcony": false,"hasPool": false,"hasGarage": true},"description": "Renowned Real Estate proudly presents this sensational opportunity...","propertyFeatures": ["Built-in wardrobes", "Dishwasher", "Ducted heating", "Ensuites"],"media": {"imageCount": 12,"images": ["https://i2.au.reastatic.net/{size}/.../image.jpg"],"floorplanUrl": null},"agent": { "name": "Himraj", "phoneNumber": { "display": "0452060566" } },"agency": { "name": "Renowned Real Estate" },"isBuy": true,"isRent": false,"isSold": false,"scrapedAt": "2026-09-14T13:00:00.000Z"}
Not every field is published for every listing — realestate.com.au omits fields like price.display (e.g. "Contact Agent" listings) or propertyFeatures when the agent didn't provide them. Download results in JSON, CSV, or Excel from the Console, or pull them via the Apify API.
Use cases
- Market research — compare prices, sizes, and features across suburbs
- Lead generation — active listings with agent and agency contact details
- Investor sourcing — filter by price, bedrooms, and property type
- Data pipelines — clean JSON of listings, coordinates, and photos for your own database or map
- Rent vs. buy analysis — run the same suburb through
buyandrentmodes
How to scrape realestate.com.au
- Pick Location mode and enter a suburb + state (e.g.
Sydney,NSW), or open realestate.com.au in your browser, apply your filters, and copy the resulting URL into URL mode. - Set
listingType(Buy, Rent, or Sold) and any filters you want. - Set
maxListingsandmaxPagesto control run size and cost. - Click Start and download the dataset as JSON, CSV, or Excel — or fetch it via the Apify API or integrations (Zapier, Make, Google Sheets, and more).
Under the hood, the actor drives a stealth browser session (to pass the site's Kasada bot protection) and reads listings straight out of the search page's own embedded GraphQL data — no separate per-listing page fetch, which keeps runs fast and cheap.
How much does it cost to scrape realestate.com.au?
Realestate.com.au Scraper uses pay-per-result pricing — you only pay for listings actually returned.
| Event | Price per event | Price per 1,000 |
|---|---|---|
listing | $0.00069 – $0.00099 | $0.69 – $0.99 |
Pricing depends on your Apify plan (Free, Bronze, Silver, Gold — lower on higher plans). Scraping 1,000 listings costs between $0.69 and $0.99.
FAQ
Do I need a proxy? Yes. realestate.com.au uses Kasada bot detection, which blocks even a plain page load — and plain residential proxies don't pass it. The default (Apify Proxy, UNBLOCKER group) is required and set for you.
What's the difference between Location mode and URL mode? Location mode builds a search from a suburb/state/postcode plus the filter fields. URL mode scrapes a URL you've already refined in your browser — useful for complex filter combinations — and ignores the filter fields above.
Which filters are applied directly on the site vs. after fetching?
propertyTypes, priceMin/priceMax, bedroomsMin/bedroomsMax, bathroomsMin, and sortBy (price-asc/price-desc) are applied to the listings the actor collects. This means the actor may fetch slightly more pages than a filtered on-site search would to find enough matching results.
Can I scrape rentals or sold listings?
Yes — set listingType to rent or sold, or paste a /rent/... or /sold/... URL in URL mode.
Does it fetch individual property pages? No — all data comes from the search results page itself, which keeps runs fast and the cost low.
Can I schedule it? Yes. Use Apify Schedules to re-run periodically and track new listings in an area.
Is there an API? Yes — every Apify Actor is callable via the Apify API and the official Python and JavaScript clients.
Is it legal to scrape realestate.com.au?
Scraping publicly available data, like the property listings this actor collects, is generally permitted, but you are responsible for how you use the data. Comply with realestate.com.au's Terms of Service, avoid collecting personal data beyond what's publicly listed, and consult a lawyer if you plan to use scraped data commercially. Read more in Apify's blog post on the legality of web scraping.
Using the API
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("parsebird/realestate-au-scraper").call(run_input={"mode": "location","locations": [{"suburb": "Sydney", "state": "NSW"}],"listingType": "buy","maxListings": 20,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["address"]["full"], item["price"]["display"])
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('parsebird/realestate-au-scraper').call({mode: 'location',locations: [{ suburb: 'Sydney', state: 'NSW' }],listingType: 'buy',maxListings: 20,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Related Actors
- Daft.ie Property Scraper — Irish real estate listings
- Trulia Property Scraper — US real estate listings
- Immobiliare.it Scraper — Italian real estate listings
Issues & feedback
Found a bug or have a feature request? Open an issue on the Actor's Issues tab in Apify Console — feedback helps keep this realestate.com.au scraper reliable as the site evolves.