!

Real estate lawyers: Get property data instantly instead of hunting through databases

Photo of Alex Wilkinson
Alex Wilkinson
CEO of Houski
2026-03-23

Real estate lawyers spend hours gathering property information that should take minutes. Assessment values, square footage, construction year, comparable properties: each requires logging into a different system, waiting for pages to load, and copying by hand.

The time sink is real: Property research consumes significant time on every closing. A practice handling hundreds of closings a year burns hundreds of hours on data gathering instead of legal work.

Property data APIs pull everything with a single request. One call returns assessment values, characteristics, and market estimates.

What you're doing now vs. what you could be doing

The current process

For every closing, someone on your team:

  1. Looks up the property in municipal assessment records
  2. Searches for property characteristics somewhere else
  3. Pulls tax records from another system
  4. Maybe checks the Multiple Listing Service (MLS) for comparables
  5. Copies all this into your file
  6. Hopes nothing changed between lookups

With a property API

One request returns everything you need. The block below shows the response shape, it is a live call against the real API and the request code and JSON response are regenerated every time this page is rendered. For a real closing, resolve the address through the search endpoint first, then pull the same fields by property_id to populate your closing template:

API request
TypeScript code
const houski_data = async (): Promise<PropertiesResponse> => {

    // You must copy the PropertiesResponse type declarations from the 
    // Houski API documentation to strongly type the response

    const url = new URL('https://api.houski.ca/properties');
    url.searchParams.set('api_key', 'YOUR_API_KEY');
    url.searchParams.set('city', 'calgary');
    url.searchParams.set('country_abbreviation', 'ca');
    url.searchParams.set('province_abbreviation', 'ab');
    url.searchParams.set('select', 'address,city,province_abbreviation,postal_code,property_type,interior_sq_m,land_area_sq_m,bedroom,bathroom_full,construction_year,assessment_value,assessment_year,estimate_sale_price,latitude,longitude');

    const response = await fetch(url);
    const data = await response.json();

    return data;
}

