RealCommercial.com.au Scraper avatar

RealCommercial.com.au Scraper

Pricing

from $0.60 / 1,000 commercial listings

Go to Apify Store
RealCommercial.com.au Scraper

RealCommercial.com.au Scraper

Collect public Australian commercial property listings from RealCommercial.com.au for sale, lease, sold, or leased searches. Filter by location, category, price, area, parking, NABERS rating, tenure, and date, then save normalized listing data with public details when available.

Pricing

from $0.60 / 1,000 commercial listings

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

3 days ago

Last modified

Share

🏢 Find Australian commercial listings

Real estate researchers, brokers, investors, and data teams can search public RealCommercial.com.au listings and save normalized records for market research, acquisition review, leasing work, and structured exports.

  • Search land listings with Commercial Land for an Australian location.
  • Filter industrial listings with Industrial Property by location, price, area, or tenure.
  • Find medical listings with Medical Centre and review their public listing details.
  • Review development opportunities with Development Site by location and date.
  • Compare retail listings with Retail Space by price and area.
  • Search office listings with Office Space and save normalized rows.

📋 Normalized commercial listing rows

What you get

Each dataset row represents the first eligible occurrence of one public RealCommercial.com.au listing. It can include the listing identity, source URL, channel, displayed price, property details, location, dates, media, agency and agent contacts, and related listings when the source provides them.

How matches are handled

The Actor saves a listing as soon as it finds the first eligible match. If the same source listing appears again through another location or keyword in the same run, later matches are ignored. The saved row describes that first match only.

Run flow

Choose one listing channel and one or more Australian locations. Apply the same keyword, property, price, area, parking, NABERS, tenure, order, and date filters to that one search configuration. Turn on rich details when you want more public descriptions, attributes, map context, photos, or agency and agent context.

Source data

The Actor reads public RealCommercial.com.au listing information at run time. Optional values stay absent when the source does not publish them.

⚙️ Input

Input fields

FieldTypeWhat it does
listingChannelstringSelect sale, lease, sold, or leased.
includeDetailsbooleanRequest richer public descriptions, property attributes, map context, photos, and agency or agent context.
locationsarray of stringsAdd one or more Australian suburbs, cities, regions, or states. All values use the same channel and filters.
keywordstringNarrow matches with a word or phrase from the public listing text.
propertyCategoriesarray of stringsFilter by one or more commercial property categories, such as industrial, retail, office, land, showroom, hotel, medical, or farming.
minPricenumberKeep listings with an advertised price at or above this amount in Australian dollars.
maxPricenumberKeep listings with an advertised price at or below this amount in Australian dollars.
minFloorAreaSqmnumberKeep listings with at least this internal floor area in square metres.
maxFloorAreaSqmnumberKeep listings with at most this internal floor area in square metres.
minLandAreaSqmnumberKeep listings with at least this land area in square metres.
maxLandAreaSqmnumberKeep listings with at most this land area in square metres.
minParkingSpacesintegerRequire at least this many published parking spaces.
minNabersRatingnumberRequire a published NABERS energy rating at or above this value.
tenurestringSelect vacant-possession or tenanted-investment; leave it empty to include both when the source provides this detail.
sortBystringKeep marketplace order or sort by price or source-published listing date.
dateFromdate stringInclude listings whose source-published listing or update date is on or after this date.
dateTodate stringInclude listings whose source-published listing or update date is on or before this date.
maxItemsintegerStop after this many listings. Leave it empty to return all available results until the source is exhausted.

Use one coherent search configuration per run. Optional filters can be left empty when you want a broader result set. The source may publish a price as text, a single amount, a range, or no numeric amount.

Successful default-input example

This is the public input from a successful current-beta default-input run:

{
"listingChannel": "sale",
"includeDetails": true,
"locations": [
"Sydney"
],
"maxItems": 3
}

🧾 Output

Run output

FieldTypeWhat it does
datasetURL stringLinks to the default Apify dataset that contains the collected listing rows.

Compact listing row

With includeDetails set to false, a row can contain core identity and the price or basic property values that are available without a detail request.

FieldTypeWhat it does
listingIdstringStable identifier assigned to the listing by RealCommercial.com.au.
titlestringPublished title of the listing.
urlURL stringCanonical public listing URL.
priceobjectPublished price information when available.
price.displaystringPrice wording shown by the source.
price.amountnumberOne numeric price amount when published.
price.minAmountnumberLower value of a published price range when available.
price.maxAmountnumberUpper value of a published price range when available.
propertyobjectPublished property values returned for the row.
property.tenurestringPublished tenure information when available.

Here is a complete row from a successful current-beta run with details disabled:

