{
  "openapi": "3.0.1",
  "info": {
    "title": "Realtor.CA Commercial Scraper | Enterprise Grade",
    "description": "Extract structured Canada commercial real estate listings from Realtor.ca with property signals, seller details, media assets, contact data and more. Built for enterprise-grade Canada commercial property intelligence, listing monitoring, lead enrichment and automated analytics pipelines.",
    "version": "0.0",
    "x-build-id": "hIu8FfO4UYbNE3xXv"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fatihtahta~realtor-canada-scraper-commercial/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fatihtahta-realtor-canada-scraper-commercial",
        "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/fatihtahta~realtor-canada-scraper-commercial/runs": {
      "post": {
        "operationId": "runs-sync-fatihtahta-realtor-canada-scraper-commercial",
        "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/fatihtahta~realtor-canada-scraper-commercial/run-sync": {
      "post": {
        "operationId": "run-sync-fatihtahta-realtor-canada-scraper-commercial",
        "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": [
          "location"
        ],
        "properties": {
          "location": {
            "title": "Search Location",
            "minLength": 1,
            "type": "string",
            "description": "Enter one Canadian location to search. Examples: \"Ottawa\", \"Ottawa, Ontario\", \"Toronto\", \"Vancouver\", \"Nova Scotia\", or \"Ontario\". Broader areas can return more listings, while specific places produce more targeted results."
          },
          "deal_type": {
            "title": "Choose Listing Category",
            "enum": [
              "sale",
              "lease",
              "sold"
            ],
            "type": "string",
            "description": "Choose whether to collect commercial properties for sale, commercial properties for lease, or sold commercial properties. The default category is properties for sale.",
            "default": "sale"
          },
          "sold_within_days": {
            "title": "Sold Within",
            "enum": [
              "all",
              "7",
              "14",
              "30",
              "90",
              "180",
              "365"
            ],
            "type": "string",
            "description": "Limits sold listings to properties sold within the selected timeframe on Realtor.ca. The default is 365 days. Choose All to include sold listings from any date. This filter is automatically ignored for Properties for sale and Properties for lease searches.",
            "default": "365"
          },
          "property_type": {
            "title": "Select Property Type",
            "enum": [
              "business",
              "multi_family",
              "retail",
              "industrial",
              "office",
              "vacant_land",
              "agriculture",
              "hospitality",
              "institutional"
            ],
            "type": "string",
            "description": "Restrict results to a Realtor.ca commercial property category. Leave empty to include all available commercial property types."
          },
          "publication_date": {
            "title": "Set Earliest Publication Date",
            "type": "string",
            "description": "Only include listings published on or after the selected date. Leave empty to include listings regardless of publication date."
          },
          "keyword": {
            "title": "Filter by Keyword",
            "type": "string",
            "description": "Enter keyword text to focus results on listings that match a specific term or phrase. Leave empty when no keyword filter is needed."
          },
          "min_price": {
            "title": "Set Minimum Price",
            "minimum": 0,
            "type": "integer",
            "description": "Only include sale or sold listings with an asking price at or above this amount. Ignored for Properties for lease searches."
          },
          "max_price": {
            "title": "Set Maximum Price",
            "minimum": 0,
            "type": "integer",
            "description": "Only include sale or sold listings with an asking price at or below this amount. Ignored for Properties for lease searches."
          },
          "exterior_building_size": {
            "title": "Select Exterior Building Size",
            "enum": [
              "0-5000",
              "5001-10000",
              "10001-15000",
              "15001-20000",
              "20001-25000",
              "25001-30000",
              "30001-35000",
              "35001-40000",
              "40001-45000",
              "45001-50000",
              "50001-75000",
              "75001-100000",
              "100001-150000",
              "150001-200000",
              "200001-250000",
              "250001-0"
            ],
            "type": "string",
            "description": "Restrict results to a Realtor.ca commercial exterior building size range. Leave empty when exterior building size should not narrow the search."
          },
          "min_land_area": {
            "title": "Set Minimum Land Area (acre)",
            "minimum": 0,
            "type": "number",
            "description": "Only include listings with a land area at or above this many acres. Leave empty when there is no minimum land size."
          },
          "max_land_area": {
            "title": "Set Maximum Land Area (acre)",
            "minimum": 0,
            "type": "number",
            "description": "Only include listings with a land area at or below this many acres. Leave empty when there is no maximum land size."
          },
          "min_year_built": {
            "title": "Set Earliest Year Built",
            "enum": [
              "2026",
              "2025",
              "2024",
              "2023",
              "2022",
              "2021",
              "2020",
              "2019",
              "2018",
              "2017",
              "2016",
              "2015",
              "2010",
              "2005",
              "2000",
              "1990",
              "1980",
              "1970",
              "1960",
              "1950",
              "1940",
              "1930",
              "1920",
              "1910",
              "1900"
            ],
            "type": "string",
            "description": "Only include listings built in or after this year. Leave empty when there is no earliest year requirement."
          },
          "max_year_built": {
            "title": "Set Latest Year Built",
            "enum": [
              "2026",
              "2025",
              "2024",
              "2023",
              "2022",
              "2021",
              "2020",
              "2019",
              "2018",
              "2017",
              "2016",
              "2015",
              "2010",
              "2005",
              "2000",
              "1990",
              "1980",
              "1970",
              "1960",
              "1950",
              "1940",
              "1930",
              "1920",
              "1910",
              "1900"
            ],
            "type": "string",
            "description": "Only include listings built in or before this year. Leave empty when there is no latest year requirement."
          },
          "min_property_tax": {
            "title": "Set Minimum Annual Property Tax",
            "enum": [
              "250",
              "500",
              "1000",
              "2000",
              "3000",
              "4000",
              "5000",
              "6000",
              "8000",
              "10000",
              "20000"
            ],
            "type": "string",
            "description": "Only include listings with annual property tax at or above this amount. Leave empty when there is no minimum annual tax."
          },
          "max_property_tax": {
            "title": "Set Maximum Annual Property Tax",
            "enum": [
              "250",
              "500",
              "1000",
              "2000",
              "3000",
              "4000",
              "5000",
              "6000",
              "8000",
              "10000",
              "20000"
            ],
            "type": "string",
            "description": "Only include listings with annual property tax at or below this amount. Leave empty when there is no maximum annual tax."
          },
          "min_maintenance_fee": {
            "title": "Set Minimum Monthly Maintenance Fee",
            "enum": [
              "200",
              "300",
              "400",
              "500",
              "600",
              "700",
              "800",
              "900",
              "1000",
              "1500",
              "2000"
            ],
            "type": "string",
            "description": "Only include listings with monthly maintenance fees at or above this amount. Leave empty when there is no minimum monthly fee."
          },
          "max_maintenance_fee": {
            "title": "Set Maximum Monthly Maintenance Fee",
            "enum": [
              "200",
              "300",
              "400",
              "500",
              "600",
              "700",
              "800",
              "900",
              "1000",
              "1500",
              "2000"
            ],
            "type": "string",
            "description": "Only include listings with monthly maintenance fees at or below this amount. Leave empty when there is no maximum monthly fee."
          },
          "sort_option": {
            "title": "Sort Listings",
            "enum": [
              "date_desc",
              "date_asc",
              "price_asc",
              "price_desc",
              "open_houses_first",
              "more_photos_first",
              "virtual_tour_first"
            ],
            "type": "string",
            "description": "Select the listing order used for the Realtor.ca search results. The default is newest listings first.",
            "default": "date_desc"
          },
          "maximize_coverage": {
            "title": "Collect all matching listings while respecting maximum limits and filters",
            "type": "boolean",
            "description": "Keep this enabled for large searches that may exceed the visible-result limit. Turn it off for faster exploratory runs where the first visible set of matching listings is enough.",
            "default": true
          },
          "limit": {
            "title": "Set Maximum Results",
            "minimum": 1,
            "type": "integer",
            "description": "Enter the maximum number of listings to save across the whole run. Leave empty to collect as many matching listings as the run can retrieve."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}