Skip to main content
Glama

Search active (or inactive) sale listings

search_sale_listings
Read-onlyIdempotent

Return a page of for-sale listings (list price, status, days on market, MLS name/number, listing agent + office contact, and price/status history) for a location. Same location-pinning rules as search_properties (address, city+state(+zipCode), or latitude+longitude+radius). Each record is tagged listingKind:"sale". Listings move faster than records, so these are cached only 30 minutes upstream.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityNoCity name; combine with state for an area search.
limitNoMax listings to return per page. Default 50.
priceNoListed price; supports ranges and multiple values.
stateNo2-character state abbreviation.
offsetNoNumber of listings to skip, for pagination. Default 0.
radiusNoSearch radius in miles (max 100); used with latitude/longitude.
statusNoListing status to return; defaults to Active.
addressNoFull address to match a specific listing.
daysOldNoMax days since the listing was last seen (min 1).
lotSizeNoLot size in square feet; supports ranges and multiple values.
zipCodeNo5-digit ZIP code.
bedroomsNoBedroom count; supports ranges and multiple values.
latitudeNoLatitude of the search center; requires longitude and radius.
bathroomsNoBathroom count; supports fractions, ranges, and multiple values.
longitudeNoLongitude of the search center; requires latitude and radius.
yearBuiltNoYear built; supports ranges and multiple values.
propertyTypeNoFilter by property type.
squareFootageNoLiving-area square footage; supports ranges and multiple values.
includeTotalCountNoWhen true, RentCast also returns the total matching count. Default false.

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnly/openWorld/idempotent/non-destructive annotations, the description discloses that listings are cached only 30 minutes upstream due to faster movement than records, and that each record is tagged with listingKind:"sale". This adds meaningful behavioral context beyond annotations.

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

Conciseness5/5

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

Three sentences; front-loaded with the main purpose and return fields. The reference to search_properties avoids repeating location rules, and the cache note is one brief sentence. No wasted words.

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

Completeness5/5

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

For a 19-parameter search tool with no output schema, the description covers the core return fields, location constraints, record tagging, and caching behavior. It is sufficiently complete for an agent to understand what the tool does and how to invoke it effectively.

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

Parameters4/5

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

The input schema covers 100% of parameters with descriptions, so the baseline is 3. The description adds value by explaining the valid location-pinning combinations (address, city+state(+zipCode), or latitude+longitude+radius), which is not obvious from inspecting each parameter individually. It does not repeat per-parameter details.

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?

The description clearly states the tool returns a page of for-sale listings with specific fields (list price, status, days on market, etc.). It explicitly tags records as listingKind:"sale" and references search_properties for location rules, distinguishing it from the rental listing sibling.

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?

The description gives clear context: it is for for-sale listings and follows the same location-pinning rules as search_properties (address, city+state(+zipCode), or latitude/longitude/radius). It implies use for current sale listings versus rentals, but does not explicitly name alternatives or state when not to use it.

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.

TDQS

A4.5/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: avm_rent and avm_value target rent vs. property value, while search_properties, search_rental_listings, and search_sale_listings each address different record types (property records, rental listings, sale listings). get_property is the only single-record retrieval tool. No overlap or ambiguity exists.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern: avm_rent/avm_value, search_properties/search_rental_listings/search_sale_listings, and get_property. The naming is predictable and uniformly formatted with action prefixes and clear resource targets.

Tool Count5/5

With 6 tools, the set is well-scoped for a real estate data server, covering property search, property detail, valuation models, and both rental and sale listings. Each tool earns its place without redundancy or excessive granularity.

Completeness5/5

The tool surface comprehensively covers the domain: property search with detailed records, single-property lookup, AVM for both rent and sale value, and listing search for both rental and sale. The read-only nature of the API means no CRUD operations are expected, and no obvious gaps remain for core workflows.