RealCommercial.com.AU Scraper | Enterprise Grade avatar

RealCommercial.com.AU Scraper | Enterprise Grade

Pricing

from $0.70 / 1,000 results

Go to Apify Store
RealCommercial.com.AU Scraper | Enterprise Grade

RealCommercial.com.AU Scraper | Enterprise Grade

Extract Australian commercial real estate listings from RealCommercial.com.au at scale with rich property detail, agent contacts, deep listing metadata, market insights and more. Built for enterprise-grade real estate intelligence, lead enrichment, and automated analytics pipelines.

Pricing

from $0.70 / 1,000 results

Rating

0.0

(0)

Developer

Fatih Tahta

Fatih Tahta

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

RealCommercial.com.au Scraper

Slug: fatihtahta/realcommercial-au-scraper

Overview

RealCommercial.com.au Scraper collects structured commercial property listing data, including listing titles, prices, property types, locations, areas, agents, agencies, media, property attributes, and listing metadata when available. RealCommercial.com.au is one of Australia's major commercial property marketplaces, making its public listing data useful for market research, acquisition analysis, leasing intelligence, and competitive tracking. The actor turns marketplace search results into repeatable JSON records that can be consumed by analytics tools, operational reports, enrichment workflows, and downstream systems. It supports configurable searches across deal type, location, keyword, commercial property category, pricing, area, parking, energy rating, tenure, and output size. The actor is designed for dependable recurring data acquisition with consistent structured output, while reflecting the public data available at the time each run executes.

Why Use This Actor

  • Market research and analytics teams: build structured extraction workflows for pricing, supply, location coverage, property mix, and availability analysis across Australian commercial markets.
  • Product and content teams: normalize public listing attributes, photos, descriptions, and agency details for internal tools, content operations, and market-facing product experiences.
  • Developers and data engineering teams: feed repeatable collection jobs into downstream systems, warehouses, APIs, search indexes, and enrichment pipelines.
  • Lead generation and enrichment teams: identify relevant listings, agencies, agents, and commercial opportunities for prospecting, CRM enrichment, and operational qualification.
  • Monitoring and competitive intelligence teams: schedule recurring runs to track new listings, listing changes, active inventory, recently sold or leased properties, and category movement.

Common Use Cases

  • Market intelligence: monitor commercial property supply, price positioning, availability, locations, property types, and area ranges.
  • Lead generation: build targeted prospect lists from public property listings, agency records, and agent contact context where available.
  • Competitive monitoring: track changes in listings, agencies, represented properties, pricing language, and commercial property categories over time.
  • Catalog and directory building: populate internal databases with structured public commercial property records.
  • Data enrichment: add current public listing attributes, property media, location details, and agency metadata to CRM, BI, or analytics datasets.
  • Recurring reporting: schedule periodic runs for dashboards, alerts, regional snapshots, and trend analysis.

Quick Start

  1. Choose the deal_type you want to collect: buy, lease, sold, or leased.
  2. Add one or more location values, such as suburbs, cities, regions, or state-level search areas supported by RealCommercial.com.au.
  3. Apply optional filters such as keyword, property_type, price range, area range, parking, NABERS rating, or tenure type.
  4. Set a small limit for the first validation run, such as 25 or 50 records per location.
  5. Run the actor in Apify Console and inspect the first dataset records to confirm the output shape matches your workflow.
  6. Increase coverage, refine filters, enable enrich_data, or schedule the actor once the output is verified.

Input Parameters

The actor accepts search criteria for deal type, result order, location, listing filters, enrichment, and maximum results per location.

ParameterTypeDescriptionDefault
deal_typestringListing channel to collect. Allowed values: buy, lease, sold, leased.buy
sort_bystringResult order for matching listings. Allowed values: featured, price-descending, price-ascending, listing-date-newest-first, listing-date-oldest-first.featured
locationarray of stringsAustralian suburbs, cities, regions, or state-level search areas to collect. Add one location per array item.
keywordstringWord or phrase used to narrow listing text, such as a business use, property feature, tenant type, or location qualifier.
property_typearray of stringsCommercial property categories to include. Allowed values: industrial warehouse, retail, offices, land development, showrooms bulky goods, hotel leisure, medical consulting, commercial farming, other.
min_priceintegerMinimum listing price in Australian dollars. Leave empty for no lower price requirement.
max_priceintegerMaximum listing price in Australian dollars. Leave empty for no upper price requirement.
min_floor_areaintegerMinimum internal floor area in square meters.
max_floor_areaintegerMaximum internal floor area in square meters.
min_land_areaintegerMinimum land area in square meters.
max_land_areaintegerMaximum land area in square meters.
min_parkingstringMinimum number of parking spaces. Allowed values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 25, 50, 100, 250, 500, 1000.
nabers_energy_ratingstringMinimum NABERS energy rating threshold on a 1 to 6 scale. Allowed values: 1, 2, 3, 4, 5, 6.
tenue_typestringTenure filter for occupancy or investment profile. Allowed values: vacant_possession, tenanted_investment.
enrich_databooleanWhen enabled, collects richer listing details such as descriptions, attributes, maps, photos, and agency contact information when available.false
limitintegerMaximum number of listings to save for each location input. Minimum: 1.

