Redfin API endpoint
Returns Redfin public listing search results. Pass region_id/region_type from autocomplete to skip location resolution.
/redfin/searchMCP tool: redfin_search
Query parameters: pass region_id and region_type to query a region directly; otherwise pass location, which is resolved to a region automatically. region_type is optional, defaults to 6 (city), and accepts: 1 (neighborhood), 2 (ZIP code), 5 (county), 6 (city). Any other value is rejected with an invalid-params error rather than forwarded to Redfin. page is optional and defaults to 1 (results are paginated client-side in pages of 40). status is optional, defaults to for_sale, and accepts for_sale or sold. Optional filters: min_price, max_price, min_beds, min_baths.
Results are typed listing rows with address parts, pricing, beds/baths, square footage, lot size, year built, days on market, price-per-square-foot, HOA, MLS number, and coordinates when Redfin includes them. property_id is extracted from each listing URL.
| Field | Filled in, of 40 checked | Values in the sample |
|---|---|---|
| property_id | 40 | |
| address | 40 | |
| city | 40 | San Francisco in all 40 |
| state | 40 | CA in all 40 |
| zip | 40 | |
| url | 40 | redfin.com |
| property_type | 40 | Condo/Co-op (24), Single Family Residential (13), Multi-Family (2-4 Unit) (2) and 1 more |
| status | 40 | Pre On-Market (21), Active (19) |
| price | 39 | 392,481 to 28,000,000, median 1,400,000 |
| beds | 39 | 1 to 6, median 3 |
| baths | 40 | 1 to 7, median 2 |
| year_built | 38 | 1,900 to 2,026, median 1,964 |
| mls_number | 40 | |
| latitude | 40 | |
| longitude | 40 | |
| sqft | 36 | 381 to 6,835, median 1,527 |
| price_per_sqft | 35 | 408 to 5,333, median 1,110 |
| lot_size | 22 | 601 to 22,594, median 2,922 |
| days_on_market | 21 | 1 to 181, median 1 |
| hoa_monthly | 12 | 55 to 9,519, median 763 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| location | string | No | Display location; resolved via autocomplete when region_id is omitted | ||
| page | integer | No | 1-based page | ||
| region_id | integer | No | Redfin region id; skips location resolution when provided | ||
| region_type | integer | No | 6 | Redfin region type, used with region_id (defaults to 6, city) Allowed values: 1, 2, 5, 6. | |
| status | string | No | Listing status: for_sale or sold Allowed values: for_sale, sold. | ||
| min_price | integer | No | Minimum price filter | ||
| max_price | integer | No | Maximum price filter | ||
| min_beds | integer | No | Minimum bedrooms filter | ||
| min_baths | number | No | Minimum bathrooms filter | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/redfin/search?page=1®ion_type=1&status=for_sale" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"location": "San Francisco, CA",
"page": 1,
"region_id": 17151,
"region_type": 6,
"results": [
{
"property_id": "1715020",
"address": "123 Main St #4",
"city": "San Francisco",
"state": "CA",
"zip": "94110",
"url": "https://www.redfin.com/CA/San-Francisco/123-Main-St-94110/home/1715020",
"property_type": "Condo/Co-op",
"status": "Active",
"price": 1250000,
"beds": 2,
"baths": 2,
"sqft": 1100,
"lot_size": 2500,
"year_built": 1998,
"days_on_market": 7,
"price_per_sqft": 1136,
"hoa_monthly": 450,
"mls_number": "424001234",
"latitude": 37.7596,
"longitude": -122.4269
}
]
}
}Request schema
No body schema
Response schema
#/definitions/redfin.SearchResponse
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| location | string | No | San Francisco, CA | Location that was searched, as entered or resolved. | ||
| page | integer | No | 1 | Page number returned. | ||
| region_id | integer | No | 17151 | Redfin region id the search ran against. | ||
| region_type | integer | No | 6 | Type of region searched: `1` neighborhood, `2` ZIP code, `5` county or `6` city. | ||
| results | array | No | Listings on this page, one item per property. | |||
| results[].address | string | No | Street address of the property. | |||
| results[].baths | number | No | Number of bathrooms. | |||
| results[].beds | number | No | Number of bedrooms. | |||
| results[].city | string | No | City the property is in. | |||
| results[].days_on_market | integer | No | Number of days the home has been on the market. | |||
| results[].hoa_monthly | number | No | Homeowners association fee per month. | |||
| results[].image | string | No | URL of the listing image. | |||
| results[].latitude | number | No | Latitude of the property. | |||
| results[].listing_id | string | No | Redfin listing id of the current listing. | |||
| results[].longitude | number | No | Longitude of the property. | |||
| results[].lot_size | number | No | Size of the lot as Redfin lists it. | |||
| results[].mls_number | string | No | Multiple Listing Service (MLS) number of the listing. | |||
| results[].price | number | No | Listing or sale price in US dollars. | |||
| results[].price_per_sqft | number | No | Price per square foot of living area. | |||
| results[].property_id | string | No | 1715020 | Redfin property id. Use it with the property, estimate and similar endpoints. | ||
| results[].property_type | string | No | Type of property, for example `Condo/Co-op`. | |||
| results[].sqft | number | No | Interior living area in square feet. | |||
| results[].state | string | No | State the property is in. | |||
| results[].status | string | No | Listing status as Redfin shows it, for example `Active`. | |||
| results[].url | string | No | Redfin page URL of the listing. | |||
| results[].year_built | integer | No | Year the home was built. | |||
| results[].zip | string | No | ZIP or postal code of the property. |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/redfin/search?page=1®ion_type=1&status=for_sale" \
-H "x-api-key: $CRAWLORA_API_KEY"