---
title: "Affordability Historical"
method: GET
path: "/v2/zip/affordability_ts_historical"
tags: ["Zipcode Level"]
---

# Affordability Historical

`GET /v2/zip/affordability_ts_historical`

Historical time series data of monthly affordability values for ZIP codes 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>zipcode</td><td>string</td><td>5-digit zipcode</td><td>33019</td>
        <td></td></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>

## 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.28</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.02</td>
        </tr>
</table>

## Query parameters

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

## Response `200`

Success

- object[]
  - `zip/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.
  - `zipcode_info` ZipcodeInfo
    - `zip` string, nullable — 5-digit zip code

## 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)
