View.com.au – Australia Property Listings, Sold & Rental Data
Pricing
from $2.00 / 1,000 results
View.com.au – Australia Property Listings, Sold & Rental Data
Scrape Australian property listings from view.com.au across sale, rent, and recently sold. Search by suburb, city, state, or URL. Extract prices, full addresses, agent and agency contacts, photos, GPS coordinates, market insights, and structured property details.
Pricing
from $2.00 / 1,000 results
Rating
5.0
(1)
Developer
Abot API
Maintained by CommunityActor stats
0
Bookmarked
9
Total users
3
Monthly active users
6 days ago
Last modified
Categories
Share
View.com.au Scraper
Search and extract all property listings for sale, rent, and recently sold across Australia from view com au. Collect property prices, full addresses, agent and agency contacts, photos, GPS coordinates, and market insights for any suburb, city, or state - all in structured, ready-to-use format.
What does View com au Scraper do?
This actor searches view.com.au and collects property listing data including:
- For Sale - properties currently on the market
- For Rent - rental listings with weekly prices
- Sold - recently sold properties with sale prices
For every listing, you get the full address, asking price (or sold price), bedrooms, bathrooms, car spaces, land size, property images, listing agent contact details, agency info, GPS coordinates, days on market, and more.
Why use this scraper?
- Lightning fast - extracts ~25 listings per page load with no individual property page visits needed
- Structured data - prices parsed into numeric values, addresses split into components, coordinates included
- Three input modes - search by location, paste search list URLs, or paste individual property detail URLs (
detailmode) - Flexible search - state-wide, city-level, or suburb-level searches with price/bedroom/bathroom filters
- Resumable - automatically saves progress and resumes from checkpoint on failure
- Optional detail enrichment - turn on
includeDetailPagefor full descriptions, floor plans, and sale history per property
Quick Start
Scrape for-sale properties in Melbourne CBD:
{"mode": "location","locations": [{ "suburb": "Melbourne", "state": "VIC", "postcode": "3000" }],"listingType": "buy","maxListings": 50,"maxPages": 2}
Scrape multiple locations at once:
{"mode": "location","locations": [{ "suburb": "Melbourne", "state": "VIC", "postcode": "3000" },{ "suburb": "Sydney", "state": "NSW", "postcode": "2000" },{ "suburb": "Brisbane", "state": "QLD", "postcode": "4000" }],"listingType": "buy","maxListings": 100,"maxPages": 4}
Scrape all of Victoria (state-wide):
{"mode": "location","locations": [{ "state": "VIC" }],"listingType": "buy","maxListings": 100,"maxPages": 4}
Scrape from a search list URL:
{"mode": "url","urls": ["https://www.view.com.au/for-sale/vic/in-melbourne-3000/"],"maxListings": 50}
Scrape specific property detail pages you already have:
{"mode": "detail","detailUrls": ["https://www.view.com.au/property/vic/kew-east-3102/24-normanby-road-kew-east-vic-3102-14802144/"]}
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | String | location | Search mode: location, url, or detail |
locations | Array | [{"suburb":"Melbourne","state":"VIC","postcode":"3000"}] | Locations to search. Each location has a state (required), suburb (optional), and postcode (optional) |
urls | Array | - | Search list page URLs (for url mode) |
detailUrls | Array | - | Individual property detail page URLs, one record scraped per URL (for detail mode) |
listingType | String | buy | Listing type: buy, rent, or sold |
propertyTypes | Array | (all) | Filter: house, apartment, townhouse, land, studio |
priceMin | Integer | - | Minimum price (AUD) |
priceMax | Integer | - | Maximum price (AUD) |
bedroomsMin | Integer | - | Minimum bedrooms |
bathroomsMin | Integer | - | Minimum bathrooms |
carsMin | Integer | - | Minimum car spaces |
sort | String | default | Sort order: default, price-asc, price-desc |
maxListings | Integer | 25 | Stop after this many listings |
maxPages | Integer | 2 | Max search pages per location (25 results/page) |
includeDetailPage | Boolean | false | Fetch full per-property data (description, floor plans, sale history) |
outputFormat | Array | ["json"] | Export formats: json, csv |
proxyConfiguration | Object | - | Proxy settings (Apify proxy or custom) |
resumeFromCheckpoint | Boolean | true | Resume the SAME run after a migration/abort interruption |
resumeFromRunId | String | - | Continue ONE interrupted crawl from a previous run/dataset id |
incrementalMode | Boolean | false | Remember this search across scheduled runs; flag NEW/UPDATED/UNCHANGED/REAPPEARED/EXPIRED |
stateKey | String | (auto) | Optional label for the incremental baseline (see below) |
emitUnchanged | Boolean | false | Also output UNCHANGED listings (bills extra rows) |
emitExpired | Boolean | false | Also output EXPIRED listings after a complete scan (bills extra rows) |
Resume and recurring updates
Three related but distinct controls — pick the one that matches what you're doing:
-
resumeFromCheckpoint(default on) — continues the same run after a platform migration or a manual Resurrect. Nothing to configure; it just works. -
resumeFromRunId— paste a previous run ID (or its dataset ID) to continue one specific interrupted crawl. Listing ids already collected in that run are skipped, so this run only adds new ones. -
incrementalMode— turn on when you run this same search on a schedule (e.g. daily) and only want to know what's new or changed. The actor remembers the search itself in a key-value store keyed bystateKey(or an auto-derived hash of your search settings if you leave it blank) — no run id to paste. Every output row gets:changeType:NEW|UPDATED|UNCHANGED|REAPPEARED|EXPIREDchangedFields: which fields differ from the last tracked snapshot (empty unlessUPDATED)firstSeenAt/lastSeenAt: ISO timestamps
A different combination of mode/locations/urls/detailUrls/listingType/property types/price/bedrooms/bathrooms/cars/sort automatically gets its own baseline — you never need to worry about two different searches mixing state, unless you deliberately set the same
stateKeyon both. (maxListings,maxPages,includeDetailPage, proxy, and connector settings are NOT part of the baseline — changing those tomorrow keeps the same baseline.)By default,
UNCHANGEDlistings are suppressed (not output, not billed) andEXPIREDlistings are never emitted. Turn onemitUnchangedand/oremitExpiredto see them too — both bill extraapify-default-dataset-itemrows, since every pushed row is charged.EXPIREDis only emitted after a run that scans the full tracked search with nomaxListings/maxPagescap hit, no fetch failure, and no resume in play — a partial run never marks a still-live listing as gone.resumeFromRunIdandincrementalModecan be combined once, to bootstrap a monitoring baseline from an existing dataset — after that, run withincrementalModealone.
With incrementalMode off (the default), output is byte-identical to before this feature existed — no changeType, same charges.
Location Flexibility
Each location uses a form with State (required dropdown), Suburb (optional text), and Postcode (optional text). You can add multiple locations to search them all in one run.
| Location | Scope | ~Results |
|---|---|---|
State: VIC | All of Victoria | ~52,000 |
Suburb: Melbourne, State: VIC | Metro Melbourne | ~25,000 |
Suburb: Melbourne, State: VIC, Postcode: 3000 | Melbourne CBD | ~2,300 |
Suburb: Kew East, State: VIC, Postcode: 3102 | Single suburb | ~50 |
Note: State is always required. Postcode-only searches are not supported by view.com.au.
Send results into your apps (MCP connectors)
Optionally pipe the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. This is an extra delivery step after the scrape; the Apify dataset is never changed.
What gets written to the connector: a condensed, human-readable summary of each record, not the full JSON. Each item becomes one entry with a title (the listing's name / address) and its key fields flattened to plain text (price, beds/baths, agent, URL, etc.). Nested objects are collapsed to their main value (e.g. an address object to its full-address text) and long lists are trimmed to the first few names. The complete, full-fidelity record always stays in the Apify dataset; the connector copy is a readable digest for browsing in your app.
- Notion → one page per item (title + a summary body), created under the page you set in
notionParentPageUrl. - Linear / Airtable / other → one record/issue per item with the same title + fields.
How to enable:
- Authorize a connector once under Apify → Settings → Integrations (Notion, Linear, Airtable, or Apify).
- Select it in the "Pipe results into your apps" input field. (If the picker is empty, you haven't authorized a connector yet.)
- For Notion, also set
notionParentPageUrlto the page where items should be created.
The connection is mediated by Apify's MCP proxy, so this actor never sees your third-party credentials. Leave the field empty to skip; the export only runs when a connector is selected.
Output
Each listing in the dataset contains:
{"id": 12345678,"listingUrl": "https://www.view.com.au/property/vic/sampleville-3000/5-10-example-street-12345678/","address": {"full": "5/10 Example Street, SAMPLEVILLE VIC 3000","streetNumber": "10","streetName": "Example Street","unitNumber": "5","suburb": "SAMPLEVILLE","state": "VIC","postcode": "3000","city": "Melbourne","country": "Australia","countryCode": "AU"},"price": {"display": "$850,000 - $900,000","value": 850000,"currency": "AUD","priceType": "range","isRange": true,"min": 850000,"max": 900000},"features": {"bedrooms": 3,"bathrooms": 2,"carSpaces": 1},"propertyType": "apartment","sourcePropertyType": "Apartment & Unit","listingType": "buy","saleMethod": "Sale","status": "On Market","rank": "Premium","images": [{"url": "https://view.com.au/viewstatic/images/listing/.../800-w/12345678-1-ABC1234.jpg","sequence": 1}],"agents": [{"id": 99999,"firstName": "Jane","lastName": "Smith","phone": "9000 1234","mobile": "0400 000 000","numberOfSoldListings": 25,"averageSoldPrice": 920000}],"agency": {"id": 10001,"name": "Sample Realty","profileLink": "/agency/sample-realty-10001/","brandColour": "1A1A1A"},"location": {"lat": -37.81,"lon": 144.96},"lgaName": "Sample Council","createdAt": "2026-01-15 09:30:00","source": {"portal": "view.com.au","scrapedAt": "2026-02-22T12:00:00.000Z"}}
Extra detail-page fields (detail mode, or includeDetailPage: true)
Records that come from a property detail page carry a richer attribute set than search-result cards. You get these whenever you use detail mode (paste property URLs) or turn on includeDetailPage in location / url mode:
heading- listing headlinedescription- full property descriptionfloorPlans- floor plan imageslandPricePerSqm- calculated land value per sqm (when available)staticMapUrl- static map image of the property location (when available)videoUrl/virtualTourUrl- video and virtual-tour links (when available)valuationEstimate- estimated property value (value + value type)suburbTrend- suburb median price/rent and yearly trend- Agent
emailandprofileLink
Dataset Views
The output dataset includes 4 pre-configured table views:
| View | Fields |
|---|---|
| Overview | ID, type, property, address, price, features, URL, days on market, status |
| Media | ID, address, images, floor plans, hero image |
| Agents & Agencies | ID, address, agents, agency |
| Location & Market | ID, address, coordinates, council, days on market, last sold price/year, $/sqm |