---
title: "Affordability Historical (Batch)"
method: POST
path: "/v2/msa/affordability_ts_historical"
tags: ["Metropolitan Statistical Area Level"]
---

# Affordability Historical (Batch)

`POST /v2/msa/affordability_ts_historical`

Historical time series data of monthly affordability values for MSAs with coverage dating back to 1975, offering valuable insights into past market trends and performance. Higher values imply lower affordability. 

Source: HouseCanary 

Pricing Tier: Basic 

Updated: Monthly

## Request Query Params

<table><tr><th>Property</th><th>Type</th><th>Description</th><th>Example</th><th>Enum Values</th></tr>
<tr><td>order</td><td>string</td><td>Chronological order to sort result items. One of [asc or desc]. Defaults to asc.</td><td>asc</td>
        <td>[asc, desc]</td></tr>
<tr><td>limit</td><td>integer</td><td>Maximum integer number of result items to return. Defaults to null.</td><td>10</td>
        <td></td></tr>
<tr><td>start</td><td>string</td><td>Beginning date limit for result items, based on month, in ISO 8601 format, i.e. 2015-01-01. Defaults to null.</td><td>2015-01-01</td>
        <td></td></tr>
<tr><td>end</td><td>string</td><td>Ending date limit for result items, based on month, in ISO 8601 format, i.e. 2015-01-01. Defaults to null.</td><td>2015-01-01</td>
        <td></td></tr>
</table>

## Request Body Fields

<table><tr><th>Field</th><th>Type</th><th>Description</th><th>Example</th></tr>
<tr><td>[]</td><td>object</td><td></td><td></td>
        </tr>
<tr><td>[].msa</td><td>string</td><td>5-digit US-census msa ID</td><td>38060</td>
        </tr>
</table>

## Response

<table><tr><th>Field</th><th>Type</th><th>Description</th><th>Example</th></tr>
<tr><td>time_series</td><td>array</td><td>Set of forecast affordability values</td><td></td>
        </tr>
<tr><td>time_series[]</td><td>object</td><td></td><td></td>
        </tr>
<tr><td>time_series[].month</td><td>string</td><td>Month of the affordability value</td><td>2023-08-01</td>
        </tr>
<tr><td>time_series[].afford_pmt</td><td>number</td><td>Fraction of median household income required to make the median home payment on a 30 year fixed rate mortgage with 20% down</td><td>0.265</td>
        </tr>
<tr><td>time_series[].afford_detrended</td><td>number</td><td>The normalized distance of afford_pmt from a long term linear trend. Units are in standard deviations from the mean.</td><td>-0.12</td>
        </tr>
</table>

## Query parameters

- `order` 'asc' | 'desc', nullable
- `limit` integer, nullable
- `start` string, nullable
- `end` string, nullable

## Request body

- object[]
  - `msa` string — 5-digit US-census msa ID

## Response `200`

Success

- object[]
  - `msa/affordability_ts_historical` object
    - `api_code_description` string
    - `api_code` unknown
    - `result` object, nullable
      - `time_series` object[] — Set of forecast affordability values
        - `month` string, date — Month of the affordability value
        - `afford_pmt` number — Fraction of median household income required to make the median home payment on a 30 year fixed rate mortgage with 20% down
        - `afford_detrended` number, nullable — The normalized distance of afford_pmt from a long term linear trend. Units are in standard deviations from the mean.
  - `msa_info` MsaInfo
    - `msa` string — 5-digit US-census msa ID
    - `msa_name` string — Name of the msa

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `429` — Rate limit exceeded

---

[API](https://skmtc.net/housecanary/apis/housecanary-analytics-and-portfolio-monitoring-apis.md) · [All operations](https://skmtc.net/housecanary/apis/housecanary-analytics-and-portfolio-monitoring-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/housecanary/housecanary-analytics-and-portfolio-monitoring-apis/revisions/38afb6724de7/schema)