{
"listingId": "504501532",
"title": "PREMIUM MEDICAL SUITE WITH SPECTACULAR HARBOUR VIEWS!",
"url": "https://www.realcommercial.com.au/for-sale/property-william-bland-centre-701-707-229-macquarie-street-sydney-nsw-2000-504501532",
"price": {
"display": "Guide $2,500,000",
"amount": 2500000
},
"property": {
"tenure": "vacant"
}
}

Detailed listing row

With includeDetails set to true, the row can contain the following additional public listing data. Optional fields are included only when the source provides them.

FieldTypeWhat it does
listingIdstringStable source identifier for the listing.
titlestringPublished listing title.
urlURL stringCanonical public listing URL.
descriptionstringPublished property and commercial-use description.
statusstringListing status published by the source.
channelsarray of stringsSource channels for the listing, such as sale, lease, sold, or leased.
priceobjectPublished sale or lease price information.
price.displaystringPrice wording shown in the public listing.
price.amountnumberOne numeric price amount.
price.minAmountnumberLower numeric value of a published price range.
price.maxAmountnumberUpper numeric value of a published price range.
propertyobjectPublished commercial property details.
property.categoriesarray of stringsCommercial property categories published for the listing.
property.floorAreaobjectPublished internal floor area values in square metres.
property.floorArea.valueSqmnumberOne published internal floor area value.
property.floorArea.minSqmnumberLower value of a published internal floor area range.
property.floorArea.maxSqmnumberUpper value of a published internal floor area range.
property.floorArea.displaystringPublished internal floor area wording.
property.landAreaobjectPublished land area values in square metres.
property.landArea.valueSqmnumberOne published land area value.
property.landArea.minSqmnumberLower value of a published land area range.
property.landArea.maxSqmnumberUpper value of a published land area range.
property.landArea.displaystringPublished land area wording.
property.parkingSpacesintegerNumber of published parking spaces.
property.nabersRatingnumberPublished NABERS energy rating.
property.tenurestringPublished tenure information.
property.highlightsarray of stringsPublished property highlights.
property.featuresarray of stringsOther published property features.
locationobjectPublished address and map context.
location.addressstringPublished street address or address text.
location.suburbstringPublished Australian suburb.
location.statestringPublished Australian state or territory.
location.postcodestringPublished Australian postcode.
location.regionstringPublished broader geography.
location.coordinatesobjectPublished or source-provided map coordinates.
location.coordinates.latitudenumberLatitude of the property location.
location.coordinates.longitudenumberLongitude of the property location.
location.mapUrlURL stringPublic map URL supplied by the source.
datesobjectListing or update dates published by the source.
dates.updatedDatedate stringMost recent source-published update date.
availabilityobjectPublished availability or occupancy timing.
availability.occupancystringPublished occupancy or tenancy timing.
mediaobjectPublic photos, videos, tours, and listing website links.
media.photosarray of objectsPublic photo links published for the listing.
media.photos[].urlURL stringDirect public photo URL.
media.photos[].captionstringPublished photo caption.
media.videosarray of objectsPublic video links published for the listing.
media.videos[].urlURL stringDirect public video URL.
media.toursarray of objectsPublic virtual tour links or tour information.
media.tours[].urlURL stringDirect public tour URL.
media.tours[].titlestringPublished tour title.
media.websiteUrlURL stringPublic listing website link.
agencyobjectPublished listing agency details.
agency.namestringPublished agency name.
agency.phonestringPublished agency phone number.
agentsarray of objectsPublished agent or salesperson contacts.
agents[].namestringPublished agent or salesperson name.
agents[].phonestringPublished agent or salesperson phone number.
relatedListingsarray of objectsRelated listing summaries published by the source.
relatedListings[].listingIdstringStable identifier for the related listing.
relatedListings[].titlestringPublished title of the related listing.
relatedListings[].urlURL stringCanonical public URL of the related listing.
relatedListings[].pricestringPublished price wording for the related listing.

Here is one complete row from the successful current-beta default-input run:

