@varve/agency-sdks

CMHC API

TypeScript client for CMHC Housing Market Information Portal CSV exports.

CMHC API

@varve/cmhc-api is an isomorphic TypeScript client for CMHC Housing Market Information Portal table exports.

Install

npm install @varve/cmhc-api zod

Query Data

import { CmhcClient } from '@varve/cmhc-api';
 
const client = new CmhcClient();
 
const rows = await client.getCmhc({
  survey: 'Rms',
  series: 'Vacancy Rate',
  dimension: 'Bedroom Type',
  breakdown: 'Historical Time Periods',
  region: {
    geographyId: '2410',
    geographyTypeId: '3',
    geoUid: '59933',
  },
  filters: {
    season: 'October',
  },
});
 
console.log(rows);

CMHC exports use CMHC geography identifiers. Pass geographyId and geographyTypeId from your own geography lookup layer; geoUid is optional and is preserved on normalized rows.

Discover Tables

const surveys = client.listSurveys();
const series = client.listSeries('Rms');
const dimensions = client.listDimensions({ survey: 'Rms', series: 'Vacancy Rate' });
const filters = client.listFilters({
  survey: 'Rms',
  series: 'Vacancy Rate',
  dimension: 'Bedroom Type',
  breakdown: 'Historical Time Periods',
});

Raw Exports

const csv = await client.exportTableCsv({
  tableId: '2.2.1',
  region: { geographyId: '2410', geographyTypeId: '3' },
  filters: { season: 'October' },
});

References

On this page