{
  "openapi": "3.0.1",
  "info": {
    "title": "RealCommercial AU $1💰 URL Search | Location Filters",
    "description": "From $1/1K. Extract commercial property listings realcommercial com au with full detail data. Get descriptions, highlights, detailed attributes, coordinates, nearby places, agent contacts, agency contacts, images, and rich PDP metadata per listing.",
    "version": "2.0",
    "x-build-id": "WOuSsde1qU4gO6iWn"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/abotapi~realcommercial-au-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-abotapi-realcommercial-au-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/abotapi~realcommercial-au-scraper/runs": {
      "post": {
        "operationId": "runs-sync-abotapi-realcommercial-au-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/abotapi~realcommercial-au-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-abotapi-realcommercial-au-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "1. Search mode",
            "enum": [
              "location",
              "url"
            ],
            "type": "string",
            "description": "Location mode = pick suburb + state + filters below. URL mode = paste any realcommercial.com.au search URL already refined in a browser (recommended for complex filters or multi-suburb queries).",
            "default": "location"
          },
          "locations": {
            "title": "Locations to search (Location mode)",
            "type": "array",
            "description": "Locations to search. State is required. Suburb and postcode are optional.",
            "items": {
              "type": "object",
              "properties": {
                "suburb": {
                  "title": "Suburb (Optional)",
                  "type": "string",
                  "description": "Suburb or city name, e.g. Melbourne, Sydney CBD. Leave empty for state-wide search.",
                  "editor": "textfield"
                },
                "state": {
                  "title": "State",
                  "type": "string",
                  "description": "Australian state or territory",
                  "enum": [
                    "NSW",
                    "VIC",
                    "QLD",
                    "SA",
                    "WA",
                    "TAS",
                    "NT",
                    "ACT"
                  ],
                  "editor": "select"
                },
                "postcode": {
                  "title": "Postcode (Optional)",
                  "type": "string",
                  "description": "4-digit postcode for suburb-level precision, e.g. 3000",
                  "editor": "textfield",
                  "pattern": "^[0-9]{4}$"
                },
                "region": {
                  "title": "Region (Optional)",
                  "type": "string",
                  "description": "Region name, e.g. brisbane-greater-region",
                  "editor": "textfield"
                }
              },
              "required": [
                "state"
              ]
            }
          },
          "listingType": {
            "title": "Listing Type (Location mode)",
            "enum": [
              "for-sale",
              "for-lease",
              "sold",
              "leased"
            ],
            "type": "string",
            "description": "Type of property listings to scrape. Location mode only.",
            "default": "for-sale"
          },
          "propertyTypes": {
            "title": "Property Types",
            "type": "array",
            "description": "Filter by property type (leave empty for all). Only applies in location mode.",
            "items": {
              "type": "string",
              "enum": [
                "industrial-warehouse",
                "retail",
                "offices",
                "land-development",
                "showrooms-bulky-goods",
                "hotel-motel-leisure",
                "medical-consulting",
                "commercial-farming",
                "other"
              ],
              "enumTitles": [
                "Warehouse, Factory & Industrial",
                "Shops & Retail",
                "Offices",
                "Development Sites & Land",
                "Showrooms & Large Format Retail",
                "Hotel, Motel & Leisure",
                "Medical & Consulting",
                "Commercial Farming & Rural",
                "Other"
              ]
            }
          },
          "sortBy": {
            "title": "Sort Order",
            "enum": [
              "featured",
              "date-desc",
              "date-asc",
              "price-desc",
              "price-asc"
            ],
            "type": "string",
            "description": "Sort order for search results. Only applies in location mode.",
            "default": "date-desc"
          },
          "priceMin": {
            "title": "Minimum Price",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum property price (AUD). Only applies in location mode."
          },
          "priceMax": {
            "title": "Maximum Price",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum property price (AUD). Only applies in location mode."
          },
          "areaMin": {
            "title": "Minimum Area (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum floor/land area in square metres. Only applies in location mode."
          },
          "areaMax": {
            "title": "Maximum Area (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum floor/land area in square metres. Only applies in location mode."
          },
          "keywords": {
            "title": "Keywords",
            "type": "string",
            "description": "Keywords to search (e.g. co-working, warehouse). Only applies in location mode."
          },
          "urls": {
            "title": "Search URLs (URL mode)",
            "type": "array",
            "description": "Search result page URLs to scrape. The ?page=N query param sets the starting page; pagination then continues forward up to Maximum Pages. Tip: open realcommercial.com.au, apply your filters, then paste the resulting URL here. In URL mode, all the filter fields above are ignored. Example: https://www.realcommercial.com.au/for-sale/in-melbourne,+vic",
            "items": {
              "type": "string"
            }
          },
          "maxListings": {
            "title": "Maximum Listings",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after scraping this many listings. Set to 0 for unlimited.",
            "default": 20
          },
          "maxPages": {
            "title": "Maximum Pages per Location",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum search result pages to process per location. Each page has ~25 results. Set to 0 for unlimited (default).",
            "default": 0
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Configure proxy."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}