Statistics Canada Housing Market Data Scraper avatar

Statistics Canada Housing Market Data Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Statistics Canada Housing Market Data Scraper

Statistics Canada Housing Market Data Scraper

Scrape official Statistics Canada housing data: new housing price index, CMHC housing starts/completions, average rents, vacancy rates, condo price index, building permits, mortgage rate, and unsold new-home inventory - by city/CMA. Free government data, no login required.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Scrape official Canadian housing-market data directly from Statistics Canada — the country's national statistical agency. Get the New Housing Price Index, CMHC housing starts / under-construction / completions, CMHC housing starts by dwelling type and intended market, CMHC average rents, CMHC apartment vacancy rates, the new condominium apartment price index, residential building permits, the CMHC conventional mortgage lending rate, newly completed and unoccupied ("unsold") housing inventory, and CMHC absorptions / unabsorbed inventory of newly completed homes (for both large metro areas and smaller cities), filterable by city (CMA or census agglomeration), province, dwelling/structure type, and reference period. All figures are sourced from Statistics Canada's public Web Data Service — no login, API key, or cookies required.

What this actor does

  • Twelve datasets (modes):
    • newHousingPriceIndex — monthly price index for new houses, by city (house / land / total)
    • housingStarts — monthly CMHC housing starts, under-construction, and completions, by city and dwelling type
    • housingStartsByMarket — monthly CMHC housing starts by dwelling type and intended market (homeowner / rental / condominium / co-operative), by city (86 centres of 10,000+, the broadest geography coverage of any mode)
    • housingStartsSAAR — monthly CMHC housing starts, seasonally adjusted at annual rates (SAAR) — the headline housing-starts figure most often quoted in the news — by city, province, or Canada
    • averageRents — annual average rent, by city, structure type, and bedroom count
    • buildingPermits — monthly residential building-permit values and unit counts, by city/province, structure type, and type of work
    • vacancyRates — annual CMHC apartment vacancy rate, by city (apartment structures of six units and over)
    • condoApartmentPriceIndex — quarterly new condominium apartment price index, by city
    • mortgageRate — monthly CMHC conventional mortgage lending rate, 5-year term, national (Canada-wide, no geography filter — this is the only nationwide-only series)
    • newlyCompletedUnoccupiedHousing — monthly CMHC count of newly built homes still standing vacant/unsold, by city and dwelling type — the key "unsold new-home inventory overhang" indicator
    • absorptionsUnabsorbedInventory — monthly CMHC count of newly completed homes that sold/rented that month (absorptions) vs. still-unsold at month end (unabsorbed inventory), by CMA and dwelling type
    • absorptionsUnabsorbedInventoryCA — the same absorptions/unabsorbed-inventory breakdown as above, but for smaller cities (census agglomerations of 50,000+) not covered by the CMA-only mode
  • Filter by geography: each dataset has its own accurately-scoped geography dropdown (from 10 major CMAs up to 240+ smaller cities and towns for Average rents), covering CMAs, provinces, regions, and — where actually published — "Canada" — plus a free-text override for any city not in the dropdown
  • Filter by dimension: every finite category (price-index component, dwelling type, structure type, bedroom count, seasonal adjustment) is a dropdown
  • Filter by reference period: dateFrom / dateTo (monthly YYYY-MM or annual YYYY)
  • Most-recent-first ordering and a hard maxItems cap
  • Empty fields are always omitted — every record only contains fields with real data

Output fields