(async () => {
let data: PropertiesResponse = await houski_data();

// Log the response
console.log(data);
})();
API response
JSON
{
  "cache_hit": true,
  "cost_cents": 5.28000020980835,
  "data": [
    {
      "address": "31 Hawkside Park NW",
      "assessment_value": 648500,
      "assessment_year": 2026,
      "bathroom_full": 3,
      "bedroom": 3,
      "city": "Calgary",
      "construction_year": 1988,
      "estimate_sale_price": 652319,
      "interior_sq_m": 126.34708404541016,
      "land_area_sq_m": 13583.0,
      "latitude": 51.12946319580078,
      "longitude": -114.17919921875,
      "postal_code": "T3G2W3",
      "property_id": "10000f97f5cb7b9f",
      "property_type": "Duplex",
      "province_abbreviation": "AB"
    },
    {
      "address": "6 1744 7 Street SW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "construction_year": 2006,
      "estimate_sale_price": 826706,
      "interior_sq_m": 125.882568359375,
      "land_area_sq_m": 512.0,
      "latitude": 51.03611755371094,
      "longitude": -114.0792007446289,
      "postal_code": "T2T2W6",
      "property_id": "10004f7afe0c1946",
      "property_type": "House",
      "province_abbreviation": "AB"
    },
    {
      "address": "384 Copperpond Landng SE",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "construction_year": 2006,
      "estimate_sale_price": 441172,
      "interior_sq_m": 125.882568359375,
      "land_area_sq_m": 512.0,
      "latitude": 50.925743103027344,
      "longitude": -113.92975616455078,
      "postal_code": "T2Z1G6",
      "property_id": "10007f9761f49940",
      "property_type": "House",
      "province_abbreviation": "AB"
    },
    {
      "address": "239 Dalhurst Way NW",
      "assessment_value": 1110000,
      "assessment_year": 2026,
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "construction_year": 1971,
      "estimate_sale_price": 1012722,
      "interior_sq_m": 108.46339416503906,
      "land_area_sq_m": 724.0999755859375,
      "latitude": 51.110740661621094,
      "longitude": -114.1513900756836,
      "postal_code": "T3A1P3",
      "property_id": "100086f6bc064d3f",
      "property_type": "House",
      "province_abbreviation": "AB"
    },
    {
      "address": "52 Cedargrove Way SW",
      "assessment_value": 662000,
      "assessment_year": 2026,
      "bathroom_full": 1,
      "bedroom": 3,
      "city": "Calgary",
      "construction_year": 1984,
      "estimate_sale_price": 614848,
      "interior_sq_m": 136.4734344482422,
      "land_area_sq_m": 430.2999877929687,
      "latitude": 50.95145034790039,
      "longitude": -114.12571716308594,
      "postal_code": "T2W4V2",
      "property_id": "1000c277cd905d3b",
      "property_type": "House",
      "province_abbreviation": "AB"
    },
    {
      "address": "28 Sundown Gr SE",
      "assessment_value": 692500,
      "assessment_year": 2026,
      "bathroom_full": 3,
      "bedroom": 3,
      "city": "Calgary",
      "construction_year": 1988,
      "estimate_sale_price": 781636,
      "interior_sq_m": 172.61241149902344,
      "land_area_sq_m": 436.0,
      "latitude": 50.899044036865234,
      "longitude": -114.04895782470705,
      "postal_code": "T2X3G3",
      "property_id": "1001109ab2aebbc0",
      "property_type": "House",
      "province_abbreviation": "AB"
    }
  ],
  "error": "",
  "pagination": {
    "current_page": 1,
    "has_next_page": true,
    "has_previous_page": false,
    "page_total": 113490
  },
  "price_quote": false,
  "result_total": 680936,
  "time_ms": 94,
  "ui_info": {
    "city": "Calgary",
    "city_id": "6ec95b53075d062c",
    "city_link": "ca/ab/calgary",
    "city_slug": "calgary",
    "country": "Canada",
    "country_abbreviation": "CA",
    "country_abbreviation_id": "9ace2b6431b7f1be",
    "country_abbreviation_link": "ca",
    "country_slug": "canada",
    "province": "Alberta",
    "province_abbreviation": "AB",
    "province_abbreviation_id": "aae1f05a0f89d2c7",
    "province_abbreviation_link": "ca/ab",
    "province_slug": "alberta"
  }
}

You get structured data to populate documents, compare against contract terms, or flag issues.

See our Properties API docs and Fields reference for all available data.

Practical uses for real estate practice

Quick property lookup during client calls

A client calls about 123 Main Street. Instead of "let me look that up and call you back," pull the data while you're on the phone via the /search endpoint:

API request
TypeScript code
const houski_data = async (): Promise<SearchResponse> => {

    // You must copy the SearchResponse type declarations from the 
    // Houski API documentation to strongly type the response

    const url = new URL('https://api.houski.ca/search');
    url.searchParams.set('api_key', 'YOUR_API_KEY');
    url.searchParams.set('query', '123+main+st+calgary');

    const response = await fetch(url);
    const data = await response.json();

    return data;
}

