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.

GEThttps://api.realtycrawl.com/v1/zillow/property

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.

Cost: 2 credits when complete. Failed calls are free.

#Inputs

  • lookup: Which home. Send exactly one of address, url or source_id. None, or more than one, returns 422 with param set to lookup.
ParameterTypeDefaultDescription
addressstringFull 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.
urlstringThe home's page URL on the source site.
source_idstringThe 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
Which homeSend exactly one
Request
curl -G https://api.realtycrawl.com/v1/zillow/property \  -H "Authorization: Bearer $REALTYCRAWL_KEY" \  --data-urlencode "address=2041 Samuel Dr, Denver, CO 80221"
Sign in to runFree account, no card.

#Fields

FieldTypeDescription
request_idstringID of this request. Poll it at /v1/jobs/{request_id}.
statusstring: pending, complete, failedpending, complete or failed. Always check it, even on HTTP 200.
creditsintegerCredits charged. The route's price when complete; 0 while pending, when failed, or for a page past the last one.
cachedbooleanTrue when the result came from our cache.
poll_urlstring or nullWhere to poll while pending. Null when complete.
errorobject or null{code, message, param} when failed. Null otherwise.
resultobject or nullThe result when complete. Null otherwise.
result.sourcestringSource of the rows, like zillow.
result.queryobjectThe inputs you sent, as we read them.
result.countintegerRows in data.
result.reported_totalinteger or nullTotal matches the source reported for the whole search, when it shows one.
result.next_cursorstring or nullSend as cursor for the next page. Null on the last page and on lookups.
result.collected_atstringWhen we read the source (ISO 8601, UTC).
result.schema_versionintegerVersion of the row schema. Changes only with a new, opt-in version.
result.completenessstring: complete, partialcomplete, or partial when the source returned less than a full page for a reason other than reaching the end.
result.summaryobject or nullMaths over this page for area searches. Null on lookups.
result.dataarrayThe rows.
result.field_notesarrayWhy a field is null: {field, reason, detail}. One note covers every row where it applies.
result.data[].sourcestringWhich source the row came from. New sources may be added, so handle values you don't know.
result.data[].source_idstringThe source's own ID for the home or building. On Zillow, a home's ID is its zpid.
result.data[].source_urlstringPage for this home or building on the source site.
result.data[].collected_atstringWhen we read the source (ISO 8601, UTC).
result.data[].statusstring: for_sale, pending, for_rent, sold, off_marketCurrent status.
result.data[].addressAddressAddress.
result.data[].locationLocation or nullMap point.
result.data[].parcelobject or nullCounty parcel number as {county_fips, apn}. Null when the source does not give it.
result.data[].property_typestring or null: single_family, condo, townhouse, multi_family, land, manufactured, apartment, otherHome type.
result.data[].bedsnumber or nullBedrooms.
result.data[].bathsnumber or nullBathrooms as the source counts them.
result.data[].baths_fullinteger or nullFull bathrooms, when the source splits them.
result.data[].baths_halfinteger or nullHalf bathrooms, when the source splits them.
result.data[].living_area_sqftinteger or nullLiving area in square feet.
result.data[].lot_area_sqftinteger or nullLot area in square feet.
result.data[].year_builtinteger or nullYear built.
result.data[].storiesnumber or nullNumber of stories.
result.data[].hoa_fee_monthlyMoney or nullMonthly HOA fee. Null when there is none or the source does not say.
result.data[].taxobject or nullLatest county tax record: {year, assessed_value (Money|null), amount (Money|null)}. Null when the source has none.
result.data[].last_saleobject or nullMost recent sale: {date, price (Money|null), sale_price_disclosure}. Null when the home has no recorded sale.
result.data[].list_priceMoney or nullCurrent asking price when for sale.
result.data[].rent_monthlyMoney or nullCurrent rent when for rent.
result.data[].list_datestring or nullDate the current listing started (YYYY-MM-DD).
result.data[].days_on_marketinteger or nullDays 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_namestring or nullListing brokerage.
result.data[].agent_namestring or nullListing agent.
result.data[].mls_namestring or nullMLS the listing came from.
result.data[].mls_idstring or nullListing number in that MLS.
result.data[].photo_countinteger or nullHow many photos the source shows. We never return or store the photos.
result.data[].price_historyarray or nullListing 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_historyarray or nullCounty 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[].extrasobjectFields only this source has. Each source lists its own on its docs page. {} when there are none.
result.data[].extras.home_type_rawstring or nullZillow's own home type code.
result.data[].extras.tax_assessed_valueMoney or nullZillow'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_ratenumber or nullZillow's property tax rate, in percent.
result.data[].extras.buyer_brokeragestring or nullBuyer's brokerage on the last sale.
result.data[].extras.days_on_zillowinteger or nullZillow's "days on Zillow" count.