FieldDescription
recordTypeWhich dataset the record came from (newHousingPriceIndex, housingStarts, housingStartsByMarket, housingStartsSAAR, averageRents, buildingPermits, vacancyRates, condoApartmentPriceIndex, mortgageRate, newlyCompletedUnoccupiedHousing, absorptionsUnabsorbedInventory, absorptionsUnabsorbedInventoryCA)
geographyCanadian city (CMA or census agglomeration), province, region, or "Canada"
referencePeriodThe period the data point covers (YYYY-MM or YYYY)
valueThe numeric data point
unitOfMeasureUnit of the value (e.g. "Index, 201612=100", "Units", "Dollars")
scalarFactorScaling applied to the value (e.g. "units", "thousands")
dguidStatistics Canada's official geographic unique identifier, when published
vectorIdStatistics Canada's stable time-series vector code for this exact series
dataQualityFlagPresent only when Statistics Canada flags the data point (e.g. "Use with caution" for statistically less reliable estimates) — omitted for normal-quality records
priceIndexComponent(newHousingPriceIndex only) Total / house only / land only
housingEstimateType(housingStarts only) Starts / under construction / completions
housingUnitType(housingStarts only) Dwelling type
dwellingUnitType(housingStartsByMarket only) Dwelling type
marketType(housingStartsByMarket only) Intended market — homeowner, rental, condominium, co-operative, or other
housingStartsSAARUnitType(housingStartsSAAR only) Dwelling type
rentStructureType(averageRents only) Building structure type
rentUnitType(averageRents only) Bedroom count
seasonalAdjustment(buildingPermits only) Whether the figure is raw or seasonally adjusted, and current vs. constant dollars
permitStructureType(buildingPermits only) Type of building the permit is for
permitTypeOfWork(buildingPermits only) Category of construction work the permit covers
permitVariable(buildingPermits only) Which figure was requested (value of permits, dwelling units created, etc.)
value (vacancyRates)Apartment vacancy rate as a percentage (e.g. 2.8 = 2.8%)
value (condoApartmentPriceIndex)New condominium apartment price index value
value (mortgageRate)Conventional 5-year mortgage lending rate as a percentage (e.g. 5.99 = 5.99%)
unoccupiedHousingUnitType(newlyCompletedUnoccupiedHousing only) Dwelling type
completedDwellingUnitsStatus(absorptionsUnabsorbedInventory / absorptionsUnabsorbedInventoryCA only) Absorptions (sold/rented that period) or Unabsorbed inventory (still unsold at period end)
absorptionsUnitType(absorptionsUnabsorbedInventory / absorptionsUnabsorbedInventoryCA only) Dwelling type
sourceTableStatistics Canada table number (e.g. 18-10-0205-01)
sourceTableTitleOfficial Statistics Canada table title
sourceUrlLink to the table on statcan.gc.ca
scrapedAtISO-8601 timestamp of when the record was scraped

Input

FieldTypeDefaultDescription
modeselectnewHousingPriceIndexWhich dataset to scrape
geographyselect (40 options)Toronto, OntarioGeography for mode = New housing price index (CMAs, provinces, regions, or "Canada")
customGeographystringFree-text override for any geography not in the dropdown for the selected mode
housingStartsGeographyselect (37 options)Toronto, OntarioGeography for mode = Housing starts / under construction / completions
buildingPermitsGeographyselectCanadaGeography for mode = Residential building permits (city, province, or Canada)
priceIndexComponentselectTotal (house and land)mode = New housing price index
housingEstimateTypeselectHousing startsmode = Housing starts
housingUnitTypeselectTotal unitsmode = Housing starts
averageRentsGeographyselect (244 options)Toronto, OntarioGeography for mode = Average rents — the broadest geography list of any mode (240+ cities and towns of 10,000+)
housingStartsByMarketGeographyselect (78 options)Toronto, OntarioGeography for mode = Housing starts by dwelling type and market — provinces, CMAs, and 30+ smaller census agglomerations of 10,000+. Note: Statistics Canada only keeps the "Canada" and province-level rows of this specific breakdown current through 2002; choose a city (CMA) for up-to-date figures
dwellingUnitTypeselectTotal unitsmode = Housing starts by dwelling type and market
marketTypeselectHomeownermode = Housing starts by dwelling type and market. One of Homeowner, Rental, Condo, Co-op, Other market
housingStartsSAARGeographyselect (47 options)CanadaGeography for mode = Housing starts, seasonally adjusted — Canada, every province, and 40+ CMAs
housingStartsSAARUnitTypeselectTotal unitsmode = Housing starts, seasonally adjusted
rentStructureTypeselectRow and apartment structures of three units and overmode = Average rents
rentUnitTypeselectTwo bedroom unitsmode = Average rents
vacancyRatesGeographyselect (37 options)Toronto, OntarioGeography for mode = Apartment vacancy rate
permitStructureTypeselect (89 options)Total residential and non-residentialmode = Residential building permits. Covers every StatCan building-type category — residential totals, single/double/row/apartment (incl. condominium subtypes), demolitions, and non-residential categories (commercial, industrial, institutional/governmental)
permitTypeOfWorkselect (22 options)Types of work, totalmode = Residential building permits. Covers new construction, additions, conversions, deconversions, and demolitions
permitVariableselectValue of permitsmode = Residential building permits
seasonalAdjustmentselectUnadjusted, currentmode = Residential building permits. Published for most geographies (Canada, provinces, and CMAs), not just "Canada"
condoApartmentPriceIndexGeographyselect (10 options)Toronto, OntarioGeography for mode = New condominium apartment price index — published for a small set of major CMAs only
(none)mode = CMHC mortgage rate has no geography or dimension filters — this table publishes a single national (Canada-wide) monthly series
newlyCompletedUnoccupiedHousingGeographyselect (67 options)Toronto, OntarioGeography for mode = Newly completed unoccupied housing — CMAs and census agglomerations of 50,000+
unoccupiedHousingUnitTypeselectTotal unitsmode = Newly completed unoccupied housing
absorptionsGeographyselect (37 options)Toronto, OntarioGeography for mode = Absorptions and unabsorbed inventory (CMA) — CMAs only
absorptionsCAGeographyselect (37 options)All census agglomerations 50,000 and overGeography for mode = Absorptions and unabsorbed inventory (smaller city/CA) — census agglomerations of 50,000+ only, complementary to absorptionsGeography's CMA-only coverage
completedDwellingUnitsStatusselectAbsorptionsmode = Absorptions and unabsorbed inventory (CMA or smaller city/CA). One of Absorptions, Unabsorbed inventory
absorptionsUnitTypeselectTotal unitsmode = Absorptions and unabsorbed inventory (CMA or smaller city/CA)
dateFromstringEarliest reference period (inclusive)
dateTostringLatest reference period (inclusive)
maxItemsinteger100Max records to return (1–5000)