(async () => {
let data: SearchResponse = await houski_data();

// Log the response
console.log(data);
})();
API response
JSON
{
  "cache_hit": true,
  "cost_cents": 0.19999998807907104,
  "data": [
    {
      "address": "1215 19489 Main Street SE",
      "property_id": "1a0d9646b3b7fee4"
    },
    {
      "address": "20913 Main Street Southeast",
      "property_id": "1bb955452668e179"
    },
    {
      "address": "1206 19489 Main Street SE",
      "property_id": "25dbe5737d863d68"
    },
    {
      "address": "20693 Main Street Southeast",
      "property_id": "265563c5cf7aaeb"
    },
    {
      "address": "1203 19489 Main Street SE",
      "property_id": "2cb6522c907d3cad"
    },
    {
      "address": "1217 19489 Main Street SE",
      "property_id": "3c360263b5035097"
    },
    {
      "address": "1218 19489 Main Street SE",
      "property_id": "3e9b995b7a2575cf"
    },
    {
      "address": "120 180 Legacy Main Street SE",
      "property_id": "4715657394081588"
    },
    {
      "address": "1209 19489 Main Street SE",
      "property_id": "4e6754f302f2956c"
    },
    {
      "address": "151 Legacy Main Street Southeast",
      "property_id": "61a5c09375eb16aa"
    }
  ],
  "error": "",
  "match_meta": [
    {
      "match_value": 0.8333333134651184,
      "property_id": "1a0d9646b3b7fee4"
    },
    {
      "match_value": 0.8333333134651184,
      "property_id": "1bb955452668e179"
    },
    {
      "match_value": 0.8333333134651184,
      "property_id": "25dbe5737d863d68"
    },
    {
      "match_value": 0.8333333134651184,
      "property_id": "265563c5cf7aaeb"
    },
    {
      "match_value": 0.8333333134651184,
      "property_id": "2cb6522c907d3cad"
    },
    {
      "match_value": 0.8333333134651184,
      "property_id": "3c360263b5035097"
    },
    {
      "match_value": 0.8333333134651184,
      "property_id": "3e9b995b7a2575cf"
    },
    {
      "match_value": 0.8333333134651184,
      "property_id": "4715657394081588"
    },
    {
      "match_value": 0.8333333134651184,
      "property_id": "4e6754f302f2956c"
    },
    {
      "match_value": 0.8333333134651184,
      "property_id": "61a5c09375eb16aa"
    }
  ],
  "price_quote": false,
  "result_total": 10,
  "time_ms": 1007
}

Sanity check on purchase prices

Before closing, check whether the purchase price is in the ballpark of market value. The automated valuation model (AVM) endpoint gives you an estimate with a confidence score:

API request
TypeScript code
const houski_data = async (): Promise<AvmResponse> => {

    // You must copy the AvmResponse type declarations from the 
    // Houski API documentation to strongly type the response

    const url = new URL('https://api.houski.ca/avm');
    url.searchParams.set('api_key', 'YOUR_API_KEY');
    url.searchParams.set('property_id', 'bd9c6fb24c31c772');

    const response = await fetch(url);
    const data = await response.json();

    return data;
}

