6.1 KiB
Real-estate reference
Subcommands: zillow-listing, zillow-property, redfin-listing, redfin-property — 5 credits each.
For short-term rentals (Airbnb), hotels (Booking) and flights, see travel.md.
*-listing is for filtered searches; *-property is a single-property deep dive.
zillow-listing
hasdata zillow-listing --keyword "Austin, TX" --type forSale [filters] --raw | jq '.results[]'
Required:
--keyword "City, ST"(default:New York, NY)--type forSale|forRent|sold(default:forSale)
Price / size (bracketed pairs, kept as floats):
--price-min N --price-max N--beds-min N --beds-max N--baths-min N --baths-max N--square-feet-min N --square-feet-max N--lot-size-min N --lot-size-max N--year-built-min N --year-built-max N--hoa N— max HOA fee--parking-spots-min N
Array filters (enum-validated, lowercase camelCase values):
--home-types house|townhome|multiFamily|condo|lot|apartment|manufactured(repeatable)--pets allowsLargeDogs|allowsSmallDogs|allowsCats(repeatable)--other-amenities ac|pool|waterfront|onsiteParking|inUnitLaundry|acceptZillowApplications|incomeRestricted|apartmentCommunity(repeatable)--views city|mountain|park|water(repeatable)--basement finished|unfinished(repeatable)--property-status comingSoon|acceptingBackupOffers|pendingAndUnderContract(repeatable)--listing-publish-options ownerPosted|agentListed|newConstruction|foreclosures|auctions|foreclosed|preForeclosures(repeatable)--tours open|3d(repeatable)
Booleans:
--must-have-garage— only listings with a garage--single-story-only--hide55plus-communities
Other:
--listing-type byAgent|byOwner--days-on-zillow 1|7|14|30|90|6m|12m|24m|36m--keywords "open floor plan"— refinement keywords (matches in description)--move-in-date 2026-06-01--page N— pagination--sort verifiedSource|homesForYou|priceHighToLow|priceLowToHigh|paymentHighToLow|paymentLowToHigh|newest|bedrooms|bathrooms|squareFeet|lotSize
Examples
# Family home, mid-market, sorted cheapest first
hasdata zillow-listing \
--keyword "Austin, TX" --type forSale \
--price-min 400000 --price-max 900000 \
--beds-min 3 --beds-max 5 --baths-min 2 \
--home-types house --home-types townhome \
--sort priceLowToHigh --raw | jq '.results[] | {address, price, beds, baths}'
# Pet-friendly rental
hasdata zillow-listing \
--keyword "Seattle, WA" --type forRent \
--price-max 4000 \
--pets allowsSmallDogs --pets allowsCats \
--parking-spots-min 1 --must-have-garage \
--raw
# Recently sold comps
hasdata zillow-listing \
--keyword "Miami, FL" --type sold \
--square-feet-min 1500 --square-feet-max 4000 \
--year-built-min 2000 --year-built-max 2020 \
--days-on-zillow 12m --sort newest --raw
Bracketed query params (price[max], homeTypes[], yearBuilt[min]) are handled by the CLI — pass the kebab-case flags shown above, not the raw API names.
zillow-property
hasdata zillow-property --url "https://www.zillow.com/homedetails/.../123_zpid/" --raw | jq .
Or with --zpid <ID>. Returns full property details (photos, history, schools, taxes, walk-score, etc.).
redfin-listing
Similar shape to zillow-listing but Redfin's enums differ. Run hasdata redfin-listing --help for the exact list. Common pattern:
hasdata redfin-listing --location "San Francisco, CA" --status forSale \
--min-price 800000 --max-price 1500000 \
--min-beds 2 --raw
redfin-property
hasdata redfin-property --url "https://www.redfin.com/CA/San-Francisco/.../home/12345" --raw
Non-obvious use cases
- Investment screening — combine
--type sold+--days-on-zillow 12m+--year-built-min+--lot-size-minto surface flip / value-add candidates. Thenxargsintozillow-propertyfor ARV analysis. - Tax-appeal comps —
--type sold --keyword "ZIP CODE" --days-on-zillow 12mfiltered to your home's beds/baths/sqft band gives recent sales the assessor used; export to CSV withjq -r '.results[] | [.address, .price, .beds, .baths, .squareFootage, .soldDate] | @csv'. - Appraiser comp pull — same trick, narrower square-footage and same year-built band.
- Motivated-seller signal —
--type forSale --days-on-zillow 90returns listings that have lingered. Often willing to negotiate. - Pre-relocation neighborhood scan — run the same
--type forRentfilter across 5–10 neighborhoods, dump rent distributions withjq '.results[].price', eyeball cost differences before booking visits. - STR-vs-LTR feasibility — pair
airbnb-listing(seetravel.md) for nightly rates withzillow-listing --type forSalefor purchase price in the same area; compute gross yield client-side. - HOA filter —
--hoa Ncaps fee; useful for buyers who want max payment ceilings. - School-driven house hunt —
zillow-propertyreturns school ratings; filterzillow-listingresults down by walking each property and keeping those with rating ≥ X. - Open-houses this weekend — Zillow tags open-house listings; check
.results[].openHouseTimesfor upcoming slots. - 3D-tour / virtual-tour-only filter —
--tours 3d→ only listings with virtual tours. Useful for remote / international buyers. - Pet-friendly rentals at scale —
--pets allowsLargeDogs --pets allowsCatsfor multi-pet households. Pairs well with--keywordfor specific neighborhoods. - Foreclosure and pre-foreclosure leads —
--listing-publish-options foreclosures --listing-publish-options preForeclosures. - Non-traditional listing types —
--listing-type byOwnerfor FSBO;--listing-type byAgentfor agent-listed (default mix). - Move-in date constraint —
--move-in-date YYYY-MM-DDfor rental searches with a hard timing requirement. - Bulk address verification — pipe a list of property URLs through
zillow-propertyto confirm they resolve and pull the canonical address Zillow uses. - Verify a Redfin/Zillow listing is real —
redfin-property --url X --raw | jq .statusto confirm it hasn't been pulled.