Redfin Search

Search Redfin homes for sale or recently sold.

GET/api/v1/redfin/search

Costs 1 credit per request; failed requests are refunded. Authentication, the search_metadata envelope and error codes are the same as for every endpoint (see the API reference). Try it in the playground.

Parameters

Request parameters

Search Redfin homes for sale or recently sold.

ParameterTypeDescription
min_priceintegerMinimum listing price in US dollars.Minimum: 0.
max_priceintegerMaximum listing price in US dollars.Minimum: 0.
min_bedsintegerMinimum number of bedrooms.Range: 0 to 20.
max_bedsintegerMaximum number of bedrooms.Range: 0 to 20.
min_bathsnumberMinimum number of bathrooms.Range: 0 to 20.
min_sqftintegerMinimum interior area in square feet.Minimum: 0.
max_sqftintegerMaximum interior area in square feet.Minimum: 0.
urlstringRedfin city, ZIP, county or neighborhood search URL. Existing URL filters are retained unless overridden.Up to 2,048 characters.Supply one location: a region URL, region_id with region_type, or map_bounds.
region_idintegerRedfin region identifier; requires region_type.Minimum: 0.
region_type"1" | "2" | "5" | "6" | "11"Region kind: 1 neighborhood, 2 ZIP region, 5 county, 6 city, 11 state.A ZIP region identifier differs from the ZIP code. Use a Redfin ZIP search URL if the region identifier is unknown.
map_boundsstringMap rectangle as north,east,south,west.
status"for_sale" | "sold"Listing status. Defaults to for_sale when no URL is supplied.
sold_within_daysintegerSold listings from the last N days; requires status=sold. Defaults to 180 for sold searches.Range: 1 to 365.
property_type"house" | "condo" | "townhouse" | "multi_family" | "land" | "other" | "manufactured" | "co_op"Restrict results to one property type.
sort"recommended" | "newest" | "price_asc" | "price_desc" | "sqft"Result ordering. Defaults to recommended when no URL is supplied.
limitintegerMaximum homes returned. Narrow the region or map bounds when results reach this limit.Default: 100.Range: 1 to 350.The response does not advertise pagination or a total count. If search_information.possibly_truncated is true, narrow the location or filters.

Response

A JSON object with search_metadata (request id, credits used and remaining) and the result data: properties. Groups and fields depend on the content of each page, so treat every field as optional.

Examples

cURL
curl "https://serpfast.com/api/v1/redfin/search?region_id=16163&region_type=6&max_price=800000&min_beds=2&limit=5" \
  -H "Authorization: Bearer $SERPFAST_KEY"
Node.js 18+
const params = new URLSearchParams({
  "region_id": 16163,
  "region_type": 6,
  "max_price": 800000,
  "min_beds": 2,
  "limit": 5
});
const res = await fetch(`https://serpfast.com/api/v1/redfin/search?${params}`, {
  headers: { Authorization: `Bearer ${process.env.SERPFAST_KEY}` },
});
const data = await res.json();
console.log(data);
Python
import os, requests

params = {
  "region_id": 16163,
  "region_type": 6,
  "max_price": 800000,
  "min_beds": 2,
  "limit": 5
}
res = requests.get(
    "https://serpfast.com/api/v1/redfin/search",
    params=params,
    headers={"Authorization": f"Bearer {os.environ['SERPFAST_KEY']}"},
    timeout=120,
)
print(res.json())