Search Homes for Sale by Region
View all Redfin Property Data endpoints →Live for-sale listings inside a Redfin region. Pass a regionId from property-auto-complete (6_30749 = New York, verified live) plus any combination of price, beds, baths, square-foot, lot-size, year-built, stories, garage, school-rating, walk/transit/bike-score, HOA-fee and property-tax filters, coded filters (status, listingType, timeOnRedfin, priceReduced, openHouse, pool, acceptedFinancing, booleanFilters) and page/limit paging (up to 350 rows per page). Successful responses return status_code 200, resultsPerPage and a data array. Each row in data wraps a homeData object with propertyId, listingId, url, propertyType, beds, baths, priceInfo.amount, sqftInfo.amount, lotSize, yearBuilt, daysOnMarket.listingAddedDate, photo ranges and addressInfo; the pair propertyId/listingId feeds every property-detail endpoint.
API Features
Live API Demo
🔒 Sign in to try it live
Log in to call this API with your own API key. New accounts get 100 free credits — no card required.
Log in / Sign upNo active API key found. Create one in your Dashboard, then reload this page. Dashboard →
/api/project/redfin/region-search-for-sale API Response (JSON)
{} curl -X GET 'https://api.opendata-api.com/api/project/redfin/region-search-for-sale?key=<API_KEY>®ionId=6_30749'
Query Result
Use Cases
- Build a regional listing aggregator that pages all for-sale homes in a metro.
- Run daily new-listing alerts with timeOnRedfin and status filters for active plus coming-soon homes.
- Create niche vertical search (waterfront-only, new-construction-only) via booleanFilters and listingType.
- Hunt price-reduced deals with the priceReduced window for an investor deal-flow dashboard.
Frequently asked questions
How do I bulk-collect US for-sale listings with Python?
Resolve the target city's regionId via the autocomplete endpoint, then page this endpoint with page/limit and store each page's homeData rows. A page holds up to about 350 rows; stop paging when a page comes back short.
Where does the region ID come from?
From the location autocomplete endpoint: pass a city name and read exactMatch.id or rows[].id (for example 6_30749). A bare city name is not accepted as regionId.
How do I filter for recently reduced or newly listed homes?
Pass priceReduced as '7-' for homes reduced within the last 7 days and timeOnRedfin as '3-' for listings up to 3 days old; both stack with the other filters.