Appearance
Income API
Historical income data from multiple sources: Statistics Canada Census (household income by census tract) and CRA Individual Tax Statistics (individual income by FSA).
GET /income/snapshots
Returns income snapshot records, filterable by geography type, source, and year.
Query Parameters
| Param | Type | Description |
|---|---|---|
| geo_type | string | Filter by geography: ct, fsa, cma |
| source | string | Filter by source: census, cra |
| year | number | Filter by data year |
Response
json
{
"snapshots": [
{
"id": "uuid",
"geoType": "ct",
"geoCode": "4620001.00",
"year": 2021,
"source": "census",
"medianIncome": 52000,
"averageIncome": 61500,
"totalHouseholds": 2150,
"totalFilers": null
}
]
}GET /income/fsa-trends
Returns CRA individual tax filer income data by FSA, 2015-2021. Used by the FSA Trends page (/income-map/trends).
Response
json
{
"trends": [
{
"fsa": "H2T",
"year": 2021,
"avgIncome": 48500,
"totalFilers": 12500
}
]
}Note: CRA data represents individual tax filer income, not household income. Values are average total income per filer. Not directly comparable to census household income.
GET /income/ct-comparison
Returns 2016 vs 2021 census tract income comparison data. Only includes CTs that exist in both census years (923 matched CTs).
Response
json
{
"comparisons": [
{
"ctUid": "4620001.00",
"income2016": 45000,
"income2021": 52000,
"changePct": 15.6
}
]
}Used by the income map's "2016-2021 Change" mode to color CTs by income growth percentage.
GET /income/distribution
Returns household income distribution brackets for Montreal CMA from StatCan Table 98-10-0055.
Query Parameters
| Param | Type | Description |
|---|---|---|
| year | number | Filter by census year (2016 or 2021) |
| geo_code | string | Filter by geography code (default: all) |
Response
json
{
"distributions": [
{
"geoType": "cma",
"geoCode": "462",
"year": 2021,
"totalHouseholds": 1835700,
"brackets": [
{ "label": "Under $5,000", "min": 0, "max": 4999, "count": 23165, "pct": 1.3 },
{ "label": "$5,000 to $9,999", "min": 5000, "max": 9999, "count": 13700, "pct": 0.7 },
...
{ "label": "$200,000 and over", "min": 200000, "max": null, "count": 144320, "pct": 7.9 }
]
}
]
}19 income brackets per record, with both 2016 and 2021 census data available. Used by the Distribution tab on the income map page.
GET /income/rent-trends
Returns CMHC average rent data by geography over time. Data is auto-downloaded from StatCan Table 34-10-0133-01 (5,880 records, 205 geographies, 1987-2025).
Query Parameters
| Param | Type | Description |
|---|---|---|
| geo_code | string | Optional. Filter by geography code (e.g., a specific city/zone) |
Response
json
{
"trends": [
{
"geoCode": "zone_name",
"geoName": "Zone Name",
"year": 2024,
"avgRentStudio": 95000,
"avgRent1br": 115000,
"avgRent2br": 140000,
"avgRent3br": 165000,
"avgRentTotal": 125000,
"vacancyRate": "2.3"
}
]
}Rent values in integer cents (95000 = $950).