(async () => {
let data: AvmResponse = await houski_data();

// Log the response
console.log(data);
})();
API response
JSON
{
  "cache_hit": true,
  "cost_cents": 500.0,
  "data": {
    "address": "302 610 17 Avenue SW",
    "bathroom_full": 1,
    "bathroom_half": 1,
    "bedroom": 2,
    "city": "Calgary",
    "comparable_properties": [
      {
        "address": "402 610 17 Avenue SW",
        "distance_km": 0.0,
        "estimate_sale_date_sold": "2025-02-07",
        "image": "589c5b211ab31176_46d18d02",
        "interior_sq_m": 91.88034057617188,
        "latitude": 51.03819274902344,
        "list_price": 295000,
        "longitude": -114.07510375976562
      },
      {
        "address": "101 523 15 Avenue SW",
        "distance_km": 0.15573714673519137,
        "estimate_sale_date_sold": "2023-08-29",
        "image": "6d3f02fca68d547e_b6f2526e",
        "interior_sq_m": 91.9732437133789,
        "latitude": 51.0385856628418,
        "list_price": 288888,
        "longitude": -114.07293701171876
      },
      {
        "address": "1105 1209 6 Street SW",
        "distance_km": 0.39864420890808105,
        "estimate_sale_date_sold": "2023-08-23",
        "image": "59eb4d7ffd625770_807d4658",
        "interior_sq_m": 92.99517059326172,
        "latitude": 51.04155349731445,
        "list_price": 299900,
        "longitude": -114.07714080810548
      },
      {
        "address": "109 545 18 Avenue SW",
        "distance_km": 0.19652090966701508,
        "estimate_sale_date_sold": "2025-09-03",
        "image": "703794262c3f0a6f_ae0e2846",
        "interior_sq_m": 94.10999298095705,
        "latitude": 51.03668594360352,
        "list_price": 319900,
        "longitude": -114.0736083984375
      },
      {
        "address": "401 1209 6 Street SW",
        "distance_km": 0.39864420890808105,
        "estimate_sale_date_sold": "2024-01-18",
        "image": "add60c129cc174c8_15dc7a7e",
        "interior_sq_m": 92.90226745605467,
        "latitude": 51.04155349731445,
        "list_price": 294000,
        "longitude": -114.07714080810548
      },
      {
        "address": "500 610 17 Avenue SW",
        "distance_km": 0.0,
        "estimate_sale_date_sold": "2023-05-17",
        "image": "fb81bd27e5d3b319_860c3dd6",
        "interior_sq_m": 93.36677551269533,
        "latitude": 51.03819274902344,
        "list_price": 324900,
        "longitude": -114.07510375976562
      },
      {
        "address": "701 1209 6 Street SW",
        "distance_km": 0.39864420890808105,
        "estimate_sale_date_sold": "2024-04-04",
        "image": "27170c00d68d56c5_a08329a3",
        "interior_sq_m": 94.48160552978516,
        "latitude": 51.04155349731445,
        "list_price": 314900,
        "longitude": -114.07714080810548
      },
      {
        "address": "504 616 15 Avenue SW",
        "distance_km": 0.11205749213695526,
        "estimate_sale_date_sold": "2025-07-04",
        "image": "e731e220553c9548_88738769",
        "interior_sq_m": 87.79264068603516,
        "latitude": 51.03919219970703,
        "list_price": 289900,
        "longitude": -114.07533264160156
      },
      {
        "address": "203 330 15 Avenue SW",
        "distance_km": 0.35846400260925293,
        "estimate_sale_date_sold": "2024-05-13",
        "image": "9bfb40e46e0da97_57c6d01e",
        "interior_sq_m": 90.20809936523438,
        "latitude": 51.039058685302734,
        "list_price": 318800,
        "longitude": -114.07009887695312
      },
      {
        "address": "305 1209 6 Street SW",
        "distance_km": 0.39864420890808105,
        "estimate_sale_date_sold": "2024-08-04",
        "image": "1119eb5e5c0e6dd6_9dfcbaf5",
        "interior_sq_m": 94.2957992553711,
        "latitude": 51.04155349731445,
        "list_price": 290000,
        "longitude": -114.07714080810548
      }
    ],
    "comparable_properties_total": 26446,
    "construction_year": 1979,
    "country": "Canada",
    "den": 0,
    "estimate_list_price": {
      "confidence_score": 95.37734985351562,
      "model_metrics": {
        "coefficient_of_variation": 21.297779888460052,
        "error_10th_percentile": 3827.418701171875,
        "error_25th_percentile": 9674.828125,
        "error_50th_percentile": 23070.7421875,
        "error_75th_percentile": 47898.9296875,
        "error_90th_percentile": 92634.5625,
        "error_95th_percentile": 148044.328125,
        "forecast_std_dev": 128036.875,
        "mae": 47591.03125,
        "mape": 6.9191975593566895,
        "mean_bias": -5065.5068359375,
        "median_bias": 430.265625,
        "median_mape": 4.622647285461426,
        "mse": 16419014656.0,
        "over_prediction_rate": 50.56352952509392,
        "pct_error_10th": 0.825827956199646,
        "pct_error_90th": 14.368406295776367,
        "rmse": 128136.703125,
        "testing_r_squared": 0.95,
        "training_r_squared": 0.98,
        "under_prediction_rate": 49.43647047490608,
        "within_10_pct": 80.1416048550236,
        "within_15_pct": 90.8823812734804,
        "within_20_pct": 95.21722377420288,
        "within_5_pct": 53.00067430883345
      },
      "value": 304696.46875
    },
    "estimate_rent_monthly": {
      "confidence_score": 84.40579986572266,
      "model_metrics": {
        "coefficient_of_variation": 74.19626193400119,
        "error_10th_percentile": 11197.140625,
        "error_25th_percentile": 29858.390625,
        "error_50th_percentile": 73107.78125,
        "error_75th_percentile": 163402.125,
        "error_90th_percentile": 341056.21875,
        "error_95th_percentile": 550266.6875,
        "forecast_std_dev": 451020.15625,
        "mae": 168982.734375,
        "mape": 33.335357666015625,
        "mean_bias": -57108.90234375,
        "median_bias": -1695.578125,
        "median_mape": 15.594200134277344,
        "mse": 206676312064.0,
        "over_prediction_rate": 49.18625,
        "pct_error_10th": 2.5083909034729004,
        "pct_error_90th": 66.41152954101562,
        "rmse": 454616.65625,
        "testing_r_squared": 0.72,
        "training_r_squared": 0.82,
        "under_prediction_rate": 50.81375,
        "within_10_pct": 36.0375,
        "within_15_pct": 48.791250000000005,
        "within_20_pct": 58.3375,
        "within_5_pct": 19.635
      },
      "value": 2113.846923828125
    },
    "estimate_sale_price": {
      "confidence_score": 95.3768310546875,
      "model_metrics": {
        "coefficient_of_variation": 21.802883473823258,
        "error_10th_percentile": 3706.49365234375,
        "error_25th_percentile": 9493.46875,
        "error_50th_percentile": 22532.15625,
        "error_75th_percentile": 47268.0703125,
        "error_90th_percentile": 93783.46875,
        "error_95th_percentile": 150844.203125,
        "forecast_std_dev": 127978.265625,
        "mae": 47541.25,
        "mape": 7.054271221160889,
        "mean_bias": -4664.0380859375,
        "median_bias": 475.828125,
        "median_mape": 4.623165130615234,
        "mse": 16400123904.0,
        "over_prediction_rate": 50.63577690010597,
        "pct_error_10th": 0.8310901522636414,
        "pct_error_90th": 14.612176895141602,
        "rmse": 128062.96875,
        "testing_r_squared": 0.95,
        "training_r_squared": 0.99,
        "under_prediction_rate": 49.36422309989404,
        "within_10_pct": 79.77555148829593,
        "within_15_pct": 90.50187843175031,
        "within_20_pct": 94.70185916578365,
        "within_5_pct": 53.04402273384067
      },
      "value": 293364.59375
    },
    "image": "bd9c6fb24c31c772_7e931788",
    "interior_sq_m": 92.43848419189452,
    "latitude": 51.03819274902344,
    "longitude": -114.07510375976562,
    "price_history": [
      {
        "date": "2025-02-18",
        "estimate_list_price": 328939.625,
        "estimate_rent_monthly": 2109.8994140625,
        "estimate_sale_price": 303350.5625
      },
      {
        "date": "2025-03-20",
        "estimate_list_price": 329062.625,
        "estimate_rent_monthly": 2109.8994140625,
        "estimate_sale_price": 304171.25
      },
      {
        "date": "2025-04-19",
        "estimate_list_price": 329062.625,
        "estimate_rent_monthly": 2109.8994140625,
        "estimate_sale_price": 304964.21875
      },
      {
        "date": "2025-05-19",
        "estimate_list_price": 335027.4375,
        "estimate_rent_monthly": 2109.8994140625,
        "estimate_sale_price": 311037.21875
      },
      {
        "date": "2025-06-18",
        "estimate_list_price": 333825.6875,
        "estimate_rent_monthly": 2109.8994140625,
        "estimate_sale_price": 314355.09375
      },
      {
        "date": "2025-07-18",
        "estimate_list_price": 332129.96875,
        "estimate_rent_monthly": 2109.8994140625,
        "estimate_sale_price": 315810.03125
      },
      {
        "date": "2025-08-17",
        "estimate_list_price": 331247.09375,
        "estimate_rent_monthly": 2109.8994140625,
        "estimate_sale_price": 313273.1875
      },
      {
        "date": "2025-09-16",
        "estimate_list_price": 322242.5,
        "estimate_rent_monthly": 2109.8994140625,
        "estimate_sale_price": 307987.21875
      },
      {
        "date": "2025-10-16",
        "estimate_list_price": 310982.65625,
        "estimate_rent_monthly": 2113.846923828125,
        "estimate_sale_price": 304819.40625
      },
      {
        "date": "2025-11-15",
        "estimate_list_price": 310966.9375,
        "estimate_rent_monthly": 2113.846923828125,
        "estimate_sale_price": 309683.09375
      },
      {
        "date": "2025-12-15",
        "estimate_list_price": 310966.9375,
        "estimate_rent_monthly": 2113.846923828125,
        "estimate_sale_price": 308561.96875
      },
      {
        "date": "2026-01-14",
        "estimate_list_price": 303210.59375,
        "estimate_rent_monthly": 2113.846923828125,
        "estimate_sale_price": 304967.40625
      },
      {
        "date": "2026-02-13",
        "estimate_list_price": 302817.875,
        "estimate_rent_monthly": 2113.846923828125,
        "estimate_sale_price": 298701.09375
      },
      {
        "date": "2026-03-15",
        "estimate_list_price": 303162.3125,
        "estimate_rent_monthly": 2113.846923828125,
        "estimate_sale_price": 298037.53125
      },
      {
        "date": "2026-04-14",
        "estimate_list_price": 302872.15625,
        "estimate_rent_monthly": 2113.846923828125,
        "estimate_sale_price": 297308.53125
      },
      {
        "date": "2026-05-14",
        "estimate_list_price": 302872.15625,
        "estimate_rent_monthly": 2113.846923828125,
        "estimate_sale_price": 292016.375
      },
      {
        "date": "2026-06-13",
        "estimate_list_price": 302610.59375,
        "estimate_rent_monthly": 2113.846923828125,
        "estimate_sale_price": 292016.375
      },
      {
        "date": "2026-07-13",
        "estimate_list_price": 304696.46875,
        "estimate_rent_monthly": 2113.846923828125,
        "estimate_sale_price": 293364.59375
      },
      {
        "date": "2026-08-12",
        "estimate_list_price": 304696.46875,
        "estimate_rent_monthly": 2113.846923828125,
        "estimate_sale_price": 293364.59375
      }
    ],
    "property_id": "bd9c6fb24c31c772",
    "property_type": "Apartment",
    "property_warning_flags": [
      {
        "description": "Monthly fees run about 4% of the estimated value each year, above the typical range. High fees can weigh on resale.",
        "warning": "High monthly fees"
      },
      {
        "description": "This property appears to have been converted between residential and commercial use. Conversions can carry permit, zoning, and insurance complications worth confirming.",
        "warning": "Use conversion"
      }
    ],
    "province": "Alberta",
    "score_air_quality": 6,
    "score_bicycle": 9,
    "score_cell_coverage": 10,
    "score_curb_appeal": 4,
    "score_earthquake": 9,
    "score_education": 9,
    "score_entertainment": 10,
    "score_family": 0,
    "score_fire": 9,
    "score_flood": 9,
    "score_food_and_drink": 10,
    "score_hurricane": 10,
    "score_internet": 10,
    "score_nature": 6,
    "score_parking": 8,
    "score_quiet": 2,
    "score_retirement": 0,
    "score_safety": 6,
    "score_shopping": 9,
    "score_smell": 4,
    "score_tornado": 8,
    "score_total": 7,
    "score_total_percent": 0.6960000395774841,
    "score_traffic": 0,
    "score_transit": 9,
    "score_walkability": 10,
    "score_water_quality": 7,
    "valuation_date": "2026-08-12"
  },
  "error": "",
  "price_quote": false,
  "time_ms": 656,
  "url": "https://www.houski.ca/avm-report/bd9c6fb24c31c772_a49b86c7"
}