Choosing Inputs

Use deal_type first because it defines the primary listing channel: properties for purchase, lease, sold results, or leased results. Use location to control market coverage; broader locations improve discovery, while suburb-level inputs create more targeted datasets. Add property_type, keyword, price, floor area, land area, parking, NABERS rating, and tenure filters when you need more specific qualification criteria. Narrow filters usually produce cleaner, more targeted records, while broader filters are better for market discovery and inventory monitoring. Use sort_by to align collection order with your workflow, such as newest listings for monitoring or price ordering for valuation review. Start with a small limit for validation, then increase it after confirming that the dataset shape and coverage are appropriate.

Example Inputs

Location and Category Discovery

{
"deal_type": "buy",
"sort_by": "featured",
"location": ["Brisbane QLD"],
"property_type": ["industrial warehouse", "offices"],
"enrich_data": false,
"limit": 50
}

Recently Listed Leasing Monitor

{
"deal_type": "lease",
"sort_by": "listing-date-newest-first",
"location": ["Melbourne VIC", "Richmond VIC"],
"keyword": "showroom",
"property_type": ["showrooms bulky goods"],
"limit": 75
}
{
"deal_type": "sold",
"sort_by": "price-descending",
"location": ["Sydney NSW"],
"min_price": 1000000,
"max_price": 10000000,
"tenue_type": "tenanted_investment",
"enrich_data": true,
"limit": 100
}

Output

Output Destination

The actor writes results to an Apify dataset as JSON records. The dataset is designed for direct consumption by analytics tools, ETL pipelines, and downstream APIs with minimal post-processing.

When multiple entity types or record shapes exist, this README documents each shape separately based on the provided Example Output.

Record Envelope and Stable Identifiers

Each dataset item represents a RealCommercial.com.au listing record. The strongest recommended idempotency key is id; if your storage layer requires a globally scoped key, use url or a composite key such as id plus source_context.seed_value.

Use the recommended key for deduplication and upserts when storing results across repeated runs. Stable identifiers make records easier to merge, deduplicate, and sync across warehouses, CRMs, search indexes, and monitoring systems.

The source_context.fingerprint field can be used as an additional run-level or collection-context identifier, especially when you need to compare records collected from different input scopes.

Examples

Example: Listing Record