{
"listingId": "505209508",
"title": "Welcoming Offers | Haymarket Freehold with Significant Value-Add Potential",
"url": "https://www.realcommercial.com.au/for-sale/property-211-215-thomas-street-haymarket-nsw-2000-505209508",
"description": "Colliers and Savills are pleased to present 211-215 Thomas Street, Haymarket, a rare opportunity to acquire a landmark freehold asset in the heart of Sydney's renowned Chinatown precinct.<br/><br/>The property occupies a prominent 392m²* landholding and comprises 1,248m²* of net lettable area across four levels. Ideally positioned moments from Central Station, major universities and Sydney's $4.3 billion Tech Central precinct, the asset benefits from exceptional connectivity and long-term growth drivers. <br/><br/>Offered with favourable planning controls, the property presents flexibility for investors, owner-occupiers and developers alike. Opportunities of this scale and prominence are rarely available within one of Sydney CBD's most tightly held precincts.<br/><br/>Key Investment Highlights<br/><br/>+ Landmark 392m²* freehold landholding in the heart of Haymarket<br/>+ Prominent 16-metre* frontage to Thomas Street's pedestrian boulevard<br/>+ 1,248m²* net lettable area across four levels<br/>+ SP5 Metropolitan Centre zoning with 50m height limit and 9.9:1 FSR potential<br/>+ Positioned within Sydney's $4.3 billion Tech Central precinct<br/>+ Walking distance to Central Station, Metro and major universities<br/>+ Significant value-add, repositioning and development potential (STCA)<br/><br/>For further information or to arrange an inspection, please contact the exclusive selling agents.<br/><br/>*Approximate<br/>^ STCA: Subject to Council Approval<br/>",
"channels": [
"sale"
],
"price": {
"display": "Please contact agent"
},
"property": {
"categories": [
"Retail"
],
"highlights": [
"Landmark 392m²* freehold landholding",
"16-metre* frontage to Thomas Street",
"SP5 Metropolitan Centre zoning"
],
"features": [
"eliteplus"
]
},
"location": {
"address": "211-215 Thomas Street",
"suburb": "Haymarket",
"state": "NSW",
"postcode": "2000",
"region": "nsw_sydney_cbd",
"coordinates": {
"latitude": -33.88051192,
"longitude": 151.2042333
},
"mapUrl": "https://maps.googleapis.com/maps/api/staticmap?size=80x80&style=feature:poi%7Cvisibility:off&style=feature:administrative%7Cvisibility:off&zoom=16&markers=icon:https://www.realcommercial.com.au/listing-ui-assets/img/map-marker-small.png%7C-33.88051192,151.2042333&key=AIzaSyC_gjuO7NtFjrw2ihFjA5nwxvtACeZ_K4g&channel=rca-prod-map-thumbnail&signature=6ytHDrLfQjvINHp8Mmi-4Rj6MpE="
},
"dates": {
"updatedDate": "2026-09-22"
},
"media": {
"photos": [
{
"url": "https://i1.au.reastatic.net/712x496-smart=80,r=33,g=40,b=46,quality=60,progressive/7490f4bba59348876f16477e7e765afffff353ecd20cdcd267df1a13822c80f5/image0.jpg",
"caption": "211-215 Thomas Street Haymarket NSW 2000 - Image 1"
},
{
"url": "https://i1.au.reastatic.net/712x496-smart=80,r=33,g=40,b=46,quality=60,progressive/387720050198bed31e57502ea49df8b1d5482001bf3df19eee9b42b969487023/image1.jpg",
"caption": "211-215 Thomas Street Haymarket NSW 2000 - Image 2"
},
{
"url": "https://i1.au.reastatic.net/712x496-smart=80,r=33,g=40,b=46,quality=60,progressive/4e3777ff2aab59dc24a76c013de6583d3765e8dbf5727cbfd5d2645bd6e09321/image2.jpg",
"caption": "211-215 Thomas Street Haymarket NSW 2000 - Image 3"
},
{
"url": "https://i1.au.reastatic.net/712x496-smart=80,r=33,g=40,b=46,quality=60,progressive/a3a85c685241c282819daf3ef8ee7d53d95bcc930c7ba8eae54691c108a3d68e/image3.jpg",
"caption": "211-215 Thomas Street Haymarket NSW 2000 - Image 4"
},
{
"url": "https://i1.au.reastatic.net/712x496-smart=80,r=33,g=40,b=46,quality=60,progressive/45a91460a64ecd318de6b5a34b85575dde8a30d3dbc93fde2fcfe617fbd84031/image4.jpg",
"caption": "211-215 Thomas Street Haymarket NSW 2000 - Image 5"
},
{
"url": "https://i1.au.reastatic.net/712x496-smart=80,r=33,g=40,b=46,quality=60,progressive/8d51371e7cceecfacede5f3b140033521d52e5dd4f7bd664e8f17aa68f01b175/image5.jpg",
"caption": "211-215 Thomas Street Haymarket NSW 2000 - Image 6"
},
{
"url": "https://i1.au.reastatic.net/712x496-smart=80,r=33,g=40,b=46,quality=60,progressive/7aacc255a9e5756fb8995b8c9d2d8d509261c56bbbb20a4ac9fc46015482a3fe/image6.jpg",
"caption": "211-215 Thomas Street Haymarket NSW 2000 - Image 7"
},
{
"url": "https://i1.au.reastatic.net/712x496-smart=80,r=33,g=40,b=46,quality=60,progressive/4d434a3547c1e7de200aa284b79a6bfda87d67fa767b0591b8f91ce0466f2fba/image7.jpg",
"caption": "211-215 Thomas Street Haymarket NSW 2000 - Image 8"
},
{
"url": "https://i1.au.reastatic.net/712x496-smart=80,r=33,g=40,b=46,quality=60,progressive/f5058d5da8af2eec73b257c994cd6987a924af8f386f227d8dae861f0a95a3b9/image8.jpg",
"caption": "211-215 Thomas Street Haymarket NSW 2000 - Image 9"
},
{
"url": "https://i1.au.reastatic.net/712x496-smart=80,r=33,g=40,b=46,quality=60,progressive/deb58156f2d517e15a9d105e0f926d146a6dbe3764838a6c2ae973deb5b60adc/image9.jpg",
"caption": "211-215 Thomas Street Haymarket NSW 2000 - Image 10"
},
{
"url": "https://i1.au.reastatic.net/712x496-smart=80,r=33,g=40,b=46,quality=60,progressive/e9f3b0fe4115d3d1b7fdaf0ddeb1f4a5d83cf1eafb0f1116bbb5c561bdd8f45e/image10.jpg",
"caption": "211-215 Thomas Street Haymarket NSW 2000 - Image 11"
},
{
"url": "https://i1.au.reastatic.net/712x496-smart=80,r=33,g=40,b=46,quality=60,progressive/370cc5025540ec7c1974ce3472473a3838a6847c1d206920bacbbb9596c8c53e/image11.jpg",
"caption": "211-215 Thomas Street Haymarket NSW 2000 - Image 12"
},
{
"url": "https://i1.au.reastatic.net/712x496-smart=80,r=33,g=40,b=46,quality=60,progressive/d097fbb7235aa6499c5f2c13fad5ac087a4cfdb28f718eb8a90eed766ca19781/image12.jpg",
"caption": "211-215 Thomas Street Haymarket NSW 2000 - Image 13"
}
],
"videos": [
{
"url": "https://www.youtube.com/watch?v=USuo3v4_yqI"
}
]
},
"agency": {
"name": "Savills - Sydney CBD",
"phone": "02 8215 8888"
},
"agents": [
{
"name": "Andy Hu",
"phone": "0410868066"
},
{
"name": "Jordan Lee",
"phone": "0435 967 245"
}
],
"relatedListings": [
{
"listingId": "505211960",
"title": "Flagship Waterfront Opportunity at Sydney’s Iconic Finger Wharf",
"url": "https://www.realcommercial.com.au/for-sale/property-ground-mezzanine-6f-cowper-wharf-roadway-woolloomooloo-nsw-2011-505211960",
"price": "For Sale via Expressions of Interest"
}
]
}

