---
title: "Home Price Index Historical (Time Series) From Address"
method: GET
path: "/v2/property/zip_hpi_ts_historical"
tags: ["Zipcode Level"]
---

# Home Price Index Historical (Time Series) From Address

`GET /v2/property/zip_hpi_ts_historical`

Review historical time series data of monthly home price index (HPI) values for a ZIP code, with coverage dating back to 1975, to better understand past market performance and trends. 

Source: HouseCanary 

Pricing Tier: Premium 

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>slug</td><td>string</td><td>Unique readable string identifier for the property</td><td>123-Main-St-Apt-1B-San-Francisco-CA-94132</td>
        <td></td></tr>
<tr><td>address</td><td>string</td><td>Either a single URL-safe string ("slug") identifying the address, or just a building number, street name, and optionally unit number (if not a slug the payload must also include other identifiers)</td><td>123 Main St</td>
        <td></td></tr>
<tr><td>unit</td><td>string</td><td>Unit number for the property, if needed and not already specified in the address string</td><td>Apt 1B</td>
        <td></td></tr>
<tr><td>city</td><td>string</td><td>City in which the property is located</td><td>San Francisco</td>
        <td></td></tr>
<tr><td>state</td><td>string</td><td>2-letter acronym of the US state in which the property is located</td><td>CA</td>
        <td></td></tr>
<tr><td>zipcode</td><td>string</td><td>5-digit US zipcode in which the property is located</td><td>94105</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 historical HPI values with the associated month</td><td></td>
        </tr>
<tr><td>time_series[]</td><td>object</td><td></td><td></td>
        </tr>
<tr><td>time_series[].hpi_value</td><td>number</td><td>HPI value</td><td>235.45</td>
        </tr>
<tr><td>time_series[].hpi_real</td><td>number</td><td>Inflation-adjusted HPI value</td><td>223.67</td>
        </tr>
<tr><td>time_series[].hpi_trend</td><td>number</td><td>Long-term linear trend in HPI value</td><td>210.12</td>
        </tr>
<tr><td>time_series[].hpi_distance</td><td>number</td><td>Normalized distance of HPI value from a long term linear trend. Units are in standard deviations from the mean.</td><td>1.23</td>
        </tr>
<tr><td>time_series[].month</td><td>string</td><td>Month of the HPI value in ISO format</td><td>2023-07-01</td>
        </tr>
</table>

## Query parameters

- `slug` string
- `address` string, required
- `unit` string
- `city` string
- `state` string
- `zipcode` string
- `order` 'asc' | 'desc', nullable
- `limit` integer, nullable
- `start` string, nullable
- `end` string, nullable

## Response `200`

Success

- object[]
  - `property/zip_hpi_ts_historical` object
    - `api_code_description` string
    - `api_code` unknown
    - `result` object, nullable
      - `time_series` object[] — Set of historical HPI values with the associated month
        - `hpi_value` number — HPI value
        - `hpi_real` number — Inflation-adjusted HPI value
        - `hpi_trend` number — Long-term linear trend in HPI value
        - `hpi_distance` number — Normalized distance of HPI value from a long term linear trend. Units are in standard deviations from the mean.
        - `month` string, date — Month of the HPI value in ISO format
  - `address_info` AddressInfo
    - `address_full` string, nullable — Full address string
    - `slug` string, nullable — HouseCanary address slug
    - `address` string, nullable — Street address
    - `unit` string, nullable — Unit within the building, if any
    - `city` string, nullable — City where property is located
    - `state` string, nullable — 2-character state abbreviation
    - `zipcode` string, nullable — 5-character US zipcode
    - `zipcode_plus4` string, nullable — 4-character zipcode extension
    - `block_id` string, nullable — 15-digit US census block ID
    - `blockgroup_id` string, nullable — 12-digit census block group ID
    - `county_fips` string, nullable — 5-digit US census county ID
    - `metrodiv` string, nullable — 5-digit US census Metropolitan Division ID
    - `msa` string, nullable — 5-digit US census MSA ID
    - `geo_precision` 'rooftop' | 'parcel' | 'zip9' | 'zip5' | 'unknown', nullable — A string describing available geo precision
    - `lat` number, nullable — Latitude value, in degrees
    - `lng` number, nullable — Longitude value, in degrees
    - `status` object
      - `match` boolean — Whether the address was matched to a canonical address in HouseCanary's systems
      - `details` string[]
      - `requested_item` object — Exact address parameters provided in the original API request
      - `changes` string[]
      - `errors` string[]

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