{
"id": "500123456",
"url": "https://www.realcommercial.com.au/for-sale/property-12-18-example-road-port-melbourne-vic-3207-500123456",
"title": "Modern Industrial Facility with Office and Secure Yard",
"price": "CONTACT AGENT",
"area": "2450 m²",
"property_types": [
"Industrial/Warehouse"
],
"location": {
"street_address": "12-18 Example Road",
"suburb_address": "Port Melbourne, VIC 3207",
"suburb": "Port Melbourne",
"state": "VIC",
"postcode": "3207",
"marketing": {
"region": "vic_melbourne___region,vic_inner_melbourne___region",
"suburb": "port_melbourne"
},
"coordinates": {
"latitude": -37.832104,
"longitude": 144.921418,
"precision": "street"
},
"map_thumbnail_url": "https://www.realcommercial.com.au/example-assets/map-thumbnail-500123456.png",
"map_zoom_level": 16
},
"contacts": {
"agents": [
{
"name": "Jordan Smith",
"image_url": "https://www.realcommercial.com.au/example-assets/agents/jordan-smith.jpg"
},
{
"name": "Priya Nguyen",
"image_url": "https://www.realcommercial.com.au/example-assets/agents/priya-nguyen.jpg"
}
],
"agencies": [
{
"id": "EXMELB",
"name": "Example Commercial - Melbourne",
"salespeople": [
{
"id": "900001",
"name": "Jordan Smith",
"enquiry_url": "https://www.realcommercial.com.au/contact/example-listing-500123456/jordan-smith",
"image_url": "https://www.realcommercial.com.au/example-assets/agents/jordan-smith-large.jpg",
"image_url_template": "https://www.realcommercial.com.au/example-assets/agents/{options}/jordan-smith.jpg",
"phone": {
"display": "03 9000 1000",
"dial": "+61390001000"
},
"social_links": {
"facebook": "https://www.facebook.com/examplecommercialmelbourne/",
"linkedin": "https://www.linkedin.com/in/jordan-smith-example/"
}
},
{
"id": "900002",
"name": "Priya Nguyen",
"enquiry_url": "https://www.realcommercial.com.au/contact/example-listing-500123456/priya-nguyen",
"image_url": "https://www.realcommercial.com.au/example-assets/agents/priya-nguyen-large.jpg",
"image_url_template": "https://www.realcommercial.com.au/example-assets/agents/{options}/priya-nguyen.jpg",
"phone": {
"display": "03 9000 1001",
"dial": "+61390001001"
},
"social_links": {
"facebook": "https://www.facebook.com/examplecommercialmelbourne/",
"linkedin": "https://www.linkedin.com/in/priya-nguyen-example/"
}
}
],
"additional_branding": true,
"address": {
"street_address": "Level 5, 100 Collins Street",
"suburb_address": "MELBOURNE, VIC 3000"
},
"branding": {
"color": "#1f5f8b",
"logo": {
"alt": "Example Commercial - Melbourne",
"url": "https://www.realcommercial.com.au/example-assets/agencies/example-commercial-logo.jpg",
"url_template": "https://www.realcommercial.com.au/example-assets/agencies/{options}/example-commercial-logo.jpg"
}
},
"phone": {
"display": "03 9000 1100",
"dial": "+61390001100"
}
}
]
},
"media": {
"photos": [
{
"url": "https://www.realcommercial.com.au/example-assets/listings/500123456/image0.jpg",
"url_template": "https://www.realcommercial.com.au/example-assets/listings/500123456/{size}/image0.jpg",
"alt": "12-18 Example Road Port Melbourne VIC 3207 - Image 1"
},
{
"url": "https://www.realcommercial.com.au/example-assets/listings/500123456/image1.jpg",
"url_template": "https://www.realcommercial.com.au/example-assets/listings/500123456/{size}/image1.jpg",
"alt": "12-18 Example Road Port Melbourne VIC 3207 - Image 2"
},
{
"url": "https://www.realcommercial.com.au/example-assets/listings/500123456/image2.jpg",
"url_template": "https://www.realcommercial.com.au/example-assets/listings/500123456/{size}/image2.jpg",
"alt": "12-18 Example Road Port Melbourne VIC 3207 - Image 3"
},
{
"url": "https://www.realcommercial.com.au/example-assets/listings/500123456/image3.jpg",
"url_template": "https://www.realcommercial.com.au/example-assets/listings/500123456/{size}/image3.jpg",
"alt": "12-18 Example Road Port Melbourne VIC 3207 - Image 4"
},
{
"url": "https://www.realcommercial.com.au/example-assets/listings/500123456/image4.jpg",
"url_template": "https://www.realcommercial.com.au/example-assets/listings/500123456/{size}/image4.jpg",
"alt": "12-18 Example Road Port Melbourne VIC 3207 - Image 5"
},
{
"url": "https://www.realcommercial.com.au/example-assets/listings/500123456/image5.jpg",
"url_template": "https://www.realcommercial.com.au/example-assets/listings/500123456/{size}/image5.jpg",
"alt": "12-18 Example Road Port Melbourne VIC 3207 - Image 6"
},
{
"url": "https://www.realcommercial.com.au/example-assets/listings/500123456/image6.jpg",
"url_template": "https://www.realcommercial.com.au/example-assets/listings/500123456/{size}/image6.jpg",
"alt": "12-18 Example Road Port Melbourne VIC 3207 - Image 7"
},
{
"url": "https://www.realcommercial.com.au/example-assets/listings/500123456/image7.jpg",
"url_template": "https://www.realcommercial.com.au/example-assets/listings/500123456/{size}/image7.jpg",
"alt": "12-18 Example Road Port Melbourne VIC 3207 - Image 8"
},
{
"url": "https://www.realcommercial.com.au/example-assets/listings/500123456/image8.jpg",
"url_template": "https://www.realcommercial.com.au/example-assets/listings/500123456/{size}/image8.jpg",
"alt": "12-18 Example Road Port Melbourne VIC 3207 - Image 9"
},
{
"url": "https://www.realcommercial.com.au/example-assets/listings/500123456/image9.jpg",
"url_template": "https://www.realcommercial.com.au/example-assets/listings/500123456/{size}/image9.jpg",
"alt": "12-18 Example Road Port Melbourne VIC 3207 - Image 10"
},
{
"url": "https://www.realcommercial.com.au/example-assets/listings/500123456/image10.jpg",
"url_template": "https://www.realcommercial.com.au/example-assets/listings/500123456/{size}/image10.jpg",
"alt": "12-18 Example Road Port Melbourne VIC 3207 - Image 11"
},
{
"url": "https://www.realcommercial.com.au/example-assets/listings/500123456/image11.jpg",
"url_template": "https://www.realcommercial.com.au/example-assets/listings/500123456/{size}/image11.jpg",
"alt": "12-18 Example Road Port Melbourne VIC 3207 - Image 12"
},
{
"url": "https://www.realcommercial.com.au/example-assets/listings/500123456/image12.jpg",
"url_template": "https://www.realcommercial.com.au/example-assets/listings/500123456/{size}/image12.jpg",
"alt": "12-18 Example Road Port Melbourne VIC 3207 - Image 13"
},
{
"url": "https://www.realcommercial.com.au/example-assets/listings/500123456/image13.jpg",
"url_template": "https://www.realcommercial.com.au/example-assets/listings/500123456/{size}/image13.jpg",
"alt": "12-18 Example Road Port Melbourne VIC 3207 - Image 14"
},
{
"url": "https://www.realcommercial.com.au/example-assets/listings/500123456/image14.jpg",
"url_template": "https://www.realcommercial.com.au/example-assets/listings/500123456/{size}/image14.jpg",
"alt": "12-18 Example Road Port Melbourne VIC 3207 - Image 15"
},
{
"url": "https://www.realcommercial.com.au/example-assets/listings/500123456/image15.jpg",
"url_template": "https://www.realcommercial.com.au/example-assets/listings/500123456/{size}/image15.jpg",
"alt": "12-18 Example Road Port Melbourne VIC 3207 - Image 16"
},
{
"url": "https://www.realcommercial.com.au/example-assets/listings/500123456/image16.jpg",
"url_template": "https://www.realcommercial.com.au/example-assets/listings/500123456/{size}/image16.jpg",
"alt": "12-18 Example Road Port Melbourne VIC 3207 - Image 17"
},
{
"url": "https://www.realcommercial.com.au/example-assets/listings/500123456/image17.jpg",
"url_template": "https://www.realcommercial.com.au/example-assets/listings/500123456/{size}/image17.jpg",
"alt": "12-18 Example Road Port Melbourne VIC 3207 - Image 18"
},
{
"url": "https://www.realcommercial.com.au/example-assets/listings/500123456/image18.jpg",
"url_template": "https://www.realcommercial.com.au/example-assets/listings/500123456/{size}/image18.jpg",
"alt": "12-18 Example Road Port Melbourne VIC 3207 - Image 19"
},
{
"url": "https://www.realcommercial.com.au/example-assets/listings/500123456/image19.jpg",
"url_template": "https://www.realcommercial.com.au/example-assets/listings/500123456/{size}/image19.jpg",
"alt": "12-18 Example Road Port Melbourne VIC 3207 - Image 20"
},
{
"url": "https://www.realcommercial.com.au/example-assets/listings/500123456/image20.jpg",
"url_template": "https://www.realcommercial.com.au/example-assets/listings/500123456/{size}/image20.jpg",
"alt": "12-18 Example Road Port Melbourne VIC 3207 - Image 21"
},
{
"url": "https://www.realcommercial.com.au/example-assets/listings/500123456/image21.jpg",
"url_template": "https://www.realcommercial.com.au/example-assets/listings/500123456/{size}/image21.jpg",
"alt": "12-18 Example Road Port Melbourne VIC 3207 - Image 22"
},
{
"url": "https://www.realcommercial.com.au/example-assets/listings/500123456/image22.jpg",
"url_template": "https://www.realcommercial.com.au/example-assets/listings/500123456/{size}/image22.jpg",
"alt": "12-18 Example Road Port Melbourne VIC 3207 - Image 23"
},
{
"url": "https://www.realcommercial.com.au/example-assets/listings/500123456/image23.jpg",
"url_template": "https://www.realcommercial.com.au/example-assets/listings/500123456/{size}/image23.jpg",
"alt": "12-18 Example Road Port Melbourne VIC 3207 - Image 24"
},
{
"url": "https://www.realcommercial.com.au/example-assets/listings/500123456/image24.jpg",
"url_template": "https://www.realcommercial.com.au/example-assets/listings/500123456/{size}/image24.jpg",
"alt": "12-18 Example Road Port Melbourne VIC 3207 - Image 25"
},
{
"url": "https://www.realcommercial.com.au/example-assets/listings/500123456/image25.jpg",
"url_template": "https://www.realcommercial.com.au/example-assets/listings/500123456/{size}/image25.jpg",
"alt": "12-18 Example Road Port Melbourne VIC 3207 - Image 26"
}
],
"video": {
"youtube_id": "AbC123XyZ90"
},
"has_tour": false
},
"details": {
"days_active": 42,
"branding": {
"color": "#1f5f8b",
"logo": {
"alt": "Example Commercial - Melbourne",
"url": "https://www.realcommercial.com.au/example-assets/agencies/example-commercial-logo.jpg",
"url_template": "https://www.realcommercial.com.au/example-assets/agencies/{options}/example-commercial-logo.jpg"
}
},
"product": "premium",
"description": "Modern industrial facility with clear-span warehouse space, refurbished office accommodation, secure yard, multiple roller doors, and convenient access to major arterial routes. The property is suitable for logistics, storage, light manufacturing, or owner-occupier use. Available for sale with vacant possession. For further information or to arrange an inspection, contact the appointed agents. All areas and measurements are approximate.",
"description_html": "Modern industrial facility with clear-span warehouse space, refurbished office accommodation, secure yard, multiple roller doors, and convenient access to major arterial routes.<br/><br/>The property is suitable for logistics, storage, light manufacturing, or owner-occupier use.<br/><br/>Available for sale with vacant possession.<br/><br/>For further information or to arrange an inspection, contact the appointed agents.<br/><br/>All areas and measurements are approximate.",
"available_channels": [
"for-sale",
"for-lease"
],
"multiple_properties": false,
"high_quality_listing": false,
"attributes": [
{
"id": "land-area",
"label": "Land area",
"value": "6200 m²"
},
{
"id": "floor-area",
"label": "Floor area",
"value": "2450 m²"
},
{
"id": "building",
"label": "Property extent",
"value": "Whole"
}
],
"land_area": "6200 m²",
"floor_area": "2450 m²",
"last_updated_at": "2026-05-01T04:15:00Z",
"similar_listings": [
{
"id": "500123457",
"url": "https://www.realcommercial.com.au/for-sale/property-20-sample-street-southbank-vic-3006-500123457",
"title": "City Fringe Warehouse and Office",
"price": "For Sale by EOI",
"area": "980 m²",
"property_types": [
"Industrial/Warehouse",
"Offices"
],
"location": {
"street_address": "20 Sample Street",
"suburb_address": "Southbank, VIC 3006"
},
"main_photo": {
"url": "https://www.realcommercial.com.au/example-assets/listings/500123457/image0.jpg",
"alt": "20 Sample Street Southbank VIC 3006 - Image 1"
},
"branding": {
"color": "#1f5f8b",
"logo": {
"alt": "Example Commercial - Melbourne",
"url": "https://www.realcommercial.com.au/example-assets/agencies/example-commercial-logo.jpg",
"url_template": "https://www.realcommercial.com.au/example-assets/agencies/{options}/example-commercial-logo.jpg"
}
},
"product": "premium"
},
{
"id": "500123458",
"url": "https://www.realcommercial.com.au/for-sale/property-8-demo-court-tullamarine-vic-3043-500123458",
"title": "Functional Warehouse with Hardstand",
"price": "Indicative pricing $2,850,000 plus GST",
"area": "1250 m²",
"property_types": [
"Industrial/Warehouse"
],
"location": {
"street_address": "8 Demo Court",
"suburb_address": "Tullamarine, VIC 3043"
},
"main_photo": {
"url": "https://www.realcommercial.com.au/example-assets/listings/500123458/image0.jpg",
"alt": "8 Demo Court Tullamarine VIC 3043 - Image 1"
},
"branding": {
"color": "#1f5f8b",
"logo": {
"alt": "Example Commercial - Melbourne",
"url": "https://www.realcommercial.com.au/example-assets/agencies/example-commercial-logo.jpg",
"url_template": "https://www.realcommercial.com.au/example-assets/agencies/{options}/example-commercial-logo.jpg"
}
},
"product": "enhanced"
}
]
},
"source_context": {
"source_url": "https://www.realcommercial.com.au/for-sale/commercial-real-estate-in-port+melbourne,+vic+3207/list-1",
"seed_id": "example-seed-001",
"seed_type": "location",
"seed_value": "Port Melbourne VIC 3207",
"page_index": 1,
"detail_source_url": "https://www.realcommercial.com.au/for-sale/property-12-18-example-road-port-melbourne-vic-3207-500123456",
"is_enriched": true,
"domain": "www.realcommercial.com.au",
"fingerprint": "example-fingerprint-500123456",
"scraped_at": "2026-05-08T20:34:42.683856+00:00"
},
"pricing": {
"raw": {
"for_sale": {
"display_price": "CONTACT AGENT",
"is_price_hidden": true
},
"for_lease": {
"display_price": "CONTACT AGENT",
"is_price_hidden": true
}
}
}
}

Field Reference

Listing Record

id (string, required): Stable listing identifier.

url (string, required): Public listing URL.

title (string, optional): Listing headline.

price (string, optional): Display price or price guidance text.

area (string, optional): Display area value as shown for the listing.

property_types (array of strings, optional): Commercial property categories associated with the listing.

location.street_address (string, optional): Street address.

location.suburb_address (string, optional): Suburb, state, and postcode display address.

location.suburb (string, optional): Suburb name.

location.state (string, optional): Australian state or territory abbreviation.

location.postcode (string, optional): Postal code.

location.marketing.region (string, optional): Marketing region identifiers when available.

location.marketing.suburb (string, optional): Marketing suburb identifier when available.

location.coordinates.latitude / location.coordinates.longitude (number, optional): Geographic coordinates.

location.coordinates.precision (string, optional): Coordinate precision label.

location.map_thumbnail_url (string, optional): Map thumbnail URL.

location.map_zoom_level (number, optional): Map zoom level.

contacts.agents (array, optional): Summary agent records associated with the listing.

contacts.agents.name (string, optional): Agent name.

contacts.agents.image_url (string, optional): Agent image URL.

contacts.agencies (array, optional): Agency records associated with the listing.

contacts.agencies.id (string, optional): Agency identifier.

contacts.agencies.name (string, optional): Agency name.