💳 Pricing

Event

Pricing uses pay per event. Each normalized commercial property listing saved to the default dataset is billed as one Commercial listing event. The event description is: “One normalized commercial property listing is saved to your dataset.”

The maxItems limit controls how many listings the run may save. Leave it empty to return all available results until the source is exhausted.

🔌 Integrations

Use the Apify Console to start a run and open the default dataset. The dataset link can be read through the Apify API or exported for analysis and downstream workflows.

The Actor reads public RealCommercial.com.au listing information and does not ask for customer-supplied source credentials.

❓ FAQ

How do I search sale or lease listings?

Set listingChannel to sale, lease, sold, or leased. All locations and filters in that run use the selected channel.

What does leaving Maximum listings empty do?

The Actor returns all available results until the source is exhausted. Set maxItems when you want an upper bound for the run.

Can one run cover several Australian locations?

Yes. Add one or more values to locations. They share the same channel and filters in that run.

Can I filter listings by source dates?

Yes. Use dateFrom and dateTo for source-published listing or update dates. Each field can be left empty.

What happens when the same listing matches more than once?

The first eligible occurrence is saved. Later matches of the same source listing are ignored, and the saved row keeps the first match's details.

What does Include rich details change?

When includeDetails is true, the Actor requests richer public descriptions, property attributes, map context, photos, and agency or agent context. When it is false, rows may contain core fields only.

Are numeric prices always available?

No. A listing can publish contact-only text, a single amount, or a price range. Check the fields under price and keep in mind that some listings may not publish price information.

Does the Actor need a RealCommercial.com.au login or API key?

No customer-supplied source credentials are required. The Actor reads the public listing information available at run time.

Does this Actor guarantee complete market coverage?

No. Results reflect what RealCommercial.com.au makes public at run time. Optional fields and listings can be missing when the source does not provide them.

📝 Changelog

v0.0 (25-09-2026)

  • Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

Made with ❤️ by Maxime Dupré