SimplyRETS MCP by usefulapi
Search SimplyRETS MLS listings and open houses; read listing and market analytics.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (2)
- LOWen simplyrets_get_market_analytics
- LOWen simplyrets_get_listing_analytics
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"simplyrets": {
"url": "https://simplyrets.usefulapi.io/mcp"
}
}
}Puntos de conexión remotos
https://simplyrets.usefulapi.io/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (10)
🟢simplyrets_get_account_info
What these API credentials can reach: the MLS vendor ids (needed as `vendor` on multi-MLS apps), the time of each vendor's last sync, usernames and the available endpoints (/properties, /openhouses, /agents, /offices, /properties/analytics). OPTIONS /.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢simplyrets_get_feed_metadata(vendor)
Values present in an MLS feed, to build valid searches: statuses, property types, cities, counties, neighborhoods, areas and features, plus the last sync time. OPTIONS /properties.
Esquema de entrada
{
"type": "object",
"properties": {
"vendor": {
"description": "MLS vendor id; required on multi-MLS apps (simplyrets_get_account_info lists them).",
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢simplyrets_search_listings(q, status, type, subtype, agent, ...)
Search MLS listings (SimplyRETS /properties): by keyword, status, type, price, beds, baths, area, year, city, zip, neighborhood, agent, broker, features or a map polygon. Returns address, price, status, photos, agent, office, property details and remarks, without empty fields. Pass count=true to get the total. Page with next.offset or next.lastId. GET /properties.
Esquema de entrada
{
"type": "object",
"properties": {
"q": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Keyword search over MLS number, street, unit, city, postal code, subdivision and area; several values match any."
},
"status": {
"description": "Listing status (default Active). Closed = sold or leased.",
"minItems": 1,
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"enum": [
"Active",
"Pending",
"Closed",
"ActiveUnderContract",
"Hold",
"Withdrawn",
"Expired",
"Delete",
"Incomplete",
"ComingSoon"
]
}
},
"type": {
"description": "Property type (default residential and rental).",
"minItems": 1,
"maxItems": 9,
"type": "array",
"items": {
"type": "string",
"enum": [
"residential",
"rental",
"mobilehome",
"condominium",
"multifamily",
"commercial",
"commerciallease",
"land",
"farm"
]
}
},
"subtype": {
"description": "Property sub type; not every feed supports every value.",
"minItems": 1,
"maxItems": 25,
"type": "array",
"items": {
"type": "string",
"enum": [
"apartment",
"boatslip",
"singlefamilyresidence",
"deededparking",
"cabin",
"condominium",
"duplex",
"manufacturedhome",
"ownyourown",
"quadruplex",
"stockcooperative",
"townhouse",
"timeshare",
"triplex",
"manufacturedonland",
"farmandranch",
"agriculture",
"business",
"hotelmotel",
"industrial",
"mixeduse",
"officespace",
"retail",
"unimprovedland",
"warehouse"
]
}
},
"agent": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Listing agent MLS ids (the co-listing agent is not matched)."
},
"salesAgent": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Selling agent MLS ids (sales.agent)."
},
"brokers": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Broker or listing office ids, as your MLS provides them."
},
"minprice": {
"description": "Minimum price.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"maxprice": {
"description": "Maximum price.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"minarea": {
"description": "Minimum living area, sq ft.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"maxarea": {
"description": "Maximum living area, sq ft.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"minbaths": {
"description": "Minimum bathrooms.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"maxbaths": {
"description": "Maximum bathrooms.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"minbeds": {
"description": "Minimum bedrooms.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"maxbeds": {
"description": "Maximum bedrooms.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"maxdom": {
"description": "Maximum days on market (needs Days on Market data in the feed).",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"minyear": {
"description": "Minimum year built.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"maxyear": {
"description": "Maximum year built.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"minacres": {
"description": "Minimum acreage.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"maxacres": {
"description": "Maximum acreage.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"minGarageSpaces": {
"description": "Minimum garage spaces.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"maxGarageSpaces": {
"description": "Maximum garage spaces.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"postalCodes": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Postal / zip codes."
},
"cities": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Cities (case-insensitive). simplyrets_get_feed_metadata lists the cities in the feed."
},
"counties": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Counties (case-insensitive)."
},
"neighborhoods": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Neighborhoods or subdivisions (case-insensitive)."
},
"features": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Interior features, e.g. 'Wet Bar'."
},
"exteriorFeatures": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Exterior features, e.g. 'Porch'."
},
"pool": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Pool: 'true', 'false' or a value such as 'Private'."
},
"water": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Water body: 'true', 'false' or a value."
},
"points": {
"description": "A polygon of 'lat,lng' points (3 or more); returns listings inside it. Needs latitude/longitude in the feed.",
"minItems": 3,
"maxItems": 100,
"type": "array",
"items": {
"type": "string",
"pattern": "^-?\\d{1,3}(\\.\\d+)?\\s*,\\s*-?\\d{1,3}(\\.\\d+)?$"
}
},
"idx": {
"description": "IDX display filter. Default 'null' hides listings whose address or entire listing may not be displayed online; 'ignore' returns them too. Your MLS's display rules still bind how you use the data.",
"type": "string",
"enum": [
"null",
"listing",
"address",
"ignore"
]
},
"vendor": {
"description": "MLS vendor id; required on multi-MLS apps (simplyrets_get_account_info lists them).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"subTypeText": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Original MLS sub type text values."
},
"coListAgent": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Co-listing agent MLS ids."
},
"specialListingConditions": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Special conditions such as REO, Short Sale or Auction (feed dependent)."
},
"ownership": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Ownership values (feed dependent)."
},
"state": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "State or province (case-insensitive)."
},
"minlistdate": {
"description": "Listed on or after this date or date-time (UTC unless a timezone is given).",
"type": "string",
"pattern": "^(\\d{4}-\\d{2}-\\d{2}|\\d{1,2}\\/\\d{1,2}\\/\\d{4})([T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,9})?)?( ?(Z|[+-]\\d{2}:?\\d{2}|[A-Za-z]{2,5}))?)?$"
},
"maxlistdate": {
"description": "Listed on or before this date or date-time (UTC unless a timezone is given).",
"type": "string",
"pattern": "^(\\d{4}-\\d{2}-\\d{2}|\\d{1,2}\\/\\d{1,2}\\/\\d{4})([T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,9})?)?( ?(Z|[+-]\\d{2}:?\\d{2}|[A-Za-z]{2,5}))?)?$"
},
"modified": {
"description": "Only listings whose MLS modification time is on or after this date or date-time.",
"type": "string",
"pattern": "^(\\d{4}-\\d{2}-\\d{2}|\\d{1,2}\\/\\d{1,2}\\/\\d{4})([T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,9})?)?( ?(Z|[+-]\\d{2}:?\\d{2}|[A-Za-z]{2,5}))?)?$"
},
"include": {
"description": "Extra fields: compliance (IDX display data) and rooms (when the feed has them).",
"minItems": 1,
"maxItems": 2,
"type": "array",
"items": {
"type": "string",
"enum": [
"compliance",
"rooms"
]
}
},
"sort": {
"description": "Sort field; a leading minus is descending. Ignored with lastId.",
"type": "string",
"enum": [
"listprice",
"-listprice",
"listdate",
"-listdate",
"closedate",
"-closedate",
"beds",
"-beds",
"baths",
"-baths"
]
},
"count": {
"description": "Also return the total number of matches (slower on big feeds).",
"type": "boolean"
},
"limit": {
"description": "Results per page, 1-100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Records to skip (the previous reply's next.offset). Do not combine with lastId.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"lastId": {
"description": "Cursor: 0 for the first page, then the previous reply's next.lastId (sort is ignored when set).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢simplyrets_get_listing(mlsId, include, vendor)
One listing by its SimplyRETS id (`mlsId`, the number in search results; NOT the public MLS number `listingId`). Full detail: address, geo, price, photos, agent, office, property, school, tax, remarks. GET /properties/{mlsId}.
Esquema de entrada
{
"type": "object",
"properties": {
"mlsId": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "SimplyRETS listing id (the `mlsId` field of a search result)."
},
"include": {
"description": "Extra fields to include, when the feed has them.",
"minItems": 1,
"maxItems": 7,
"type": "array",
"items": {
"type": "string",
"enum": [
"association",
"agreement",
"garageSpaces",
"maintenanceExpense",
"parking",
"pool",
"rooms"
]
}
},
"vendor": {
"description": "MLS vendor id; required on multi-MLS apps (simplyrets_get_account_info lists them).",
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"required": [
"mlsId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢simplyrets_list_open_houses(type, listingId, cities, brokers, agent, ...)
Upcoming open houses with the listing they belong to: filter by property type, listing id, city, broker, agent, price, size, beds, baths and start date. Page with next.offset or next.lastId. GET /openhouses.
Esquema de entrada
{
"type": "object",
"properties": {
"type": {
"description": "Property type of the listing (default residential; one type per query).",
"type": "string",
"enum": [
"residential",
"rental",
"mobilehome",
"condominium",
"multifamily",
"commercial",
"commerciallease",
"land",
"farm"
]
},
"listingId": {
"description": "Only open houses for this public MLS listing id.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"cities": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Cities (case-insensitive)."
},
"brokers": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Broker ids."
},
"agent": {
"description": "Agent id.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"minprice": {
"description": "Minimum listing price.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"maxprice": {
"description": "Maximum listing price.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"minarea": {
"description": "Minimum living area, sq ft.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"minbeds": {
"description": "Minimum bedrooms.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"minbaths": {
"description": "Minimum bathrooms.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"startdate": {
"description": "Scheduled start of the open house.",
"type": "string",
"pattern": "^(\\d{4}-\\d{2}-\\d{2}|\\d{1,2}\\/\\d{1,2}\\/\\d{4})([T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,9})?)?( ?(Z|[+-]\\d{2}:?\\d{2}|[A-Za-z]{2,5}))?)?$"
},
"sort": {
"description": "Sort field; a leading minus is descending. Ignored with lastId.",
"type": "string",
"enum": [
"listprice",
"-listprice",
"listdate",
"-listdate",
"beds",
"-beds",
"baths",
"-baths"
]
},
"include": {
"description": "Extra fields: rooms.",
"minItems": 1,
"maxItems": 1,
"type": "array",
"items": {
"type": "string",
"enum": [
"rooms"
]
}
},
"vendor": {
"description": "MLS vendor id; required on multi-MLS apps (simplyrets_get_account_info lists them).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"limit": {
"description": "Results per page, 1-100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Records to skip (the previous reply's next.offset). Do not combine with lastId.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"lastId": {
"description": "Cursor: 0 for the first page, then the previous reply's next.lastId (sort is ignored when set).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢simplyrets_get_open_house(openHouseKey, include, vendor)
One open house by its key (the `openHouseKey` of a list result). GET /openhouses/{openHouseKey}.
Esquema de entrada
{
"type": "object",
"properties": {
"openHouseKey": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Open house key from simplyrets_list_open_houses."
},
"include": {
"description": "Extra fields: rooms.",
"minItems": 1,
"maxItems": 1,
"type": "array",
"items": {
"type": "string",
"enum": [
"rooms"
]
}
},
"vendor": {
"description": "MLS vendor id; required on multi-MLS apps (simplyrets_get_account_info lists them).",
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"required": [
"openHouseKey"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢simplyrets_list_agents(q, name, state, vendor, limit, ...)
The agent roster of the MLS feed: id, name, address, contact and office. Needs the Agents API add-on on your SimplyRETS app (the demo credentials return an empty list). GET /agents.
Esquema de entrada
{
"type": "object",
"properties": {
"q": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Search agent ids and email addresses."
},
"name": {
"description": "First name, last name or both.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"state": {
"description": "Agent address state.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"vendor": {
"description": "MLS vendor id; required on multi-MLS apps (simplyrets_get_account_info lists them).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"limit": {
"description": "Results per page, 1-100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Records to skip (the previous reply's next.offset). Do not combine with lastId.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢simplyrets_list_offices(q, name, state, username, count, ...)
The brokerage office roster of the MLS feed, newest modification first. Needs the Offices API add-on on your SimplyRETS app (the demo credentials cannot use it). Pass count=true for the total. GET /offices.
Esquema de entrada
{
"type": "object",
"properties": {
"q": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Match office MLS id, main office MLS id, email (exact) or name (partial)."
},
"name": {
"description": "Partial, case-insensitive office name.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"state": {
"description": "Partial, case-insensitive state.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"username": {
"description": "Feed username, when the credentials have several for the vendor.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"count": {
"description": "Also return the total number of matches.",
"type": "boolean"
},
"vendor": {
"description": "MLS vendor id; required on multi-MLS apps (simplyrets_get_account_info lists them).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"limit": {
"description": "Results per page, 1-100 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Records to skip (the previous reply's next.offset). Do not combine with lastId.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢simplyrets_get_market_analytics(q, status, type, subtype, agent, ...)
Statistics for the listings a search matches (same filters as simplyrets_search_listings): total count, average price, bedrooms, full baths, living area, lot size and year built, and the number of listings per area. Use it for market summaries of a city, zip or price band. GET /properties/analytics.
Esquema de entrada
{
"type": "object",
"properties": {
"q": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Keyword search over MLS number, street, unit, city, postal code, subdivision and area; several values match any."
},
"status": {
"description": "Listing status (default Active). Closed = sold or leased.",
"minItems": 1,
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"enum": [
"Active",
"Pending",
"Closed",
"ActiveUnderContract",
"Hold",
"Withdrawn",
"Expired",
"Delete",
"Incomplete",
"ComingSoon"
]
}
},
"type": {
"description": "Property type (default residential and rental).",
"minItems": 1,
"maxItems": 9,
"type": "array",
"items": {
"type": "string",
"enum": [
"residential",
"rental",
"mobilehome",
"condominium",
"multifamily",
"commercial",
"commerciallease",
"land",
"farm"
]
}
},
"subtype": {
"description": "Property sub type; not every feed supports every value.",
"minItems": 1,
"maxItems": 25,
"type": "array",
"items": {
"type": "string",
"enum": [
"apartment",
"boatslip",
"singlefamilyresidence",
"deededparking",
"cabin",
"condominium",
"duplex",
"manufacturedhome",
"ownyourown",
"quadruplex",
"stockcooperative",
"townhouse",
"timeshare",
"triplex",
"manufacturedonland",
"farmandranch",
"agriculture",
"business",
"hotelmotel",
"industrial",
"mixeduse",
"officespace",
"retail",
"unimprovedland",
"warehouse"
]
}
},
"agent": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Listing agent MLS ids (the co-listing agent is not matched)."
},
"salesAgent": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Selling agent MLS ids (sales.agent)."
},
"brokers": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Broker or listing office ids, as your MLS provides them."
},
"minprice": {
"description": "Minimum price.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"maxprice": {
"description": "Maximum price.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"minarea": {
"description": "Minimum living area, sq ft.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"maxarea": {
"description": "Maximum living area, sq ft.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"minbaths": {
"description": "Minimum bathrooms.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"maxbaths": {
"description": "Maximum bathrooms.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"minbeds": {
"description": "Minimum bedrooms.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"maxbeds": {
"description": "Maximum bedrooms.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"maxdom": {
"description": "Maximum days on market (needs Days on Market data in the feed).",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"minyear": {
"description": "Minimum year built.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"maxyear": {
"description": "Maximum year built.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"minacres": {
"description": "Minimum acreage.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"maxacres": {
"description": "Maximum acreage.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"minGarageSpaces": {
"description": "Minimum garage spaces.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"maxGarageSpaces": {
"description": "Maximum garage spaces.",
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"postalCodes": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Postal / zip codes."
},
"cities": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Cities (case-insensitive). simplyrets_get_feed_metadata lists the cities in the feed."
},
"counties": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Counties (case-insensitive)."
},
"neighborhoods": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Neighborhoods or subdivisions (case-insensitive)."
},
"features": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Interior features, e.g. 'Wet Bar'."
},
"exteriorFeatures": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Exterior features, e.g. 'Porch'."
},
"pool": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Pool: 'true', 'false' or a value such as 'Private'."
},
"water": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": "Water body: 'true', 'false' or a value."
},
"points": {
"description": "A polygon of 'lat,lng' points (3 or more); returns listings inside it. Needs latitude/longitude in the feed.",
"minItems": 3,
"maxItems": 100,
"type": "array",
"items": {
"type": "string",
"pattern": "^-?\\d{1,3}(\\.\\d+)?\\s*,\\s*-?\\d{1,3}(\\.\\d+)?$"
}
},
"idx": {
"description": "IDX display filter. Default 'null' hides listings whose address or entire listing may not be displayed online; 'ignore' returns them too. Your MLS's display rules still bind how you use the data.",
"type": "string",
"enum": [
"null",
"listing",
"address",
"ignore"
]
},
"vendor": {
"description": "MLS vendor id; required on multi-MLS apps (simplyrets_get_account_info lists them).",
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢simplyrets_get_listing_analytics(mlsId, vendor)
Analytics for one listing, such as its price per square foot. GET /properties/{mlsId}/analytics.
Esquema de entrada
{
"type": "object",
"properties": {
"mlsId": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "SimplyRETS listing id (the `mlsId` field of a search result)."
},
"vendor": {
"description": "MLS vendor id; required on multi-MLS apps (simplyrets_get_account_info lists them).",
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"required": [
"mlsId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Comunidad
Evidencia