Each mode has its own geography dropdown because Statistics Canada publishes a different set of geographies for every table — the field to use depends on which mode you picked (see table above). Picking a geography from the wrong mode's dropdown isn't possible since every mode's field only lists geographies that table actually publishes.

Example input

{
"mode": "newHousingPriceIndex",
"geography": "Toronto, Ontario",
"priceIndexComponent": "Total (house and land)",
"dateFrom": "2023-01",
"maxItems": 50
}

Example: housing starts in Calgary

{
"mode": "housingStarts",
"housingStartsGeography": "Calgary, Alberta",
"housingEstimateType": "Housing starts",
"housingUnitType": "Single-detached units",
"maxItems": 100
}

Example: rental housing starts by market type in Toronto

{
"mode": "housingStartsByMarket",
"housingStartsByMarketGeography": "Toronto, Ontario",
"dwellingUnitType": "Apartment and other types of units",
"marketType": "Rental",
"maxItems": 50
}

Example: national housing starts, seasonally adjusted (headline SAAR figure)

{
"mode": "housingStartsSAAR",
"housingStartsSAARGeography": "Canada",
"housingStartsSAARUnitType": "Total units",
"dateFrom": "2024-01",
"maxItems": 50
}

Example: apartment vacancy rate in Vancouver

{
"mode": "vacancyRates",
"vacancyRatesGeography": "Vancouver, British Columbia",
"dateFrom": "2020",
"maxItems": 20
}

Example: residential building permits in Vancouver

{
"mode": "buildingPermits",
"buildingPermitsGeography": "Vancouver, British Columbia",
"permitStructureType": "Apartment",
"permitVariable": "Number of dwelling-units created",
"maxItems": 50
}

Example: mortgage lending rate history

{
"mode": "mortgageRate",
"dateFrom": "2015-01",
"maxItems": 200
}

Example: unsold new-home inventory in Toronto

{
"mode": "newlyCompletedUnoccupiedHousing",
"newlyCompletedUnoccupiedHousingGeography": "Toronto, Ontario",
"unoccupiedHousingUnitType": "Total units",
"dateFrom": "2024-01",
"maxItems": 50
}

Example: absorptions vs. unabsorbed inventory in Vancouver

{
"mode": "absorptionsUnabsorbedInventory",
"absorptionsGeography": "Vancouver, British Columbia",
"completedDwellingUnitsStatus": "Unabsorbed inventory",
"absorptionsUnitType": "Total units",
"maxItems": 50
}

Example: absorptions vs. unabsorbed inventory in a smaller city (Red Deer, Alberta)

