Skip to main content
Glama

zillow_listing: GET /

hasdata_zillow_listing_getRealEstateListings
Read-only

Get Zillow Real Estate Listings

Searches Zillow for-sale, for-rent, and sold listings by keyword with rich filters (price, beds, baths, home type, year built, lot/square footage, HOA, listing status, amenities, views, pet policy, days on Zillow) and pagination. Returns each listing with address, Zillow URL/zpid, price, Zestimate, beds/baths, sqft, home type, status, days on Zillow, coordinates, thumbnail, and listing broker. Use for real-estate market dashboards, rental pricing analysis, agent lead lists, inventory tracking, and collecting URLs for the Zillow Property endpoint.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
hoaNoThe Homeowners Association (HOA) fee.
pageNoThe page number of the results to retrieve.
sortNoThe sorting option for the search results.
typeYesThe type of listing.
pets__NoAn array of pet options.
keywordYesThe keyword used to search for listings.
tours__NoAn array of tour options.
views__NoAn array of views.
keywordsNoAdditional keywords to refine the search.
beds_max_NoThe maximum number of bedrooms.
beds_min_NoThe minimum number of bedrooms.
basement__NoAn array of basement options.
baths_max_NoThe maximum number of bathrooms.
baths_min_NoThe minimum number of bathrooms.
moveInDateNoThe desired move-in date in `YYYY-MM-DD` format.
price_max_NoThe maximum price of the listing.
price_min_NoThe minimum price of the listing.
homeTypes__NoAn array of home types to filter the listings.
daysOnZillowNoThe number of days a listing has been on Zillow.
lotSize_max_NoThe maximum lot size.
lotSize_min_NoThe minimum lot size.
mustHaveGarageNoIf set to true, only listings with a garage will be included.
yearBuilt_max_NoThe maximum year the property was built.
yearBuilt_min_NoThe minimum year the property was built.
parkingSpotsMinNoThe minimum number of parking spots.
singleStoryOnlyNoIf set to true, only single-story properties will be included.
squareFeet_max_NoThe maximum square footage.
squareFeet_min_NoThe minimum square footage.
otherAmenities__NoAn array of other amenities.
propertyStatus__NoAn array of property statuses.
hide55plusCommunitiesNoIf set to true, 55+ communities will be excluded.
listingPublishOptions__NoAn array of listing publish options. Use `ownerPosted` for listings by owner and `agentListed` for listings by agent.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / listingPublishOptions__ / description
      Previous value: -"An array of listing publish options."New value: +"An array of listing publish options. Use `ownerPosted` for listings by owner and `agentListed` for listings by agent."
    • removedInput schema / properties / listingType
      Removed value: -{
      -  "description": "The category of the listing.",
      -  "enum": [
      -    "byAgent",
      -    "byOwner"
      -  ],
      -  "type": "string"
      -}
  2. Changed1 schema field changed
    • changedInput schema / properties / moveInDate / description
      Previous value: -"The desired move-in date."New value: +"The desired move-in date in `YYYY-MM-DD` format."
  3. Changed40 schema fields changed
    • removedInput schema / properties / basement[]
      Removed value: -{
      -  "description": "An array of basement options.",
      -  "items": {
      -    "enum": [
      -      "finished",
      -      "unfinished"
      -    ],
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • addedInput schema / properties / basement__
      Added value: +{
      +  "description": "An array of basement options.",
      +  "items": {
      +    "enum": [
      +      "finished",
      +      "unfinished"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • removedInput schema / properties / baths[max]
      Removed value: -{
      -  "description": "The maximum number of bathrooms.",
      -  "type": "number"
      -}
    • removedInput schema / properties / baths[min]
      Removed value: -{
      -  "description": "The minimum number of bathrooms.",
      -  "type": "number"
      -}
    • addedInput schema / properties / baths_max_
      Added value: +{
      +  "description": "The maximum number of bathrooms.",
      +  "type": "number"
      +}
    • addedInput schema / properties / baths_min_
      Added value: +{
      +  "description": "The minimum number of bathrooms.",
      +  "type": "number"
      +}
    • removedInput schema / properties / beds[max]
      Removed value: -{
      -  "description": "The maximum number of bedrooms.",
      -  "type": "number"
      -}
    • removedInput schema / properties / beds[min]
      Removed value: -{
      -  "description": "The minimum number of bedrooms.",
      -  "type": "number"
      -}
    • addedInput schema / properties / beds_max_
      Added value: +{
      +  "description": "The maximum number of bedrooms.",
      +  "type": "number"
      +}
    • addedInput schema / properties / beds_min_
      Added value: +{
      +  "description": "The minimum number of bedrooms.",
      +  "type": "number"
      +}
    • removedInput schema / properties / homeTypes[]
      Removed value: -{
      -  "description": "An array of home types to filter the listings.",
      -  "items": {
      -    "enum": [
      -      "house",
      -      "townhome",
      -      "multiFamily",
      -      "condo",
      -      "lot",
      -      "apartment",
      -      "manufactured"
      -    ],
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • addedInput schema / properties / homeTypes__
      Added value: +{
      +  "description": "An array of home types to filter the listings.",
      +  "items": {
      +    "enum": [
      +      "house",
      +      "townhome",
      +      "multiFamily",
      +      "condo",
      +      "lot",
      +      "apartment",
      +      "manufactured"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • removedInput schema / properties / listingPublishOptions[]
      Removed value: -{
      -  "description": "An array of listing publish options.",
      -  "items": {
      -    "enum": [
      -      "ownerPosted",
      -      "agentListed",
      -      "newConstruction",
      -      "foreclosures",
      -      "auctions",
      -      "foreclosed",
      -      "preForeclosures"
      -    ],
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • addedInput schema / properties / listingPublishOptions__
      Added value: +{
      +  "description": "An array of listing publish options.",
      +  "items": {
      +    "enum": [
      +      "ownerPosted",
      +      "agentListed",
      +      "newConstruction",
      +      "foreclosures",
      +      "auctions",
      +      "foreclosed",
      +      "preForeclosures"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • removedInput schema / properties / lotSize[max]
      Removed value: -{
      -  "description": "The maximum lot size.",
      -  "type": "number"
      -}
    • removedInput schema / properties / lotSize[min]
      Removed value: -{
      -  "description": "The minimum lot size.",
      -  "type": "number"
      -}
    • addedInput schema / properties / lotSize_max_
      Added value: +{
      +  "description": "The maximum lot size.",
      +  "type": "number"
      +}
    • addedInput schema / properties / lotSize_min_
      Added value: +{
      +  "description": "The minimum lot size.",
      +  "type": "number"
      +}
    • removedInput schema / properties / otherAmenities[]
      Removed value: -{
      -  "description": "An array of other amenities.",
      -  "items": {
      -    "enum": [
      -      "ac",
      -      "pool",
      -      "waterfront",
      -      "onsiteParking",
      -      "inUnitLaundry",
      -      "acceptZillowApplications",
      -      "incomeRestricted",
      -      "apartmentCommunity"
      -    ],
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • addedInput schema / properties / otherAmenities__
      Added value: +{
      +  "description": "An array of other amenities.",
      +  "items": {
      +    "enum": [
      +      "ac",
      +      "pool",
      +      "waterfront",
      +      "onsiteParking",
      +      "inUnitLaundry",
      +      "acceptZillowApplications",
      +      "incomeRestricted",
      +      "apartmentCommunity"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • removedInput schema / properties / pets[]
      Removed value: -{
      -  "description": "An array of pet options.",
      -  "items": {
      -    "enum": [
      -      "allowsLargeDogs",
      -      "allowsSmallDogs",
      -      "allowsCats"
      -    ],
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • addedInput schema / properties / pets__
      Added value: +{
      +  "description": "An array of pet options.",
      +  "items": {
      +    "enum": [
      +      "allowsLargeDogs",
      +      "allowsSmallDogs",
      +      "allowsCats"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • removedInput schema / properties / price[max]
      Removed value: -{
      -  "description": "The maximum price of the listing.",
      -  "type": "number"
      -}
    • removedInput schema / properties / price[min]
      Removed value: -{
      -  "description": "The minimum price of the listing.",
      -  "type": "number"
      -}
    • addedInput schema / properties / price_max_
      Added value: +{
      +  "description": "The maximum price of the listing.",
      +  "type": "number"
      +}
    • addedInput schema / properties / price_min_
      Added value: +{
      +  "description": "The minimum price of the listing.",
      +  "type": "number"
      +}
    • removedInput schema / properties / propertyStatus[]
      Removed value: -{
      -  "description": "An array of property statuses.",
      -  "items": {
      -    "enum": [
      -      "comingSoon",
      -      "acceptingBackupOffers",
      -      "pendingAndUnderContract"
      -    ],
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • addedInput schema / properties / propertyStatus__
      Added value: +{
      +  "description": "An array of property statuses.",
      +  "items": {
      +    "enum": [
      +      "comingSoon",
      +      "acceptingBackupOffers",
      +      "pendingAndUnderContract"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • removedInput schema / properties / squareFeet[max]
      Removed value: -{
      -  "description": "The maximum square footage.",
      -  "type": "number"
      -}
    • removedInput schema / properties / squareFeet[min]
      Removed value: -{
      -  "description": "The minimum square footage.",
      -  "type": "number"
      -}
    • addedInput schema / properties / squareFeet_max_
      Added value: +{
      +  "description": "The maximum square footage.",
      +  "type": "number"
      +}
    • addedInput schema / properties / squareFeet_min_
      Added value: +{
      +  "description": "The minimum square footage.",
      +  "type": "number"
      +}
    • removedInput schema / properties / tours[]
      Removed value: -{
      -  "description": "An array of tour options.",
      -  "items": {
      -    "enum": [
      -      "open",
      -      "3d"
      -    ],
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • addedInput schema / properties / tours__
      Added value: +{
      +  "description": "An array of tour options.",
      +  "items": {
      +    "enum": [
      +      "open",
      +      "3d"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • removedInput schema / properties / views[]
      Removed value: -{
      -  "description": "An array of views.",
      -  "items": {
      -    "enum": [
      -      "city",
      -      "mountain",
      -      "park",
      -      "water"
      -    ],
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • addedInput schema / properties / views__
      Added value: +{
      +  "description": "An array of views.",
      +  "items": {
      +    "enum": [
      +      "city",
      +      "mountain",
      +      "park",
      +      "water"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • removedInput schema / properties / yearBuilt[max]
      Removed value: -{
      -  "description": "The maximum year the property was built.",
      -  "type": "number"
      -}
    • removedInput schema / properties / yearBuilt[min]
      Removed value: -{
      -  "description": "The minimum year the property was built.",
      -  "type": "number"
      -}
    • addedInput schema / properties / yearBuilt_max_
      Added value: +{
      +  "description": "The maximum year the property was built.",
      +  "type": "number"
      +}
    • addedInput schema / properties / yearBuilt_min_
      Added value: +{
      +  "description": "The minimum year the property was built.",
      +  "type": "number"
      +}
  4. First observed

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds valuable context by enumerating the returned fields (address, zpid, Zestimate, coordinates, broker, etc.), which matters given there is no output schema, though pagination behavior and rate limits remain unexplained.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured and front-loaded: purpose first, then capability/filters, then returns, then use cases. Each sentence earns its place, though the filter enumeration partially restates schema content and the description is on the long side.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 32-parameter search tool with no output schema, the description compensates by summarizing return fields and listing use cases, so an agent knows what it gets back. It is nearly complete, missing only pagination semantics and an explicit call-out of the two required parameters (keyword, type).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all 32 parameters are already documented. The description broadly enumerates filter categories (price, beds, baths, home type, HOA, views, pet policy) but adds no syntax, format, or interaction detail beyond what the schema provides. Baseline 3 applies when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Searches/Get) and resource (Zillow Real Estate Listings), and specifies the three listing types (for-sale, for-rent, sold). It distinguishes itself from the sibling property endpoint by noting it collects URLs 'for the Zillow Property endpoint,' giving an agent a clear routing signal.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides concrete use cases (market dashboards, rental pricing analysis, agent lead lists, inventory tracking) and a downstream relationship to the Zillow Property endpoint. However, it names no explicit alternative tool or 'when-not-to-use' condition, leaving the sibling boundary to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources