Zillow property details
Facts about one home on Zillow: size, type, year built, listing agent, last sale, county tax record, and the full price and tax history, including for sold and off-market homes. Costs 2 credits.
GET
https://api.realtycrawl.com/v1/zillow/propertyFacts about one home on Zillow: size, type, year built, listing agent, last sale, county tax record, and the full price and tax history, including for sold and off-market homes.
Cost: 2 credits when complete. Failed calls are free.
#Inputs
- lookup: Which home. Send exactly one of
address,urlorsource_id. None, or more than one, returns 422 withparamset tolookup.
| Parameter | Type | Default | Description |
|---|---|---|---|
address | string | Full street address with city and state or ZIP, like 2041 Samuel Dr, Denver, CO 80221. An address that matches several homes returns 422 address_ambiguous with up to 5 candidates. | |
url | string | The home's page URL on the source site. | |
source_id | string | The source's own ID for the home. On Zillow, the zpid. |
#Example
curl -G https://api.realtycrawl.com/v1/zillow/property \ -H "Authorization: Bearer $REALTYCRAWL_KEY" \ --data-urlencode "address=2041 Samuel Dr, Denver, CO 80221"Try it
#Fields
| Field | Type | Description |
|---|---|---|
request_id | string | ID of this request. Poll it at /v1/jobs/{request_id}. |
status | string: pending, complete, failed | pending, complete or failed. Always check it, even on HTTP 200. |
credits | integer | Credits charged. The route's price when complete; 0 while pending, when failed, or for a page past the last one. |
cached | boolean | True when the result came from our cache. |
poll_url | string or null | Where to poll while pending. Null when complete. |
error | object or null | {code, message, param} when failed. Null otherwise. |
result | object or null | The result when complete. Null otherwise. |
result.source | string | Source of the rows, like zillow. |
result.query | object | The inputs you sent, as we read them. |
result.count | integer | Rows in data. |
result.reported_total | integer or null | Total matches the source reported for the whole search, when it shows one. |
result.next_cursor | string or null | Send as cursor for the next page. Null on the last page and on lookups. |
result.collected_at | string | When we read the source (ISO 8601, UTC). |
result.schema_version | integer | Version of the row schema. Changes only with a new, opt-in version. |
result.completeness | string: complete, partial | complete, or partial when the source returned less than a full page for a reason other than reaching the end. |
result.summary | object or null | Maths over this page for area searches. Null on lookups. |
result.data | array | The rows. |
result.field_notes | array | Why a field is null: {field, reason, detail}. One note covers every row where it applies. |
result.data[].source | string | Which source the row came from. New sources may be added, so handle values you don't know. |
result.data[].source_id | string | The source's own ID for the home or building. On Zillow, a home's ID is its zpid. |
result.data[].source_url | string | Page for this home or building on the source site. |
result.data[].collected_at | string | When we read the source (ISO 8601, UTC). |
result.data[].status | string: for_sale, pending, for_rent, sold, off_market | Current status. |
result.data[].address | Address | Address. |
result.data[].location | Location or null | Map point. |
result.data[].parcel | object or null | County parcel number as {county_fips, apn}. Null when the source does not give it. |
result.data[].property_type | string or null: single_family, condo, townhouse, multi_family, land, manufactured, apartment, other | Home type. |
result.data[].beds | number or null | Bedrooms. |
result.data[].baths | number or null | Bathrooms as the source counts them. |
result.data[].baths_full | integer or null | Full bathrooms, when the source splits them. |
result.data[].baths_half | integer or null | Half bathrooms, when the source splits them. |
result.data[].living_area_sqft | integer or null | Living area in square feet. |
result.data[].lot_area_sqft | integer or null | Lot area in square feet. |
result.data[].year_built | integer or null | Year built. |
result.data[].stories | number or null | Number of stories. |
result.data[].hoa_fee_monthly | Money or null | Monthly HOA fee. Null when there is none or the source does not say. |
result.data[].tax | object or null | Latest county tax record: {year, assessed_value (Money|null), amount (Money|null)}. Null when the source has none. |
result.data[].last_sale | object or null | Most recent sale: {date, price (Money|null), sale_price_disclosure}. Null when the home has no recorded sale. |
result.data[].list_price | Money or null | Current asking price when for sale. |
result.data[].rent_monthly | Money or null | Current rent when for rent. |
result.data[].list_date | string or null | Date the current listing started (YYYY-MM-DD). |
result.data[].days_on_market | integer or null | Days from list_date to the first pending date, or to the sale date when there was no pending date. For a home still listed, days since list_date. |
result.data[].broker_name | string or null | Listing brokerage. |
result.data[].agent_name | string or null | Listing agent. |
result.data[].mls_name | string or null | MLS the listing came from. |
result.data[].mls_id | string or null | Listing number in that MLS. |
result.data[].photo_count | integer or null | How many photos the source shows. We never return or store the photos. |
result.data[].price_history | array or null | Listing and sale events, newest first: {date, event, event_raw, price (Money|null), source_note}. event is one of listed, price_change, pending, sold, delisted, relisted, listed_for_rent, rent_change, rented, other. event_raw is the source's own wording. Empty when the source has none; null when it could not be read. |
result.data[].tax_history | array or null | County tax records, newest first: {year, assessed_value (Money|null), amount (Money|null)}. Empty when the source has none; null when it could not be read. |
result.data[].extras | object | Fields only this source has. Each source lists its own on its docs page. {} when there are none. |
result.data[].extras.home_type_raw | string or null | Zillow's own home type code. |
result.data[].extras.tax_assessed_value | Money or null | Zillow's top-line "tax assessed value". The core tax field uses the county record instead, because the two can use different bases. |
result.data[].extras.property_tax_rate | number or null | Zillow's property tax rate, in percent. |
result.data[].extras.buyer_brokerage | string or null | Buyer's brokerage on the last sale. |
result.data[].extras.days_on_zillow | integer or null | Zillow's "days on Zillow" count. |