StreetEasy property details

Facts about one StreetEasy listing and its unit: size, building type and year built, brokerage, co-op maintenance or condo charges, the unit's last recorded sale, and every listing's price history. Costs 2 credits.

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

Facts about one StreetEasy listing and its unit: size, building type and year built, brokerage, co-op maintenance or condo charges, the unit's last recorded sale, and every listing's price history.

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 in error. Send one of their source_ids.
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/streeteasy/property \  -H "Authorization: Bearer $REALTYCRAWL_KEY" \  -d source_id=sale-1849109
Try it
Which homeSend exactly one
Request
curl -G https://api.realtycrawl.com/v1/streeteasy/property \  -H "Authorization: Bearer $REALTYCRAWL_KEY" \  -d source_id=sale-1849109
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. On address_ambiguous, also candidates: up to 5 {address, source_id, source_url} to pick from. 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_rawstring or nullStreetEasy's own building type, like CO_OP, CONDO, CONDOP, TOWNHOUSE or TWOFAMILY.
result.data[].extras.neighborhoodstring or nullNeighborhood as StreetEasy names it, like West Village.
result.data[].extras.building_namestring or nullBuilding name, when it has one.
result.data[].extras.building_floorsinteger or nullFloors in the building.
result.data[].extras.residential_unitsinteger or nullHomes in the building.
result.data[].extras.sale_typestring or nullKind of sale, like RESALE. Null on rentals.
result.data[].extras.monthly_maintenanceMoney or nullCo-op monthly maintenance, which includes property taxes.
result.data[].extras.monthly_taxesMoney or nullMonthly property taxes, when listed (condos and houses).
result.data[].extras.monthly_common_chargesMoney or nullCondo monthly common charges.
result.data[].extras.net_effective_rentMoney or nullRentals: the monthly rent after free months, when the landlord offers them.
result.data[].extras.months_freenumber or nullRentals: free months offered on the lease.
result.data[].extras.available_datestring or nullRentals: move-in date (YYYY-MM-DD).
result.data[].extras.newer_source_idstring or nullThe unit's newer StreetEasy listing, when this one isn't its latest. Look that one up for the current price.