contacts.agencies.salespeople (array, optional): Salespeople associated with the agency and listing.

contacts.agencies.salespeople.id (string, optional): Salesperson identifier.

contacts.agencies.salespeople.name (string, optional): Salesperson name.

contacts.agencies.salespeople.enquiry_url (string, optional): Public enquiry destination when available in the record.

contacts.agencies.salespeople.image_url (string, optional): Salesperson image URL.

contacts.agencies.salespeople.image_url_template (string, optional): Templated image URL when provided.

contacts.agencies.salespeople.phone.display (string, optional): Display phone number.

contacts.agencies.salespeople.phone.dial (string, optional): Dial-ready phone number.

contacts.agencies.salespeople.social_links.facebook (string, optional): Facebook profile or page URL.

contacts.agencies.salespeople.social_links.linkedin (string, optional): LinkedIn profile URL.

contacts.agencies.additional_branding (boolean, optional): Indicates whether additional branding metadata is present.

contacts.agencies.address.street_address (string, optional): Agency street address.

contacts.agencies.address.suburb_address (string, optional): Agency suburb, state, and postcode display address.

contacts.agencies.branding.color (string, optional): Agency branding color.

contacts.agencies.branding.logo.alt (string, optional): Logo alt text.

contacts.agencies.branding.logo.url (string, optional): Logo URL.

