# Redfin API

> Redfin provides home listings, property details, and housing market data as a workflow and API.

Redfin Search homes returns publicly listed homes with prices, addresses, beds, baths, and listing details; provide a city, neighborhood, or ZIP code. Redfin Get home returns property details, histories, neighborhood scores, schools, climate risks, and photos; provide an address or Redfin home link. Redfin Get housing market returns market figures and up to 12 months of sale prices; provide a city, county, neighborhood, or ZIP code.

- Page: https://fous.com/workflows/redfin
- Handle: `@redfin`
- Category: [Real estate](https://fous.com/workflows/category/real-estate)
- Source website: https://redfin.com
- Last verified: Sep 28, 2026
- Fous is not affiliated with Redfin.

## Methods

### Get home

Operation `get_home`, version 1. 1 credit per call.

Get a Redfin home’s details, estimate, histories, neighborhood scores, schools, climate risks, and photos from its address or home link. Some values may be unavailable for a particular home.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `address` | string | yes | `"https://www.redfin.com/KY/Lexington/4128-Berryman-Ct-40514/home/110457336"` | Street address with city and state or ZIP, or a Redfin home link. Example: 6813 17th Ave NE, Seattle, WA 98115. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "address"
  ],
  "properties": {
    "address": {
      "type": "string",
      "description": "Street address with city and state or ZIP, or a Redfin home link. Example: 6813 17th Ave NE, Seattle, WA 98115.",
      "examples": [
        "https://www.redfin.com/KY/Lexington/4128-Berryman-Ct-40514/home/110457336",
        "6813 17th Ave NE, Seattle, WA 98115"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "address": "https://www.redfin.com/KY/Lexington/4128-Berryman-Ct-40514/home/110457336"
    },
    {
      "address": "6813 17th Ave NE, Seattle, WA 98115"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `beds` | number or null | `3` |  |
| `baths` | number or null | `2` |  |
| `status` | string or null | `"Active"` |  |
| `schools` | array |  |  |
| `schools[].name` | string or null | `"Stonewall Elementary School"` |  |
| `schools[].distance_miles` | number or null | `1.2` |  |
| `schools[].rating_out_of_10` | number or null | `8` |  |
| `latitude` | number or null | `37.9979035` |  |
| `longitude` | number or null | `-84.575446` |  |
| `bike_score` | number or null | `26` |  |
| `walk_score` | number or null | `29` |  |
| `year_built` | number or null | `1992` |  |
| `photo_links` | array |  |  |
| `square_feet` | number or null | `1563` |  |
| `tax_history` | array |  |  |
| `tax_history[].year` | integer or null | `2026` |  |
| `tax_history[].tax_paid_usd` | number or null | `2736.26` |  |
| `tax_history[].assessed_value_usd` | number or null | `1042000` |  |
| `climate_risk` | object |  |  |
| `climate_risk.fire` | string or null | `"1/10 Fire Factor"` |  |
| `climate_risk.heat` | string or null | `"4/10 Heat Factor"` |  |
| `climate_risk.wind` | string or null | `"2/10 Wind Factor"` |  |
| `climate_risk.flood` | string or null | `"1/10 Flood Factor"` |  |
| `full_address` | string or null | `"4128 Berryman Ct, Lexington, KY 40514"` |  |
| `sale_history` | array |  |  |
| `sale_history[].date` | string or null | `"2026-09-14"` |  |
| `sale_history[].event` | string or null | `"Price Changed"` |  |
| `sale_history[].price_usd` | number or null | `385000` |  |
| `transit_score` | number or null | `20` |  |
| `home_page_link` | string or null | `"https://www.redfin.com/KY/Lexington/4128-Berryman-Ct-40514/home/110457336"` |  |
| `list_price_usd` | number or null | `385000` |  |
| `redfin_property_id` | integer or null | `110457336` |  |
| `redfin_estimate_usd` | number or null | `375162` |  |
| `lot_size_square_feet` | number or null | `9200` |  |
| `hoa_fee_per_month_usd` | number or null | `2` |  |

**Example input**

```json
{
  "address": "https://www.redfin.com/KY/Lexington/4128-Berryman-Ct-40514/home/110457336"
}
```

**Example output**

```json
{
  "beds": 3,
  "baths": 2,
  "status": "Active",
  "schools": [
    {
      "name": "Stonewall Elementary School",
      "distance_miles": 1.2,
      "rating_out_of_10": 8
    },
    {
      "name": "Jessie M Clark Middle School",
      "distance_miles": 1.5,
      "rating_out_of_10": 8
    },
    {
      "name": "Paul Laurence Dunbar High School",
      "distance_miles": 1.3,
      "rating_out_of_10": 7
    }
  ],
  "latitude": 37.9979035,
  "longitude": -84.575446,
  "bike_score": 26,
  "walk_score": 29,
  "year_built": 1992,
  "photo_links": [
    "https://ssl.cdn-redfin.com/photo/208/bigphoto/499/26022499_0.jpg",
    "https://ssl.cdn-redfin.com/photo/208/bigphoto/499/26022499_1_0.jpg",
    "https://ssl.cdn-redfin.com/photo/208/bigphoto/499/26022499_2_0.jpg"
  ],
  "square_feet": 1563,
  "tax_history": [
    {
      "year": 2026,
      "tax_paid_usd": 2736.26,
      "assessed_value_usd": null
    },
    {
      "year": 2015,
      "tax_paid_usd": 1615.76,
      "assessed_value_usd": null
    },
    {
      "year": 2014,
      "tax_paid_usd": 1584,
      "assessed_value_usd": null
    }
  ],
  "climate_risk": {
    "fire": "1/10 Fire Factor",
    "heat": "4/10 Heat Factor",
    "wind": "2/10 Wind Factor",
    "flood": "1/10 Flood Factor"
  },
  "full_address": "4128 Berryman Ct, Lexington, KY 40514",
  "sale_history": [
    {
      "date": "2026-09-14",
      "event": "Price Changed",
      "price_usd": 385000
    },
    {
      "date": "2026-09-03",
      "event": "Relisted",
      "price_usd": null
    },
    {
      "date": "2026-08-20",
      "event": "Pending",
      "price_usd": null
    }
  ],
  "transit_score": 20,
  "home_page_link": "https://www.redfin.com/KY/Lexington/4128-Berryman-Ct-40514/home/110457336",
  "list_price_usd": 385000,
  "redfin_property_id": 110457336,
  "redfin_estimate_usd": 375162,
  "lot_size_square_feet": 9200,
  "hoa_fee_per_month_usd": 2
}
```

### Get housing market

Operation `get_housing_market`, version 1. 1 credit per call.

Get the latest housing market figures and up to 12 months of sale prices for a Redfin area. Figures not shown for an area are null.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `location` | string | yes | `"Travis County, TX"` | City and state, county and state, neighbourhood and city, or ZIP code, for example Austin, TX. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "location"
  ],
  "properties": {
    "location": {
      "type": "string",
      "description": "City and state, county and state, neighbourhood and city, or ZIP code, for example Austin, TX.",
      "examples": [
        "Travis County, TX",
        "78704",
        "Austin, TX"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "location": "Travis County, TX"
    },
    {
      "location": "78704"
    },
    {
      "location": "Austin, TX"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `month` | string or null | `"2026-08"` | Latest month covered, YYYY-MM. |
| `area_name` | string | `"Travis County, TX"` | Name of the area. |
| `homes_sold` | number or null | `1192` | Number of homes sold. |
| `market_page_link` | string | `"https://www.redfin.com/county/2866/TX/Travis-County/housing-market"` | Redfin housing market page link. |
| `redfin_compete_score` | number or null | `35` | Redfin Compete Score, 0 to 100. |
| `median_days_on_market` | number or null | `72` | Median days on market. |
| `median_sale_price_usd` | number or null | `497336` | Median sale price in US dollars. |
| `redfin_compete_score_label` | string or null | `"Somewhat Competitive"` | Competition label. |
| `homes_sold_change_year_percent` | number or null | `-5.8` | Year-over-year change in homes sold, percent. |
| `sale_to_list_price_ratio_percent` | number or null | `97.1` | Sale-to-list price ratio, percent. |
| `median_sale_prices_last_12_months` | array |  | Monthly median sale prices shown for the latest 12 months, oldest first. |
| `median_sale_prices_last_12_months[].month` | string | `"2025-09"` |  |
| `median_sale_prices_last_12_months[].median_sale_price_usd` | number or null | `485000` |  |
| `homes_sold_above_list_price_percent` | number or null | `12.3` | Homes sold above list price, percent. |
| `median_sale_price_change_year_percent` | number or null | `-5.3` | Year-over-year change in median sale price, percent. |

**Example input**

```json
{
  "location": "Travis County, TX"
}
```

**Example output**

```json
{
  "month": "2026-08",
  "area_name": "Travis County, TX",
  "homes_sold": 1192,
  "market_page_link": "https://www.redfin.com/county/2866/TX/Travis-County/housing-market",
  "redfin_compete_score": null,
  "median_days_on_market": 72,
  "median_sale_price_usd": 497336,
  "redfin_compete_score_label": null,
  "homes_sold_change_year_percent": -5.8,
  "sale_to_list_price_ratio_percent": 97.1,
  "median_sale_prices_last_12_months": [
    {
      "month": "2025-09",
      "median_sale_price_usd": 485000
    },
    {
      "month": "2025-10",
      "median_sale_price_usd": 500000
    },
    {
      "month": "2025-11",
      "median_sale_price_usd": 515000
    }
  ],
  "homes_sold_above_list_price_percent": 12.3,
  "median_sale_price_change_year_percent": -5.3
}
```

### Search homes

Operation `search_homes`, version 1. 1 credit per call.

Search Redfin homes for sale by city, neighborhood, or ZIP code, with price, home type, bed, bath, and sort options. Results reflect publicly listed homes.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `sort` | string | no | `"newest"` | Result order, for example newest. |
| `location` | string | yes | `"98103"` | City and state, neighborhood, or ZIP code, for example Seattle, WA. |
| `min_beds` | integer | no | `2` | Minimum bedrooms, for example 2. |
| `home_type` | string | no | `"condo"` | Kind of home, for example condo. |
| `max_price` | integer | no | `900000` | Maximum listing price in USD, for example 900000. |
| `min_baths` | number | no | `2` | Minimum bathrooms, for example 1.5. |
| `min_price` | integer | no | `500000` | Minimum listing price in USD, for example 500000. |
| `max_results` | integer | no | `8` | Maximum number of homes, for example 20. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "location"
  ],
  "properties": {
    "sort": {
      "enum": [
        "recommended",
        "newest",
        "price_low_to_high",
        "price_high_to_low"
      ],
      "type": "string",
      "default": "recommended",
      "description": "Result order, for example newest.",
      "examples": [
        "newest",
        "price_low_to_high"
      ]
    },
    "location": {
      "type": "string",
      "minLength": 1,
      "description": "City and state, neighborhood, or ZIP code, for example Seattle, WA.",
      "examples": [
        "98103",
        "Seattle, WA",
        "West Seattle"
      ]
    },
    "min_beds": {
      "type": "integer",
      "minimum": 0,
      "description": "Minimum bedrooms, for example 2.",
      "examples": [
        2
      ]
    },
    "home_type": {
      "enum": [
        "any",
        "house",
        "condo",
        "townhouse",
        "multi_family",
        "land"
      ],
      "type": "string",
      "default": "any",
      "description": "Kind of home, for example condo.",
      "examples": [
        "condo",
        "house"
      ]
    },
    "max_price": {
      "type": "integer",
      "minimum": 0,
      "description": "Maximum listing price in USD, for example 900000.",
      "examples": [
        900000
      ]
    },
    "min_baths": {
      "type": "number",
      "minimum": 0,
      "description": "Minimum bathrooms, for example 1.5.",
      "examples": [
        2
      ]
    },
    "min_price": {
      "type": "integer",
      "minimum": 0,
      "description": "Minimum listing price in USD, for example 500000.",
      "examples": [
        500000,
        100000000
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum number of homes, for example 20.",
      "x-fous-developer": true,
      "examples": [
        8,
        5,
        6
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "sort": "newest",
      "location": "98103",
      "home_type": "condo",
      "max_results": 8
    },
    {
      "sort": "price_low_to_high",
      "location": "Seattle, WA",
      "min_beds": 2,
      "max_price": 900000,
      "min_price": 500000,
      "max_results": 5
    },
    {
      "location": "West Seattle",
      "home_type": "house",
      "min_baths": 2,
      "max_results": 6
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `homes` | array |  |  |
| `homes[].beds` | number or null | `2` | Beds. |
| `homes[].baths` | number or null | `2` | Baths. |
| `homes[].price` | number or null | `398000` | Price. |
| `homes[].status` | string or null | `"Active"` | Status. |
| `homes[].address` | string or null | `"9255 Greenwood Ave N #38, Seattle, WA 98103"` | Address. |
| `homes[].currency` | string or null | `"USD"` | Currency. |
| `homes[].latitude` | number or null | `47.6975535` | Latitude. |
| `homes[].longitude` | number or null | `-122.3556663` | Longitude. |
| `homes[].mls_number` | string or null | `"2586407"` | Mls number. |
| `homes[].photo_link` | string or null | `"https://ssl.cdn-redfin.com/photo/1/islphoto/407/genIslnoResize.2586407_0.webp"` | Photo link. |
| `homes[].year_built` | integer or null | `1979` | Year built. |
| `homes[].square_feet` | number or null | `927` | Square feet. |
| `homes[].listing_link` | string or null | `"https://www.redfin.com/WA/Seattle/9255-Greenwood-Ave-N-98103/unit-38/home/26357"` | Listing link. |
| `homes[].days_on_redfin` | number or null |  | Days on redfin. |
| `homes[].redfin_property_id` | integer or null | `26357` | Redfin property id. |
| `homes[].price_per_square_foot` | number or null | `429` | Price per square foot. |

**Example input**

```json
{
  "sort": "newest",
  "location": "98103",
  "home_type": "condo",
  "max_results": 8
}
```

**Example output**

```json
{
  "homes": [
    {
      "beds": 2,
      "baths": 2,
      "price": 398000,
      "status": "Active",
      "address": "9255 Greenwood Ave N #38, Seattle, WA 98103",
      "currency": "USD",
      "latitude": 47.6975535,
      "longitude": -122.3556663,
      "mls_number": "2586407",
      "photo_link": "https://ssl.cdn-redfin.com/photo/1/islphoto/407/genIslnoResize.2586407_0.webp",
      "year_built": 1979,
      "square_feet": 927,
      "listing_link": "https://www.redfin.com/WA/Seattle/9255-Greenwood-Ave-N-98103/unit-38/home/26357",
      "days_on_redfin": null,
      "redfin_property_id": 26357,
      "price_per_square_foot": 429
    },
    {
      "beds": 2,
      "baths": 2,
      "price": 619000,
      "status": "Active",
      "address": "4511 Greenwood Ave N #4, Seattle, WA 98103",
      "currency": "USD",
      "latitude": 47.6618379,
      "longitude": -122.3557392,
      "mls_number": "2587300",
      "photo_link": "https://ssl.cdn-redfin.com/photo/1/islphoto/300/genIslnoResize.2587300_0.webp",
      "year_built": 1979,
      "square_feet": 976,
      "listing_link": "https://www.redfin.com/WA/Seattle/4511-Greenwood-Ave-N-98103/unit-4/home/49658",
      "days_on_redfin": null,
      "redfin_property_id": 49658,
      "price_per_square_foot": 634
    },
    {
      "beds": 1,
      "baths": 1,
      "price": 299500,
      "status": "Active",
      "address": "8747 Phinney Ave N #12, Seattle, WA 98103",
      "currency": "USD",
      "latitude": 47.6937563,
      "longitude": -122.354231,
      "mls_number": "2586373",
      "photo_link": "https://ssl.cdn-redfin.com/photo/1/islphoto/373/genIslnoResize.2586373_0.webp",
      "year_built": 1979,
      "square_feet": 684,
      "listing_link": "https://www.redfin.com/WA/Seattle/8747-Phinney-Ave-N-98103/unit-12/home/25622",
      "days_on_redfin": null,
      "redfin_property_id": 25622,
      "price_per_square_foot": 438
    }
  ]
}
```

## Quick start

Call the API with a Fous API key (`FOUS_API_KEY`). To create one, turn on Developer mode in Fous Studio, then open Keys & connections → API keys (https://app.fous.com/keys).

```bash
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
: "${FOUS_API_KEY:?Set FOUS_API_KEY before running this example}"

curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 120 \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@redfin",
  "visibility": "public",
  "operation": "get_home",
  "version": 1,
  "input": {
    "address": "https://www.redfin.com/KY/Lexington/4128-Berryman-Ct-40514/home/110457336"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
import json
import os
import urllib.error
import urllib.request

api_key = os.environ.get("FOUS_API_KEY")
if not api_key:
    raise RuntimeError("Set FOUS_API_KEY before running this example")

body = json.loads("{\n  \"api\": \"@redfin\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_home\",\n  \"version\": 1,\n  \"input\": {\n    \"address\": \"https://www.redfin.com/KY/Lexington/4128-Berryman-Ct-40514/home/110457336\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=120) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
// First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
const apiKey = process.env.FOUS_API_KEY;
if (!apiKey) throw new Error("Set FOUS_API_KEY before running this example");

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(120_000),
  body: JSON.stringify({
  "api": "@redfin",
  "visibility": "public",
  "operation": "get_home",
  "version": 1,
  "input": {
    "address": "https://www.redfin.com/KY/Lexington/4128-Berryman-Ct-40514/home/110457336"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

Or describe the data in plain language: send `{"api":"@redfin","prompt":"Describe the data you need, with every detail"}` to the same URL. Fous fills in the input, runs the method that fits and returns only the fields you asked for; `data.route.calls[].request` is the exact call it made. Routing is free; the run costs the same.

## Use cases

- Find homes for sale within a price range and bedroom count
- Compare listing prices and days on market across locations
- Review a property's sale and tax history
- Assess nearby schools, neighborhood scores, and climate risks
- Track housing market prices and year-over-year changes

## FAQ

### Is Fous affiliated with Redfin?

No. Fous is not affiliated with Redfin. This workflow reads the public redfin.com website and returns its data.

### How much does it cost?

Each run costs 1 credit. With pay-as-you-go, a credit costs 1¢; monthly plans cost less per credit.

### Do I need a Redfin account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from redfin.com when you run it; repeating the same request within a day may return the saved result. Fous checks this workflow automatically; it last passed a check on Sep 28, 2026.

### What homes are for sale in a location?

Search homes returns publicly listed homes by location, with optional price, home type, bedroom, bathroom, and sort filters.

### What are a home's details and history?

Get home returns property details, sale and tax histories, neighborhood scores, schools, climate risks, and photos for an address or Redfin home link.

### What are recent housing market prices in an area?

Get housing market returns market figures and monthly median sale prices for up to 12 months.

## Related

- [Realtor.com API](https://fous.com/workflows/realtor-com.md): Realtor.com returns home listings for sale, rent, or recently sold, property details and estimates, and local agent profiles; some fields or sold prices may be missing.
- [Zillow API](https://fous.com/workflows/zillow.md): Zillow provides homes for sale, rental listings, home details, estimates, and housing market figures; rental details, history, schools, estimates, and market figures may be missing or reflect different reporting dates.
- [Homes.com API](https://fous.com/workflows/homes-com.md): Search homes for sale in the United States.
- [Rightmove API](https://fous.com/workflows/rightmove.md): Rightmove searches UK homes for sale or rent and finds recent sold prices; searches return up to 100 listings, and area averages reflect returned properties only.
- [Domain.com.au API](https://fous.com/workflows/domain-com-au.md): Search Australian homes for sale, rent and recently sold on Domain.
- [Apartments.com API](https://fous.com/workflows/apartments-com.md): Apartments.com returns U.S. apartments and homes matching location and optional filters, plus community details; rent and availability may be missing or change.
- [HUD API](https://fous.com/workflows/hud.md): Official HUD housing research and Fair Market Rent data.
- [Zoopla API](https://fous.com/workflows/zoopla.md): UK homes for sale and to rent.
- [All Real estate workflows](https://fous.com/workflows/category/real-estate)
