Redfin property details

Facts about one home on Redfin: 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/redfin/property

Facts about one home on Redfin: 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 url or source_id. None, or more than one, returns 422 with param set to lookup.
ParameterTypeDefaultDescription
urlstringThe home's page URL on the source site.
source_idstringThe source's own ID for the home. On Zillow, the zpid; on Redfin, the number at the end of the home's URL (.../home/34056278).

#Example

curl -G https://api.realtycrawl.com/v1/redfin/property \  -H "Authorization: Bearer $REALTYCRAWL_KEY" \  --data-urlencode "url=https://www.redfin.com/CO/Denver/5000-Tejon-St-80221/home/34056278"
Try it
Which homeSend exactly one
Request
curl -G https://api.realtycrawl.com/v1/redfin/property \  -H "Authorization: Bearer $REALTYCRAWL_KEY" \  --data-urlencode "url=https://www.redfin.com/CO/Denver/5000-Tejon-St-80221/home/34056278"
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; on Redfin, its property ID.
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[].value_historyarray or nullThe source's monthly estimate for this home (on Zillow, the Zestimate), newest first: {date, value (Money)}. Up to about 10 years. 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.property_type_codeinteger or nullRedfin's own property type code.
result.data[].extras.property_type_namestring or nullThe county record's property type, like Single Family Residential.
result.data[].extras.buyer_brokeragestring or nullBuyer's brokerage on the last MLS sale.
result.data[].extras.buyer_agent_namestring or nullBuyer's agent on the last MLS sale.