{
"mode": "absorptionsUnabsorbedInventoryCA",
"absorptionsCAGeography": "Red Deer, Alberta",
"completedDwellingUnitsStatus": "Unabsorbed inventory",
"absorptionsUnitType": "Total units",
"maxItems": 50
}

Data source

All data is retrieved live from Statistics Canada's free, public Web Data Service (WDS) REST API, which powers the official statcan.gc.ca data tables. No account, API key, or proxy is required — Statistics Canada publishes this data as open government data under the Statistics Canada Open Licence.

FAQs

Do I need an API key or login? No. Statistics Canada publishes this data openly; the actor needs no credentials.

How current is the data? Statistics Canada updates these tables on its own release schedule (monthly for housing starts / price index / permits / mortgage rate, quarterly for the condo apartment price index, annually for average rents and vacancy rates). Each record's referencePeriod tells you exactly which period it covers.

Can I get data for a city that isn't in the dropdown? Yes — use the customGeography field with the exact Statistics Canada geography name; it overrides whichever geography dropdown applies to your selected mode. Note that each dataset (mode) publishes a different set of Canadian geographies (the averageRents dataset covers 244 cities and towns, e.g. "Brockville, Ontario", while condoApartmentPriceIndex covers only 10 major CMAs) — if a geography isn't published for the mode you picked, the run finishes with 0 records and a status message explaining why.

Why do some periods have no data for a geography? Not every geography publishes every dimension for every period (e.g. smaller CMAs may not report all unit types). If your filter combination returns zero records, the actor's run status message will explain why and suggest widening the filters.

Why does Residential building permits return nothing for my city? Not every combination of geography, structure type, type of work, variable, and seasonal adjustment is published — most geographies (provinces and CMAs, not just "Canada") do carry seasonally adjusted and constant-dollar series, but a specific narrow combination (e.g. an unusual structure type at a small CMA) may not exist. If your combination returns zero records, try "Unadjusted, current" or a broader geography like "Canada".

What does vectorId mean? It's Statistics Canada's permanent identifier for that exact time series (geography + dimensions), useful for cross-referencing directly on statcan.gc.ca.

Why does housingStartsByMarket only return data through 2002 for "Canada" or a province? Statistics Canada discontinued the dwelling-type/market-type breakdown at the national and provincial level in 2002 — only the city (CMA) rows in this specific table are kept current through today. Pick a city (e.g. "Toronto, Ontario", the default) for up-to-date figures; the national/provincial rows still return real historical data, they simply stop in 2002.

What's the difference between housingStarts and housingStartsSAAR? housingStarts gives raw (unadjusted) monthly starts counts for a narrower set of major CMAs. housingStartsSAAR gives the seasonally-adjusted-at-annual-rates figure — the number normally reported in economic news headlines (e.g. "Canada housing starts rose to 256,000 units SAAR") — for a wider set of geographies including every province and Canada as a whole. Not every geography publishes every unit-type breakdown for housingStartsSAAR (e.g. some CMAs only report Total/Single-detached/Multiples, not the full Semi-detached/Row/Apartment split) — if your unit-type filter returns 0 records for a geography, try "Total units" or "Multiples".

What's the difference between absorptionsUnabsorbedInventory and absorptionsUnabsorbedInventoryCA? They're the same CMHC survey and the same output fields — the only difference is geography coverage. absorptionsUnabsorbedInventory covers census metropolitan areas (CMAs, e.g. Toronto, Vancouver, Calgary). absorptionsUnabsorbedInventoryCA covers smaller census agglomerations of 50,000+ (e.g. Red Deer, Chilliwack, Fredericton) that aren't published in the CMA table. Pick whichever mode matches the size of city you're looking for.

What's the difference between newlyCompletedUnoccupiedHousing and absorptionsUnabsorbedInventory? newlyCompletedUnoccupiedHousing is a simple monthly snapshot of how many newly built homes are standing vacant/unsold in a city right now — the headline "unsold inventory" figure. absorptionsUnabsorbedInventory breaks that same underlying CMHC survey into flow vs. stock: Absorptions counts newly completed homes that sold or rented during that month, while Unabsorbed inventory counts homes still unsold/unrented at month end (closely related to, but not always numerically identical to, the newlyCompletedUnoccupiedHousing figure for the same city and period, since the two CMHC surveys use slightly different geography groupings and rounding). Both are leading indicators of housing-market oversupply.