---
title: "Search for properties on Zillow"
method: POST
path: "/zillow/search-properties"
tags: ["Zillow"]
---

# Search for properties on Zillow

`POST /zillow/search-properties`

## Request

- Base URL: `https://api.exfunc.dev`
- URL: `https://api.exfunc.dev/zillow/search-properties`
- Auth: API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/carvedai/apis/exfunc-apis/docs/zillow/search-properties/post.ts> (a function with typed inputs; its response is checked against the schema)

Search for properties on Zillow for a given location, listing status, and other criteria

## Request body

- object
  - `location` string, required: The location to search for properties
  - `listing_status` 'for_sale' | 'for_rent' | 'sold', required: The status of the listings (e.g., "for_sale", "for_rent")
  - `sort_by` 'homes_for_you' | 'rental_priority_score' | 'price_high_to_low' | 'price_low_to_high' | 'newest' | 'bedrooms' | 'bathrooms' | 'square_feet' | 'lot_size' | 'year_built': The criteria to sort the results (e.g., "newest", "lot_size")
  - `page` integer: The page number of results to retrieve
  - `min_listing_price` number: The minimum listing price for the properties
  - `max_listing_price` number: The maximum listing price for the properties
  - `min_num_bedrooms` 'any' | 'studio' | '1' | '2' | '3' | '4' | '5': The minimum number of bedrooms
  - `max_num_bedrooms` 'any' | 'studio' | '1' | '2' | '3' | '4' | '5': The maximum number of bedrooms

## Response `200`

SearchProperties API successful response

- object
  - `properties` ZillowProperty[]
    - `property_id` integer: Unique identifier for the property
    - `address` object: The physical address of the property
      - `streetAddress` string: The street address of the building
      - `zipcode` string: The zipcode of the building
      - `city` string: The city of the building
      - `state` string: The state of the building
      - `buildingId` integer: The ID of the building
    - `photos` string[]: List of photo URLs for the property
    - `bathrooms` number, float, nullable: Number of bathrooms in the property
    - `bedrooms` integer, nullable: Number of bedrooms in the property
    - `living_area` number, float, nullable: The living area of the property in square feet
    - `year_built` integer, nullable: The year the property was built
    - `property_type` string: Type of the property (e.g. house, condo)
    - `listing_status` string: Status of the listing (e.g. forSale, sold)
    - `days_on_zillow` integer, nullable: Number of days the property has been listed on Zillow
    - `price` number, float: Listing price of the property
    - `zestimate` number, float, nullable: Zillow's estimated value of the property
    - `rent_zestimate` number, float, nullable: Zillow's estimated value of the rent for the property
    - `price_history` ZillowPriceHistoryEvent[]
      - `date_posted` string: The date of the price change
      - `price` number, float, nullable: The price of the property at the given date
      - `time_epoch` integer: Time of the price change in epoch format
      - `price_per_square_foot` number, float, nullable: Price per square foot at the given date
      - `price_change_rate` number, float: Rate of change in price over time
      - `event` string: Description of the event (e.g., price increase, price decrease)
      - `source` string: Source of the price history data
      - `is_rental` boolean: Indicates if the property is a rental

## Other responses

- `400`: User error response
- `500`: Server error response

## Changes

- **2024-12-02** `f5fc570f7d09`: 1 warning, 1 info
  - removed the optional property `properties/items/price_history/items/date` from the response with the `200` status
  - added the optional property `properties/items/price_history/items/date_posted` to the response with the `200` status
- **2024-11-20** `ba9d76d35d0b`: 2 breaking
  - the response property `properties/items/bathrooms` became nullable for the status `200`
  - the response property `properties/items/bedrooms` became nullable for the status `200`
- **2024-11-05** `57c3c3ae1e29`: 7 breaking
  - the response property `properties/items/days_on_zillow` became nullable for the status `200`
  - the response property `properties/items/living_area` became nullable for the status `200`
  - the response property `properties/items/price_history/items/price` became nullable for the status `200`
  - the response property `properties/items/price_history/items/price_per_square_foot` became nullable for the status `200`
  - …3 more
- **2024-11-04** `74bc9782b6a9`: 1 warning, 1 info
  - removed the optional property `results` from the response with the `200` status
  - added the optional property `properties` to the response with the `200` status

[Operation history](https://skmtc.dev/carvedai/apis/exfunc-apis/changes/zillow/search-properties/post.md)

---

[API](https://skmtc.dev/carvedai/apis/exfunc-apis.md) - [All operations](https://skmtc.dev/carvedai/apis/exfunc-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/carvedai/apis/exfunc-apis/revisions/22587fdf9a5e?raw)