Compare the contract price against the estimate_sale_price value. This doesn't replace an appraisal, but if the purchase price is 40% above the estimate, that's worth a conversation with your client.

See AVM documentation for confidence scores and what the estimates include.

Finding comparable properties

Query for properties with similar characteristics by bracketing interior_sq_m and filtering on property_type_eq:

API request
TypeScript code
const houski_data = async (): Promise<PropertiesResponse> => {

    // You must copy the PropertiesResponse type declarations from the 
    // Houski API documentation to strongly type the response

    const url = new URL('https://api.houski.ca/properties');
    url.searchParams.set('api_key', 'YOUR_API_KEY');
    url.searchParams.set('city', 'calgary');
    url.searchParams.set('country_abbreviation', 'ca');
    url.searchParams.set('interior_sq_m_gte', '110');
    url.searchParams.set('interior_sq_m_lte', '180');
    url.searchParams.set('property_type_eq', 'House');
    url.searchParams.set('province_abbreviation', 'ab');
    url.searchParams.set('results_per_page', '20');
    url.searchParams.set('select', 'address,interior_sq_m,bedroom,construction_year,assessment_value,estimate_sale_price');

    const response = await fetch(url);
    const data = await response.json();

    return data;
}

(async () => {
let data: PropertiesResponse = await houski_data();

// Log the response
console.log(data);
})();
API response
JSON
{
  "cache_hit": true,
  "cost_cents": 10.399999618530272,
  "data": [
    {
      "address": "6 1744 7 Street SW",
      "bedroom": 3,
      "construction_year": 2006,
      "estimate_sale_price": 826706,
      "interior_sq_m": 125.882568359375,
      "property_id": "10004f7afe0c1946"
    },
    {
      "address": "384 Copperpond Landng SE",
      "bedroom": 3,
      "construction_year": 2006,
      "estimate_sale_price": 441172,
      "interior_sq_m": 125.882568359375,
      "property_id": "10007f9761f49940"
    },
    {
      "address": "52 Cedargrove Way SW",
      "assessment_value": 662000,
      "bedroom": 3,
      "construction_year": 1984,
      "estimate_sale_price": 614848,
      "interior_sq_m": 136.4734344482422,
      "property_id": "1000c277cd905d3b"
    },
    {
      "address": "28 Sundown Gr SE",
      "assessment_value": 692500,
      "bedroom": 3,
      "construction_year": 1988,
      "estimate_sale_price": 781636,
      "interior_sq_m": 172.61241149902344,
      "property_id": "1001109ab2aebbc0"
    },
    {
      "address": "117 Sandpiper Place NW",
      "assessment_value": 764500,
      "bedroom": 3,
      "construction_year": 1988,
      "estimate_sale_price": 712601,
      "interior_sq_m": 142.6978759765625,
      "property_id": "1001217184d8717b"
    },
    {
      "address": "C304 4501 37 Street NW",
      "bedroom": 3,
      "construction_year": 2006,
      "estimate_sale_price": 963101,
      "interior_sq_m": 125.882568359375,
      "property_id": "10013b5e28e0c630"
    },
    {
      "address": "6619 34 Street SW",
      "assessment_value": 868500,
      "bedroom": 3,
      "construction_year": 1964,
      "estimate_sale_price": 1009562,
      "interior_sq_m": 139.35450744628906,
      "property_id": "10014f3c7e5bfad9"
    },
    {
      "address": "188 Mount Aberdeen Close SE",
      "assessment_value": 467500,
      "bedroom": 3,
      "construction_year": 1999,
      "estimate_sale_price": 486121,
      "interior_sq_m": 125.23225402832033,
      "property_id": "1001894d82aeeb0c"
    },
    {
      "address": "196 Covemeadow Road NE",
      "assessment_value": 582500,
      "bedroom": 3,
      "construction_year": 2005,
      "estimate_sale_price": 554416,
      "interior_sq_m": 115.7562255859375,
      "property_id": "1001a75df7bd5267"
    },
    {
      "address": "432 27 Avenue NW",
      "assessment_value": 1200000,
      "bedroom": 3,
      "construction_year": 2005,
      "estimate_sale_price": 1166097,
      "interior_sq_m": 167.40988159179688,
      "property_id": "10021e44aa219b00"
    },
    {
      "address": "168 Coventry Hills Drive NE",
      "assessment_value": 644500,
      "bedroom": 3,
      "construction_year": 2005,
      "estimate_sale_price": 611935,
      "interior_sq_m": 172.7982177734375,
      "property_id": "1002285fe3ee9c49"
    },
    {
      "address": "1005 815 14 Avenue SW",
      "bedroom": 3,
      "construction_year": 2006,
      "estimate_sale_price": 427340,
      "interior_sq_m": 125.882568359375,
      "property_id": "1002e3ad9cd64ae2"
    },
    {
      "address": "6535 54 Street NW",
      "assessment_value": 726000,
      "bedroom": 3,
      "construction_year": 1972,
      "estimate_sale_price": 614755,
      "interior_sq_m": 115.19881439208984,
      "property_id": "10030424b41ab29b"
    },
    {
      "address": "205 6704 6 Street SW",
      "bedroom": 3,
      "construction_year": 2006,
      "estimate_sale_price": 973795,
      "interior_sq_m": 125.882568359375,
      "property_id": "100362b238afdae6"
    },
    {
      "address": "125 Riverview Court SE",
      "assessment_value": 722500,
      "bedroom": 3,
      "construction_year": 1989,
      "estimate_sale_price": 698659,
      "interior_sq_m": 139.3533935546875,
      "property_id": "1003b80b5086a07"
    },
    {
      "address": "1435 25A Street SW",
      "assessment_value": 2400000,
      "bedroom": 3,
      "construction_year": 2016,
      "estimate_sale_price": 3087843,
      "interior_sq_m": 167.8743896484375,
      "property_id": "1003d96e8e607840"
    },
    {
      "address": "52 Tuscany Valley Lane NW",
      "assessment_value": 655000,
      "bedroom": 3,
      "construction_year": 1998,
      "estimate_sale_price": 655810,
      "interior_sq_m": 158.44482421875,
      "property_id": "1003eea453087ea3"
    },
    {
      "address": "110 Royal Birch Gardens NW",
      "bedroom": 3,
      "construction_year": 2006,
      "estimate_sale_price": 618231,
      "interior_sq_m": 140.65402221679688,
      "property_id": "1003fe4194f1fe08"
    },
    {
      "address": "61 Rivergreen Crescent SE",
      "assessment_value": 688500,
      "bedroom": 3,
      "construction_year": 1988,
      "estimate_sale_price": 660927,
      "interior_sq_m": 139.3533935546875,
      "property_id": "1004738a9262a70d"
    },
    {
      "address": "2018 608 9 Street SW",
      "bedroom": 3,
      "construction_year": 2006,
      "estimate_sale_price": 562721,
      "interior_sq_m": 125.882568359375,
      "property_id": "100556b0922cfec"
    }
  ],
  "error": "",
  "pagination": {
    "current_page": 1,
    "has_next_page": true,
    "has_previous_page": false,
    "page_total": 13182
  },
  "price_quote": false,
  "result_total": 263633,
  "time_ms": 81,
  "ui_info": {
    "city": "Calgary",
    "city_id": "6ec95b53075d062c",
    "city_link": "ca/ab/calgary",
    "city_slug": "calgary",
    "country": "Canada",
    "country_abbreviation": "CA",
    "country_abbreviation_id": "9ace2b6431b7f1be",
    "country_abbreviation_link": "ca",
    "country_slug": "canada",
    "province": "Alberta",
    "province_abbreviation": "AB",
    "province_abbreviation_id": "aae1f05a0f89d2c7",
    "province_abbreviation_link": "ca/ab",
    "province_slug": "alberta"
  }
}

Bulk data for estate matters

Handling an estate with multiple properties? Pull data on all of them at once.

Document population

Pull property data directly into your closing document templates instead of typing it manually.

What the API actually provides

Property characteristics

  • Address, city, postal code
  • Property type (house, condo, etc.)
  • Square footage (interior and land)
  • Bedrooms, bathrooms
  • Year built
  • Lat/long coordinates

Valuation data

  • Municipal assessment value and year
  • Estimated market value (estimated sale price, list price, rent)
  • Confidence scores on estimates, from the AVM endpoint

Expansion data (optional, additional cost)

  • Historical listing data
  • Permit history
  • Assessment history over multiple years

What it doesn't do:

  • Read your contracts
  • Do legal analysis
  • Replace title searches

It gets you 80% of the way there in seconds. You still apply judgment and verify what matters.

Pricing

  • Property lookups: Most fields cost a tenth of a cent per field per property
  • AVM valuations: $5.00 per property
  • Search queries: Billed per field per row, the same way as property lookups

A typical 15-field lookup costs a few cents. The time savings pays for itself immediately.

Getting started

  1. Sign up and get an API key
  2. Test with a known property and compare
  3. Build into your workflow, whether a simple lookup tool or integration with your practice management system

Questions? Check our API documentation or contact us.