contacts.agencies.branding.logo.url_template (string, optional): Templated logo URL when provided.

contacts.agencies.phone.display (string, optional): Agency display phone number.

contacts.agencies.phone.dial (string, optional): Agency dial-ready phone number.

media.photos (array, optional): Listing photo records.

media.photos.url (string, optional): Photo URL.

media.photos.url_template (string, optional): Templated photo URL when provided.

media.photos.alt (string, optional): Photo alt text.

media.video.youtube_id (string, optional): YouTube video identifier.

media.has_tour (boolean, optional): Indicates whether the record reports a tour.

details.days_active (number, optional): Number of days the listing has been active.

details.branding.color (string, optional): Listing branding color.

details.branding.logo.alt (string, optional): Listing logo alt text.

details.branding.logo.url (string, optional): Listing logo URL.

details.branding.logo.url_template (string, optional): Templated listing logo URL when provided.

details.product (string, optional): Listing product or presentation tier label.

details.description (string, optional): Plain-text listing description.

details.description_html (string, optional): HTML-formatted listing description.

details.available_channels (array of strings, optional): Listing channels associated with the property.

details.multiple_properties (boolean, optional): Indicates whether the listing represents multiple properties.

details.high_quality_listing (boolean, optional): Listing quality indicator when available.

details.attributes (array, optional): Structured property attributes.

details.attributes.id (string, optional): Attribute identifier.

details.attributes.label (string, optional): Attribute label.

