---
title: "Property Explorer Static Link"
method: GET
path: "/v3/property/pexp_static_link"
tags: ["Property Explorer API"]
---

# Property Explorer Static Link

`GET /v3/property/pexp_static_link`

Returns a link to a PEXP Report PDF.  The PEXP report contains an in-depth assessment of subject property and nearby comparables.  This is the most current version of our legacy Static Link capability and is now powered by our latest functionality and current PEXP reports.  

Pricing Tier: Premium 

## Request Query Params

<table><tr><th>Property</th><th>Type</th><th>Description</th><th>Example</th></tr>
<tr><td>slug</td><td>string</td><td>A single URL-safe string identifying the address (obtained from HouseCanary)</td><td>1624-E-Dogwood-Ln-Gilbert-AZ-85295</td>
        </tr>
<tr><td>address</td><td>string</td><td>Building number, street name and unit number</td><td>123 Main St</td>
        </tr>
<tr><td>zipcode</td><td>integer</td><td>5-digit ZIP code</td><td>94132</td>
        </tr>
<tr><td>unit</td><td>string</td><td>Unit number/letter/identifier.</td><td>Apt 1B</td>
        </tr>
<tr><td>unit_designator</td><td>string</td><td>Unit designator like Apt,Suite etc.</td><td>Apt</td>
        </tr>
<tr><td>allowLimitedReports</td><td>boolean</td><td>Allow reports to continue that have a limiting factor such as having limited MLS Coverage for the subject property or missing some location data.</td><td></td>
        </tr>
<tr><td>enforceStrictGeoPrecision</td><td>boolean</td><td>Enforce strict geographical precision requirements for report generation. If disabled any geo precision will be accepted including zipcode. If enabled only rooftop or parcel will be accepted. This may result in less accurate comparable properties. </td><td></td>
        </tr>
</table>

## Response

<table><tr><th>Field</th><th>Type</th><th>Description</th><th>Example</th><th>Enum Values</th></tr>
<tr><td>property/pexp_dynamic_link</td><td>object</td><td>Link to the dynamically generated Property Explorer report and response metadata.</td><td></td>
        <td></td></tr>
<tr><td>property/pexp_dynamic_link.api_code</td><td>integer</td><td>HTTP-like status code indicating result of report generation.</td><td>200</td>
        <td></td></tr>
<tr><td>property/pexp_dynamic_link.api_code_description</td><td>string</td><td>Human-readable description of the API code.</td><td>ok</td>
        <td></td></tr>
<tr><td>property/pexp_dynamic_link.result</td><td>object</td><td></td><td></td>
        <td></td></tr>
<tr><td>property/pexp_dynamic_link.result.link</td><td>string</td><td>URL to the static Property Explorer Report PDF.</td><td>https://solutions.dev.hc.housecanary.net/pexp/shared/5ycCgB84fpR0h7RIjuUUVk</td>
        <td></td></tr>
<tr><td>address_info</td><td>object</td><td>Detailed metadata about the subject property address.</td><td></td>
        <td></td></tr>
<tr><td>address_info.address_full</td><td>string</td><td></td><td>856 Badger Gulch Goldendale WA 98620</td>
        <td></td></tr>
<tr><td>address_info.slug</td><td>string</td><td></td><td>856-Badger-Gulch-Goldendale-WA-98620</td>
        <td></td></tr>
<tr><td>address_info.address</td><td>string</td><td></td><td>856 Badger Gulch</td>
        <td></td></tr>
<tr><td>address_info.unit</td><td>string</td><td></td><td></td>
        <td></td></tr>
<tr><td>address_info.unit_designator</td><td>string</td><td></td><td></td>
        <td></td></tr>
<tr><td>address_info.zipcode</td><td>string</td><td></td><td>98620</td>
        <td></td></tr>
<tr><td>address_info.zipcode_plus4</td><td>string</td><td></td><td>2912</td>
        <td></td></tr>
