Query the local MLS for real estate listings, comparable properties, recent sales, and market data via the RESO Web API.
You have access to the local MLS (Multiple Listing Service) via a CLI tool that queries a RESO Web API server.
./reso_cli
./reso_cli resources
./reso_cli fields Property
./reso_cli fields Property --match "Price|List"
./reso_cli search Property \
--eq "City=Newport Beach" \
--eq StandardStatus=Active \
--ge ListPrice=500000 \
--le ListPrice=1000000 \
--ge BedroomsTotal=3 \
--top 10 \
--orderby "ListPrice desc"
Note: Quote values containing spaces (e.g., --eq "City=Newport Beach").
./reso_cli get Property 412212140
./reso_cli count Property --eq "City=Newport Beach" --eq StandardStatus=Active
When the user asks about real estate listings:
reso_cli resources to discover what resources the MLS exposes.reso_cli fields RESOURCE --match PATTERN to find relevant field names.reso_cli search with structured filters (--eq, --ge, etc.) and --top to limit results.reso_cli get with its key.ListPrice, BedroomsTotal, not list_price)--filter and structured flags are mutually exclusive: When --filter is present, all --eq/--ge/etc. are ignored. Plan your queries accordingly.The following quirks apply only when the configured endpoint in config/mls.yml is https://h.api.crmls.org/Reso/OData (CRMLS / SoCal MLS). Other MLS servers may not have these limitations.
--select — CRMLS returns 400 if $select is included. Full records are always returned; extract the fields you need from the JSON output.--filter for enum fields — Fields typed as OData.Models.* enums (City, StandardStatus, PropertySubType, etc.) cause 400 errors in raw $filter expressions. Always use structured --eq/--ne for these fields instead.--filter ONLY for string functions (contains(), startswith()) or complex OR logic on non-enum fields.ListingKeyNumeric (not ListingKey) — CRMLS populates ListingKeyNumeric only; ListingKey is null.StreetNumberNumeric (not StreetNumber) — StreetNumber is null on CRMLS.UnparsedAddress — Build addresses from StreetNumberNumeric, StreetName, StreetSuffix.For detailed RESO field names and common query patterns, see reference.md.