details.attributes.value (string, optional): Attribute value.

details.land_area (string, optional): Display land area.

details.floor_area (string, optional): Display floor area.

details.last_updated_at (string, optional): Last updated timestamp in ISO 8601 format when available.

details.similar_listings (array, optional): Similar listing summaries.

details.similar_listings.id (string, optional): Similar listing identifier.

details.similar_listings.url (string, optional): Similar listing public URL.

details.similar_listings.title (string, optional): Similar listing title.

details.similar_listings.price (string, optional): Similar listing display price.

details.similar_listings.area (string, optional): Similar listing display area.

details.similar_listings.property_types (array of strings, optional): Similar listing property categories.

details.similar_listings.location.street_address (string, optional): Similar listing street address.

details.similar_listings.location.suburb_address (string, optional): Similar listing suburb, state, and postcode display address.

details.similar_listings.main_photo.url (string, optional): Similar listing main photo URL.

details.similar_listings.main_photo.alt (string, optional): Similar listing main photo alt text.

details.similar_listings.branding.color (string, optional): Similar listing branding color.

details.similar_listings.branding.logo.alt (string, optional): Similar listing logo alt text.

details.similar_listings.branding.logo.url (string, optional): Similar listing logo URL.

details.similar_listings.branding.logo.url_template (string, optional): Similar listing templated logo URL when provided.

details.similar_listings.product (string, optional): Similar listing product or presentation tier label.

source_context.source_url (string, optional): Source URL recorded for traceability.

source_context.seed_id (string, optional): Identifier for the configured input scope.

source_context.seed_type (string, optional): Input scope type, such as location.

source_context.seed_value (string, optional): Input value that produced the record.

source_context.page_index (number, optional): Result page index associated with the record.

source_context.detail_source_url (string, optional): Detail source URL recorded for traceability.

source_context.is_enriched (boolean, optional): Indicates whether richer listing details were collected.

source_context.domain (string, optional): Source domain recorded for traceability.

source_context.fingerprint (string, optional): Stable collection-context fingerprint.

source_context.scraped_at (string, optional): Timestamp when the record was collected, in ISO 8601 format.

pricing.raw.for_sale.display_price (string, optional): Raw sale display price when available.

pricing.raw.for_sale.is_price_hidden (boolean, optional): Indicates whether sale price is hidden.

pricing.raw.for_lease.display_price (string, optional): Raw lease display price when available.

pricing.raw.for_lease.is_price_hidden (boolean, optional): Indicates whether lease price is hidden.

Data Quality, Guarantees, and Handling

  • Structured records: results are normalized into predictable JSON objects for downstream use.
  • Best-effort extraction: fields may vary by region, session, availability, source presentation, or marketplace experiments.
  • Optional fields: null-check optional fields in downstream code, especially contact, media, pricing, map, and enrichment fields.
  • Deduplication: use id as the strongest stable key; use url or id plus source_context.seed_value when your workflow needs source-scope separation.
  • Freshness: results reflect the publicly available data at run time.
  • Repeated runs: use the recommended idempotency key when syncing data into warehouses, CRMs, search indexes, or monitoring systems.

Tips for Best Results

  • Start with a small limit to validate the output shape before scaling up.
  • Use one geography, property category, or deal type per run when you need cleaner segmentation.
  • Leave optional filters empty when the goal is broad discovery.
  • Add filters gradually to understand how each field changes coverage.
  • Use sort_by with listing-date-newest-first for monitoring workflows focused on new inventory.
  • Enable enrich_data when you need descriptions, media, attributes, and richer agency context.
  • Use stable identifiers for deduplication when storing results over time.

How to Run on Apify

  1. Open the Actor in Apify Console.
  2. Configure the available input fields for the target scope.
  3. Set the maximum number of outputs to collect with limit.
  4. Click Start and wait for the run to finish.
  5. Open the dataset and review the first records.
  6. Download results in JSON, CSV, Excel, or other supported formats.

Scheduling & Automation

Scheduling

Automated Data Collection

Schedule runs to keep commercial property datasets fresh for reporting, monitoring, and enrichment workflows. Recurring runs are especially useful when tracking new listings, pricing changes, geographic availability, or recently sold and leased records.

  • Navigate to Schedules in Apify Console
  • Create a new schedule, such as daily, weekly, or custom cron
  • Configure input parameters
  • Enable notifications for run completion
  • Add webhooks for automated processing