<tr><td>address_info.block_id</td><td>string</td><td></td><td>530399501031029</td>
        <td></td></tr>
<tr><td>address_info.blockgroup_id</td><td>string</td><td></td><td>530399501031</td>
        <td></td></tr>
<tr><td>address_info.county_fips</td><td>string</td><td></td><td>53039</td>
        <td></td></tr>
<tr><td>address_info.metrodiv</td><td>string</td><td></td><td></td>
        <td></td></tr>
<tr><td>address_info.msa</td><td>string</td><td></td><td></td>
        <td></td></tr>
<tr><td>address_info.city</td><td>string</td><td></td><td>Goldendale</td>
        <td></td></tr>
<tr><td>address_info.state</td><td>string</td><td></td><td>WA</td>
        <td></td></tr>
<tr><td>address_info.geo_precision</td><td>string</td><td></td><td>rooftop</td>
        <td></td></tr>
<tr><td>address_info.lat</td><td>number</td><td></td><td>45.8510704</td>
        <td></td></tr>
<tr><td>address_info.lng</td><td>number</td><td></td><td>-120.6460266</td>
        <td></td></tr>
<tr><td>address_info.is_complete</td><td>boolean</td><td></td><td>true</td>
        <td></td></tr>
<tr><td>address_info.status</td><td>object</td><td></td><td></td>
        <td></td></tr>
<tr><td>address_info.status.match</td><td>boolean</td><td></td><td>true</td>
        <td></td></tr>
<tr><td>address_info.status.changes</td><td>array</td><td></td><td><pre id="json">[]</pre></td>
        <td></td></tr>
<tr><td>address_info.status.changes[]</td><td>string</td><td></td><td></td>
        <td></td></tr>
<tr><td>address_info.status.details</td><td>array</td><td></td><td><pre id="json">[]</pre></td>
        <td></td></tr>
<tr><td>address_info.status.details[]</td><td>string</td><td></td><td></td>
        <td></td></tr>
<tr><td>address_info.status.errors</td><td>array</td><td></td><td><pre id="json">[]</pre></td>
        <td></td></tr>
<tr><td>address_info.status.errors[]</td><td>string</td><td></td><td></td>
        <td></td></tr>
<tr><td>address_info.request_item</td><td>object</td><td></td><td></td>
        <td></td></tr>
<tr><td>address_info.request_item.streetAddress</td><td>string</td><td></td><td>856 Badger Gulch</td>
        <td></td></tr>
<tr><td>address_info.request_item.zipcode</td><td>string</td><td></td><td>98620</td>
        <td></td></tr>
<tr><td>address_info.request_item.slug</td><td>string</td><td></td><td></td>
        <td></td></tr>
<tr><td>address_info.request_item.unit</td><td>string</td><td></td><td></td>
        <td></td></tr>
<tr><td>address_info.request_item.unitDesignator</td><td>string</td><td></td><td></td>
        <td></td></tr>
<tr><td>address_info.request_item.addressID</td><td>number</td><td></td><td></td>
        <td></td></tr>
<tr><td>address_info.request_item.listingID</td><td>string</td><td></td><td></td>
        <td></td></tr>
<tr><td>address_info.request_item.hcMlsID</td><td>number</td><td></td><td></td>
        <td></td></tr>
<tr><td>address_info.request_item.listingEntityID</td><td>string</td><td></td><td></td>
        <td></td></tr>
<tr><td>address_info.request_item.clientID</td><td>string</td><td></td><td></td>
        <td></td></tr>
<tr><td>address_info.request_item.effectiveDate</td><td>string</td><td></td><td></td>
        <td></td></tr>
<tr><td>address_info.request_item.async</td><td>boolean</td><td></td><td>true</td>
        <td></td></tr>
<tr><td>address_info.request_item.cobranding</td><td>boolean</td><td></td><td></td>
        <td></td></tr>
<tr><td>address_info.request_item.reportConfigSlug</td><td>string</td><td></td><td>pexp-static</td>
        <td></td></tr>
