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

Metro-wide sale inventory Page through every for-sale home in a region with up to 350 results per page using page and limit.
Deep buyer filters Price, beds, baths, size, lot, year built, HOA fees, property taxes, garage spots and home type narrow the result set server-side.
Coded deal filters priceReduced, openHouse, pool, acceptedFinancing (FHA/VA), listingType and boolean amenity flags surface niches like waterfront or new construction.
Detail-ready identifiers Each row's homeData carries propertyId and listingId, the exact keys the detail, estimate, history and climate endpoints need.

Live API Demo

GET /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>&regionId=6_30749'
📢
Need Help?
If you encounter API issues or need other API requirements, please contact us.
Contact Us

Use Cases

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.

Related operations

Guides

View Subscription Plans →