Redfin API endpoint
Returns Redfin public property details. Provide a listing url, or a property_id (optionally with listing_id).
/redfin/propertyMCP tool: redfin_property
Query parameters: provide url (a Redfin listing URL) as the primary key, or provide property_id (optionally with listing_id) to use Redfin's public stingray detail API. At least one of url or property_id is required.
When url is given, the listing page is parsed for address, media, description, ids, and a list of facts. When only property_id/listing_id is given, Redfin's public belowTheFold detail payload is parsed instead; passing listing_id alongside property_id improves completeness.
| Field | In the sample | Value in the sample |
|---|---|---|
| property_id | Has a value | |
| url | Has a value | redfin.com |
| price | Has a value | 7 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| url | string | No | Redfin listing URL (primary key) | ||
| property_id | string | No | Redfin property id, used when url is not provided | ||
| listing_id | string | No | Redfin listing id, improves completeness with property_id | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/redfin/property" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"property_id": "1715020",
"listing_id": "216597668",
"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",
"image": "https://ssl.cdn-redfin.com/photo/1.jpg",
"description": "Sunny 2 bed 2 bath condo in the Mission.",
"facts": [
"Lot Size: 2,500 sqft",
"Year Built: 1998"
]
}
}Request schema
No body schema
Response schema
#/definitions/redfin.PropertyResponse
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| address | string | No | Street address of the property. | |||
| baths | number | No | Number of bathrooms. | |||
| beds | number | No | Number of bedrooms. | |||
| city | string | No | City the property is in. | |||
| days_on_market | integer | No | Number of days the home has been on the market. | |||
| description | string | No | ||||
| facts | array | No | ||||
| hoa_monthly | number | No | Homeowners association fee per month. | |||
| image | string | No | URL of the listing image. | |||
| latitude | number | No | Latitude of the property. | |||
| listing_id | string | No | Redfin listing id of the current listing. | |||
| longitude | number | No | Longitude of the property. | |||
| lot_size | number | No | Size of the lot as Redfin lists it. | |||
| mls_number | string | No | Multiple Listing Service (MLS) number of the listing. | |||
| price | number | No | Listing or sale price in US dollars. | |||
| price_per_sqft | number | No | Price per square foot of living area. | |||
| property_id | string | No | 1715020 | Redfin property id. Use it with the property, estimate and similar endpoints. | ||
| property_type | string | No | Type of property, for example `Condo/Co-op`. | |||
| sqft | number | No | Interior living area in square feet. | |||
| state | string | No | State the property is in. | |||
| status | string | No | Listing status as Redfin shows it, for example `Active`. | |||
| url | string | No | Redfin page URL of the listing. | |||
| year_built | integer | No | Year the home was built. | |||
| zip | string | No | ZIP or postal code of the property. |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/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/property" \
-H "x-api-key: $CRAWLORA_API_KEY"