Integration Options

  • BI dashboards: monitor pricing, availability, property type movement, and geographic coverage over time.
  • Data warehouses: store historical listing snapshots for reporting, modeling, and longitudinal analysis.
  • CRM enrichment: sync public listing, agency, and agent attributes into account or lead records.
  • Google Sheets or Airtable: review smaller market samples, qualification lists, and operational exports.
  • Webhooks: trigger validation, notification, or ingestion workflows after each completed run.
  • Alerts and reporting: notify teams when new listings match target locations, price ranges, categories, or tenure profiles.

Export Formats and Downstream Use

Apify datasets can be exported or consumed by downstream systems for reporting, review, and automated ingestion.

  • JSON: for APIs, applications, and data pipelines.
  • CSV or Excel: for spreadsheet workflows and manual review.
  • API access: for automated ingestion into internal systems.
  • BI and warehouses: for reporting, dashboards, and historical analysis.

Performance

Estimated run times:

  • Small runs (< 1,000 outputs): ~3–5 minutes
  • Medium runs (1,000–5,000 outputs): ~5–15 minutes
  • Large runs (5,000+ outputs): ~15–30 minutes

Execution time varies based on filters, result volume, and how much information is returned per record. Highly filtered runs can finish faster, while broad discovery or detail-rich records may take longer.

Limitations

  • Availability depends on what RealCommercial.com.au publicly exposes at run time.
  • Some optional fields may be missing on sparse records or listings with limited public detail.
  • Very broad searches may take longer or require higher limit values to capture the desired coverage.
  • Target-side changes can affect field availability, naming, or presentation.
  • Regional, account, or availability differences may change visible results.
  • Pricing text can vary because some listings display guidance, ranges, or contact-only pricing rather than numeric values.

Troubleshooting

  • No results returned: check filters, location spelling, property category selection, and whether the target has matching public records.
  • Fewer results than expected: broaden filters, raise limit, or verify that the selected location and deal type contain enough matching records.
  • Some fields are empty: optional fields depend on what each record publicly provides.
  • Run takes longer than expected: reduce scope, lower limit for validation, or split broad collection into smaller segments.
  • Output changed: compare the current output with the field reference and report a small sample if support is needed.

FAQ

What data does this actor collect?

It collects public RealCommercial.com.au commercial property listing data, including titles, prices, property types, areas, locations, contacts, agencies, media, descriptions, attributes, source context, and pricing details when available.

Can I filter by location, category, date, price, or other criteria?

You can filter by deal type, location, keyword, property type, price range, floor area, land area, parking, NABERS energy rating, tenure type, and result order. The schema does not include a direct date-window input, but sort_by supports newest-first and oldest-first listing order.

Why did I receive fewer results than my limit?

The limit is a maximum, not a guarantee. A run may return fewer records when the selected location, deal type, or filters have fewer matching public listings.

Can I schedule recurring runs?

Yes. Use Apify Schedules to run the actor daily, weekly, or on a custom cron schedule.

How do I avoid duplicates across runs?

Use id as the primary idempotency key. If you need to preserve separate records by input scope, use a composite key such as id plus source_context.seed_value.

Can I export the data to CSV, Excel, or JSON?

Yes. Apify datasets support exports in JSON, CSV, Excel, and other formats supported by the Apify platform.

Does this actor collect private data?

The actor is intended to collect publicly available listing information from RealCommercial.com.au. Users are responsible for ensuring their use of the data complies with applicable laws, regulations, and platform terms.

When should I enable enrichment?

Enable enrich_data when your workflow needs richer listing details such as descriptions, media, property attributes, map context, and agency contact information. Keep it disabled for faster validation runs or lighter datasets.

What should I include when reporting an issue?

Include the input used with sensitive values redacted, the run ID, expected versus actual behavior, and a small output sample when it helps explain the issue.

Compliance & Ethics

Responsible Data Collection

This actor collects publicly available commercial property listing information from https://www.realcommercial.com.au for legitimate business purposes, including:

  • Commercial real estate research and market analysis
  • Listing monitoring, valuation review, and operational reporting
  • CRM enrichment, lead qualification, and market intelligence workflows

Users are responsible for ensuring that their use of collected data complies with applicable laws, regulations, and the target site's terms. This section is informational and not legal advice.

Best Practices

  • Use collected data in accordance with applicable laws, regulations, and the target site's terms
  • Respect individual privacy and personal information
  • Use data responsibly and avoid disruptive or excessive collection
  • Do not use this actor for spamming, harassment, or other harmful purposes
  • Follow relevant data protection requirements where applicable, such as GDPR and CCPA

Support

For help, use the actor page or Issues section. Include the input used with sensitive values redacted, the run ID, expected versus actual behavior, and a small output sample when available.