{
  "openapi": "3.0.1",
  "info": {
    "title": "Housesigma $1💰 Property Listings, Sold History & Agents",
    "description": "From $1/1K. Scrape housesigma.com listings across Ontario, BC, and Alberta. Search by city or paste URLs to extract prices, addresses, photos, room dimensions, school scores, price history, HouseSigma estimates, and sold statistics.",
    "version": "1.0",
    "x-build-id": "1bJufJ4QM0CI2eDLs"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/abotapi~housesigma-com/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-abotapi-housesigma-com",
        "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~housesigma-com/runs": {
      "post": {
        "operationId": "runs-sync-abotapi-housesigma-com",
        "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~housesigma-com/run-sync": {
      "post": {
        "operationId": "run-sync-abotapi-housesigma-com",
        "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": "Mode",
            "enum": [
              "search",
              "url",
              "detail",
              "agent",
              "community"
            ],
            "type": "string",
            "description": "What to scrape. 'search' uses the filters below. 'url' takes HouseSigma listing or area links. 'detail' takes listing IDs/links. 'agent' lists the agent directory. 'community' returns sold-price stats for a community.",
            "default": "search"
          },
          "province": {
            "title": "Province",
            "enum": [
              "ON",
              "BC",
              "AB"
            ],
            "type": "string",
            "description": "Canadian province to search. HouseSigma currently covers Ontario, British Columbia and Alberta.",
            "default": "ON"
          },
          "locations": {
            "title": "Cities or communities",
            "type": "array",
            "description": "City or community names to search, e.g. ['Toronto', 'Mississauga']. Each is resolved automatically. Leave empty to search the whole province. Used by 'search' and 'community' modes.",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "title": "Listing status",
            "type": "array",
            "description": "Which listing states to include.",
            "items": {
              "type": "string",
              "enum": [
                "for-sale",
                "for-rent",
                "sold",
                "leased",
                "de-listed"
              ],
              "enumTitles": [
                "For Sale",
                "For Rent",
                "Sold",
                "Leased",
                "De-listed"
              ]
            },
            "default": [
              "for-sale"
            ]
          },
          "propertyTypes": {
            "title": "Property types",
            "type": "array",
            "description": "Filter by property type. Leave empty for all types.",
            "items": {
              "type": "string",
              "enum": [
                "detached",
                "semi-detached",
                "freehold-townhouse",
                "condo-townhouse",
                "condo-apt",
                "link",
                "multiplex",
                "vacant-land",
                "other"
              ],
              "enumTitles": [
                "Detached",
                "Semi-Detached",
                "Freehold Townhouse",
                "Condo Townhouse",
                "Condo Apt",
                "Link",
                "Multiplex",
                "Vacant Land",
                "Other"
              ]
            },
            "default": []
          },
          "minPrice": {
            "title": "Min price",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum price (CAD)."
          },
          "maxPrice": {
            "title": "Max price",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum price (CAD)."
          },
          "minBedrooms": {
            "title": "Min bedrooms",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "Minimum bedrooms."
          },
          "maxBedrooms": {
            "title": "Max bedrooms",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "Maximum bedrooms (5 = 5+)."
          },
          "minBathrooms": {
            "title": "Min bathrooms",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "Minimum bathrooms."
          },
          "minGarage": {
            "title": "Min garage spaces",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "Minimum garage spaces."
          },
          "minSqft": {
            "title": "Min size (sqft)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum interior size in square feet."
          },
          "maxSqft": {
            "title": "Max size (sqft)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum interior size in square feet."
          },
          "soldDays": {
            "title": "Sold/leased within (days)",
            "minimum": 1,
            "maximum": 3650,
            "type": "integer",
            "description": "For 'sold' / 'leased' / 'de-listed' status: only include records from the last N days.",
            "default": 90
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "newest",
              "price-asc",
              "price-desc"
            ],
            "type": "string",
            "description": "Result ordering.",
            "default": "newest"
          },
          "urls": {
            "title": "HouseSigma URLs",
            "type": "array",
            "description": "Listing links (ending in /home/<id>/) or area links (a city map or listings page). Listing links return full details; area links run a search. Used by 'url' mode.",
            "items": {
              "type": "string"
            }
          },
          "listings": {
            "title": "Listing IDs or links",
            "type": "array",
            "description": "Listing IDs (e.g. aQmD7zn5m8Z7J9Bo) or full listing links. Used by 'detail' mode.",
            "items": {
              "type": "string"
            }
          },
          "agents": {
            "title": "Agent profiles",
            "type": "array",
            "description": "Agent profile links (.../agents/<slug>/) or bare slugs (e.g. matthew-schlotzhauer). In 'agent' mode each returns the agent's profile (bio, stats, top cities, property-type mix) plus their listings. Leave empty to scrape the whole province agent directory instead.",
            "items": {
              "type": "string"
            }
          },
          "agentCategory": {
            "title": "Agent listings category",
            "enum": [
              "sold",
              "active",
              "toured"
            ],
            "type": "string",
            "description": "Which of an agent's listings to pull in 'agent' mode.",
            "default": "sold"
          },
          "fetchDetails": {
            "title": "Fetch full details",
            "type": "boolean",
            "description": "Open each listing's detail page for all photos, rooms, schools, price history, community stats and the HouseSigma estimate. Turn off for a faster, lighter run that returns the rich search-card fields only.",
            "default": true
          },
          "maxItems": {
            "title": "Max results",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many records. 0 = no limit.",
            "default": 50
          },
          "maxPages": {
            "title": "Max pages per area",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Maximum result pages (20 listings each) to walk per location.",
            "default": 5
          },
          "proxy": {
            "title": "Proxy",
            "type": "object",
            "description": "Proxy configuration. The default Apify Proxy works on every plan. Residential (optionally pinned to Canada) is supported but not required.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}