<tr><td>address_info.request_item.reportName</td><td>string</td><td></td><td></td>
        <td></td></tr>
<tr><td>address_info.request_item.appraisalSubjectValue</td><td>string</td><td></td><td></td>
        <td></td></tr>
<tr><td>limiting_factors</td><td>array</td><td>Explains why the report was generated as a limited report (e.g. missing AVM data). Only populated when allowLimitedReports=true was used to allow the limited report through and the underlying report has one or more limiting factors.</td><td><pre id="json">[
  {
    "reason": "missing-avm",
    "description": "There is not enough data to produce an AVM for this property."
  },
  {
    "reason": "missing-location",
    "description": "HouseCanary does not have parcel or rooftop precision data for this property."
  },
  {
    "reason": "missing-mls-coverage",
    "description": "HouseCanary does not have mls coverage for this property."
  },
  {
    "reason": "missing-rental-avm",
    "description": "There is not enough data to produce a rental AVM for this property."
  },
  {
    "reason": "vacant-land",
    "description": "The subject property is vacant land."
  }
]</pre></td>
        <td></td></tr>
<tr><td>limiting_factors[]</td><td>object</td><td></td><td></td>
        <td></td></tr>
<tr><td>limiting_factors[].reason</td><td>string</td><td>Machine-readable code identifying the limiting factor.</td><td>missing-rental-avm</td>
        <td>[missing-avm, missing-location, missing-mls-coverage, missing-rental-avm, vacant-land]</td></tr>
<tr><td>limiting_factors[].description</td><td>string</td><td>Human-readable explanation of why this limiting factor applies to the report.</td><td>There is not enough data to produce a rental AVM for this property.</td>
        <td></td></tr>
</table>

## Query parameters

- `slug` string
- `address` string
- `zipcode` integer
- `unit` string
- `unit_designator` string
- `allowLimitedReports` boolean
- `enforceStrictGeoPrecision` boolean

## Response `200`

Success

- object — Response containing a link to the interactive Property Explorer Report and metadata about the address and valuation.
  - `property/pexp_dynamic_link` object — Link to the dynamically generated Property Explorer report and response metadata.
    - `api_code` integer — HTTP-like status code indicating result of report generation.
    - `api_code_description` string — Human-readable description of the API code.
    - `result` object
      - `link` string — URL to the static Property Explorer Report PDF.
  - `address_info` object — Detailed metadata about the subject property address.
    - `address_full` string
    - `slug` string
    - `address` string
    - `unit` string
    - `unit_designator` string
    - `zipcode` string
    - `zipcode_plus4` string
    - `block_id` string
    - `blockgroup_id` string
    - `county_fips` string
    - `metrodiv` string
    - `msa` string
    - `city` string
    - `state` string
    - `geo_precision` string
    - `lat` number
    - `lng` number
    - `is_complete` boolean
    - `status` object
      - `match` boolean
      - `changes` string[]
      - `details` string[]
      - `errors` string[]
    - `request_item` object
      - `streetAddress` string
      - `zipcode` string
      - `slug` string
      - `unit` string
      - `unitDesignator` string
      - `addressID` number
      - `listingID` string
      - `hcMlsID` number
      - `listingEntityID` string
      - `clientID` string
      - `effectiveDate` string, date
      - `async` boolean
      - `cobranding` boolean
      - `reportConfigSlug` string
      - `reportName` string
      - `appraisalSubjectValue` string
  - `limiting_factors` object[] — Explains why the report was generated as a limited report (e.g. missing AVM data). Only populated when allowLimitedReports=true was used to allow the limited report through and the underlying report has one or more limiting factors.
    - `reason` 'missing-avm' | 'missing-location' | 'missing-mls-coverage' | 'missing-rental-avm' | 'vacant-land' — Machine-readable code identifying the limiting factor.
    - `description` string — Human-readable explanation of why this limiting factor applies to the report.

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