IDX Broker MCP by usefulapi

Read IDX Broker leads, agents, listings and MLS data; create and update leads and notes.

我該用這個嗎

品質與安全性

A
說明品質
98%
結構描述完整度
91%
命名品質
80%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~7,526Token(工具定義)
~2.2 KB典型回應大小
顯著的注意力影響(128k 上下文的 5.88%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "idx-broker": {
      "url": "https://idx-broker.usefulapi.io/mcp"
    }
  }
}

遠端端點

https://idx-broker.usefulapi.io/mcpstreamable-http

它能做什麼

工具清單

工具(27)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢idx_get_account_info

The IDX Broker client account this access key belongs to: company and contact details and account settings (access keys and passwords are never returned). The reply also shows how many of the key's hourly API accesses are used. GET /clients/accountinfo.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idx_get_account_type

The IDX Broker plan of the account (Lite or Platinum). It sets the hourly API limit: 300 accesses per key on Lite, 500 on Platinum. GET /clients/accounttype.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idx_list_agents(filter_field, filter_value, date_type, interval, start_datetime, ...)

Agents on a multi-user IDX Broker account (id, name, office, contact details, category, language, login dates). Filter by one field or by a time window. GET /clients/agents.

輸入結構描述

{
  "type": "object",
  "properties": {
    "filter_field": {
      "description": "Field to filter on; needs filter_value.",
      "type": "string",
      "enum": [
        "agentID",
        "officeID",
        "category",
        "language",
        "agentName"
      ]
    },
    "filter_value": {
      "description": "Value to match in filter_field.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "date_type": {
      "description": "Which date the time window applies to.",
      "type": "string",
      "enum": [
        "accountCreated",
        "lastLoginDate"
      ]
    },
    "interval": {
      "description": "Hours of data to return, counted back from start_datetime (default: now). 0.0166 (one minute) to 8765; decimals allowed.",
      "type": "number",
      "minimum": 0.0166,
      "maximum": 8765
    },
    "start_datetime": {
      "description": "Where the interval starts counting back (the newest moment wanted). Default: now. ISO 8601 with a timezone.",
      "type": "string"
    },
    "fields": {
      "description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
      "minItems": 1,
      "maxItems": 60,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Za-z0-9_*]{1,60}$"
      }
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idx_list_offices(filter_field, filter_value, date_type, interval, start_datetime, ...)

Offices on a multi-user IDX Broker account. Filter by one field or by a time window. GET /clients/offices.

輸入結構描述

{
  "type": "object",
  "properties": {
    "filter_field": {
      "description": "Field to filter on; needs filter_value.",
      "type": "string",
      "enum": [
        "officeID",
        "stateprovince",
        "zipcode"
      ]
    },
    "filter_value": {
      "description": "Value to match in filter_field.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "date_type": {
      "description": "Which date the time window applies to.",
      "type": "string",
      "enum": [
        "accountCreated",
        "lastUpdate"
      ]
    },
    "interval": {
      "description": "Hours of data to return, counted back from start_datetime (default: now). 0.0166 (one minute) to 8765; decimals allowed.",
      "type": "number",
      "minimum": 0.0166,
      "maximum": 8765
    },
    "start_datetime": {
      "description": "Where the interval starts counting back (the newest moment wanted). Default: now. ISO 8601 with a timezone.",
      "type": "string"
    },
    "fields": {
      "description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
      "minItems": 1,
      "maxItems": 60,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Za-z0-9_*]{1,60}$"
      }
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idx_list_leads(date_type, interval, start_datetime, sort_by, offset, ...)

List the account's leads (website registrants) with contact details, status, agent owner, and last viewed listings and searches. A reply holds up to 500 leads; pass offset to page on and look for pagination information in the reply. Filter by a time window on signup, edit, login or activity date. Uses one of the key's hourly API accesses. GET /leads/lead.

輸入結構描述

{
  "type": "object",
  "properties": {
    "date_type": {
      "description": "Which date the time window applies to (default subscribeDate).",
      "type": "string",
      "enum": [
        "subscribeDate",
        "lastEdited",
        "lastLoginDate",
        "lastPropertyUpdateDate",
        "lastActivityDate"
      ]
    },
    "interval": {
      "description": "Hours of data to return, counted back from start_datetime (default: now). 0.0166 (one minute) to 168; decimals allowed. IDX default when omitted: 1 hour; pass up to 168 for one week.",
      "type": "number",
      "minimum": 0.0166,
      "maximum": 168
    },
    "start_datetime": {
      "description": "Where the interval starts counting back (the newest moment wanted). Default: now. ISO 8601 with a timezone.",
      "type": "string"
    },
    "sort_by": {
      "description": "Sort by creation order, asc or desc.",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "offset": {
      "description": "Items to skip from the beginning (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    },
    "fields": {
      "description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
      "minItems": 1,
      "maxItems": 60,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Za-z0-9_*]{1,60}$"
      }
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idx_get_lead(lead_id, fields)

One lead by id with its details, last 5 viewed listings and searches, and the total number of listings viewed. GET /leads/lead/{leadID}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "lead_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "IDX lead id (from idx_list_leads)."
    },
    "fields": {
      "description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
      "minItems": 1,
      "maxItems": 60,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Za-z0-9_*]{1,60}$"
      }
    }
  },
  "required": [
    "lead_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idx_list_lead_notes(lead_id, note_id, date_type, interval, start_datetime, ...)

Notes on a lead, or one note when note_id is given. GET /leads/note/{leadID}[/{noteID}].

輸入結構描述

{
  "type": "object",
  "properties": {
    "lead_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "IDX lead id."
    },
    "note_id": {
      "description": "One note id; omit for all notes of the lead.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "date_type": {
      "description": "Which date the time window applies to.",
      "type": "string",
      "enum": [
        "created",
        "lastAltered"
      ]
    },
    "interval": {
      "description": "Hours of data to return, counted back from start_datetime (default: now). 0.0166 (one minute) to 168; decimals allowed. IDX default when omitted: 1 hour; pass up to 168 for one week.",
      "type": "number",
      "minimum": 0.0166,
      "maximum": 168
    },
    "start_datetime": {
      "description": "Where the interval starts counting back (the newest moment wanted). Default: now. ISO 8601 with a timezone.",
      "type": "string"
    },
    "fields": {
      "description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
      "minItems": 1,
      "maxItems": 60,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Za-z0-9_*]{1,60}$"
      }
    }
  },
  "required": [
    "lead_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idx_list_lead_searches(lead_id, search_id, date_type, interval, start_datetime, ...)

Saved property searches of a lead (or one search when search_id is given), with the results URL of each. GET /leads/search/{leadID}[/{searchID}].

輸入結構描述

{
  "type": "object",
  "properties": {
    "lead_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "IDX lead id."
    },
    "search_id": {
      "description": "One saved search id; omit for all searches of the lead.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "date_type": {
      "description": "Which date the time window applies to.",
      "type": "string",
      "enum": [
        "created",
        "lastEdited"
      ]
    },
    "interval": {
      "description": "Hours of data to return, counted back from start_datetime (default: now). 0.0166 (one minute) to 168; decimals allowed. IDX default when omitted: 1 hour; pass up to 168 for one week.",
      "type": "number",
      "minimum": 0.0166,
      "maximum": 168
    },
    "start_datetime": {
      "description": "Where the interval starts counting back (the newest moment wanted). Default: now. ISO 8601 with a timezone.",
      "type": "string"
    },
    "fields": {
      "description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
      "minItems": 1,
      "maxItems": 60,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Za-z0-9_*]{1,60}$"
      }
    }
  },
  "required": [
    "lead_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idx_list_lead_saved_properties(lead_id, property_id, date_type, interval, start_datetime, ...)

Properties a lead saved (or one when property_id is given). GET /leads/property/{leadID}[/{propertyID}].

輸入結構描述

{
  "type": "object",
  "properties": {
    "lead_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "IDX lead id."
    },
    "property_id": {
      "description": "One saved property id; omit for all saved properties of the lead.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "date_type": {
      "description": "Which date the time window applies to.",
      "type": "string",
      "enum": [
        "created",
        "lastEdited"
      ]
    },
    "interval": {
      "description": "Hours of data to return, counted back from start_datetime (default: now). 0.0166 (one minute) to 168; decimals allowed. IDX default when omitted: 1 hour; pass up to 168 for one week.",
      "type": "number",
      "minimum": 0.0166,
      "maximum": 168
    },
    "start_datetime": {
      "description": "Where the interval starts counting back (the newest moment wanted). Default: now. ISO 8601 with a timezone.",
      "type": "string"
    },
    "fields": {
      "description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
      "minItems": 1,
      "maxItems": 60,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Za-z0-9_*]{1,60}$"
      }
    }
  },
  "required": [
    "lead_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idx_get_lead_traffic(lead_id, interval, start_datetime, offset, limit, ...)

Website traffic history of one lead: date, page, referrer and IP of each visit (at most 5,000 rows per request; use interval/offset/limit to narrow it). GET /leads/leadtraffic/{leadID}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "lead_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "IDX lead id."
    },
    "interval": {
      "description": "Hours of data to return, counted back from start_datetime (default: now). 0.0166 (one minute) to 168; decimals allowed. IDX default when omitted: 1 hour; pass up to 168 for one week.",
      "type": "number",
      "minimum": 0.0166,
      "maximum": 168
    },
    "start_datetime": {
      "description": "Where the interval starts counting back (the newest moment wanted). Default: now. ISO 8601 with a timezone.",
      "type": "string"
    },
    "offset": {
      "description": "Items to skip from the beginning (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    },
    "limit": {
      "description": "Number of items to return (use with offset).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 5000
    },
    "fields": {
      "description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
      "minItems": 1,
      "maxItems": 60,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Za-z0-9_*]{1,60}$"
      }
    }
  },
  "required": [
    "lead_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idx_list_featured_listings(date_type, interval, start_datetime, offset, limit, ...)

The account's featured (active) listings with address, price, status, photos and agent. Only the account's own listings are returned, never general MLS data. GET /clients/featured.

輸入結構描述

{
  "type": "object",
  "properties": {
    "date_type": {
      "description": "Which date the time window applies to (default dateAdded).",
      "type": "string",
      "enum": [
        "dateAdded",
        "dateModified"
      ]
    },
    "interval": {
      "description": "Hours of data to return, counted back from start_datetime (default: now). 0.0166 (one minute) to 8765; decimals allowed.",
      "type": "number",
      "minimum": 0.0166,
      "maximum": 8765
    },
    "start_datetime": {
      "description": "Where the interval starts counting back (the newest moment wanted). Default: now. ISO 8601 with a timezone.",
      "type": "string"
    },
    "offset": {
      "description": "Items to skip from the beginning (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    },
    "limit": {
      "description": "Number of items to return (use with offset).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 5000
    },
    "disclaimers": {
      "description": "Include the MLS disclaimer and courtesy text in the reply.",
      "type": "boolean"
    },
    "fields": {
      "description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
      "minItems": 1,
      "maxItems": 60,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Za-z0-9_*]{1,60}$"
      }
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idx_list_sold_pending_listings(date_type, interval, start_datetime, offset, limit, ...)

The account's sold and pending listings, that is those removed from the MLS feed. GET /clients/soldpending.

輸入結構描述

{
  "type": "object",
  "properties": {
    "date_type": {
      "description": "Which date the time window applies to (default dateAdded).",
      "type": "string",
      "enum": [
        "dateAdded",
        "dateModified"
      ]
    },
    "interval": {
      "description": "Hours of data to return, counted back from start_datetime (default: now). 0.0166 (one minute) to 8765; decimals allowed.",
      "type": "number",
      "minimum": 0.0166,
      "maximum": 8765
    },
    "start_datetime": {
      "description": "Where the interval starts counting back (the newest moment wanted). Default: now. ISO 8601 with a timezone.",
      "type": "string"
    },
    "offset": {
      "description": "Items to skip from the beginning (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    },
    "limit": {
      "description": "Number of items to return (use with offset).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 5000
    },
    "disclaimers": {
      "description": "Include the MLS disclaimer and courtesy text in the reply.",
      "type": "boolean"
    },
    "fields": {
      "description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
      "minItems": 1,
      "maxItems": 60,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Za-z0-9_*]{1,60}$"
      }
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idx_list_off_market_listings(date_type, interval, start_datetime, offset, limit, ...)

The account's off-market listings. GET /clients/offmarket.

輸入結構描述

{
  "type": "object",
  "properties": {
    "date_type": {
      "description": "Which date the time window applies to (default dateAdded).",
      "type": "string",
      "enum": [
        "dateAdded",
        "dateModified"
      ]
    },
    "interval": {
      "description": "Hours of data to return, counted back from start_datetime (default: now). 0.0166 (one minute) to 8765; decimals allowed.",
      "type": "number",
      "minimum": 0.0166,
      "maximum": 8765
    },
    "start_datetime": {
      "description": "Where the interval starts counting back (the newest moment wanted). Default: now. ISO 8601 with a timezone.",
      "type": "string"
    },
    "offset": {
      "description": "Items to skip from the beginning (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    },
    "limit": {
      "description": "Number of items to return (use with offset).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 5000
    },
    "disclaimers": {
      "description": "Include the MLS disclaimer and courtesy text in the reply.",
      "type": "boolean"
    },
    "fields": {
      "description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
      "minItems": 1,
      "maxItems": 60,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Za-z0-9_*]{1,60}$"
      }
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idx_list_supplemental_listings(date_type, interval, start_datetime, offset, limit, ...)

The account's supplemental (non-MLS) listings with a basic set of fields. GET /clients/supplemental.

輸入結構描述

{
  "type": "object",
  "properties": {
    "date_type": {
      "description": "Which date the time window applies to (default dateAdded).",
      "type": "string",
      "enum": [
        "dateAdded",
        "dateModified"
      ]
    },
    "interval": {
      "description": "Hours of data to return, counted back from start_datetime (default: now). 0.0166 (one minute) to 8765; decimals allowed.",
      "type": "number",
      "minimum": 0.0166,
      "maximum": 8765
    },
    "start_datetime": {
      "description": "Where the interval starts counting back (the newest moment wanted). Default: now. ISO 8601 with a timezone.",
      "type": "string"
    },
    "offset": {
      "description": "Items to skip from the beginning (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    },
    "limit": {
      "description": "Number of items to return (use with offset).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 5000
    },
    "disclaimers": {
      "description": "Include the MLS disclaimer and courtesy text in the reply.",
      "type": "boolean"
    },
    "fields": {
      "description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
      "minItems": 1,
      "maxItems": 60,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Za-z0-9_*]{1,60}$"
      }
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idx_list_saved_links(interval, start_datetime, offset, limit, fields)

Saved links (pre-built property search pages) of the account with id, name and URL. GET /clients/savedlinks.

輸入結構描述

{
  "type": "object",
  "properties": {
    "interval": {
      "description": "Hours of data to return, counted back from start_datetime (default: now). 0.0166 (one minute) to 8765; decimals allowed.",
      "type": "number",
      "minimum": 0.0166,
      "maximum": 8765
    },
    "start_datetime": {
      "description": "Where the interval starts counting back (the newest moment wanted). Default: now. ISO 8601 with a timezone.",
      "type": "string"
    },
    "offset": {
      "description": "Items to skip from the beginning (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    },
    "limit": {
      "description": "Number of items to return (use with offset).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 5000
    },
    "fields": {
      "description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
      "minItems": 1,
      "maxItems": 60,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Za-z0-9_*]{1,60}$"
      }
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idx_get_saved_link_count(saved_link_id)

The total number of properties a saved link currently matches. GET /clients/savedlinks/{savedLinkID}/count.

輸入結構描述

{
  "type": "object",
  "properties": {
    "saved_link_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Saved link id (from idx_list_saved_links)."
    }
  },
  "required": [
    "saved_link_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idx_list_widgets(offset, limit, fields)

The JavaScript widgets on the account with id, name, URL and options. GET /clients/widgets.

輸入結構描述

{
  "type": "object",
  "properties": {
    "offset": {
      "description": "Items to skip from the beginning (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    },
    "limit": {
      "description": "Number of items to return (use with offset).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 5000
    },
    "fields": {
      "description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
      "minItems": 1,
      "maxItems": 60,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Za-z0-9_*]{1,60}$"
      }
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idx_get_widget(widget_id, fields)

One JavaScript widget with its settings. GET /clients/widgets/{id}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "widget_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Widget id (from idx_list_widgets)."
    },
    "fields": {
      "description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
      "minItems": 1,
      "maxItems": 60,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Za-z0-9_*]{1,60}$"
      }
    }
  },
  "required": [
    "widget_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idx_list_system_links(fields)

The system pages of the account's site (search, featured, contact...) with name, id and URL, which can be linked to directly. GET /clients/systemlinks.

輸入結構描述

{
  "type": "object",
  "properties": {
    "fields": {
      "description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
      "minItems": 1,
      "maxItems": 60,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Za-z0-9_*]{1,60}$"
      }
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idx_list_approved_mls(fields)

The MLSs approved for display on the account, with their IDX ids (such as a001) and names. Use the id in the other MLS tools. GET /mls/approvedmls.

輸入結構描述

{
  "type": "object",
  "properties": {
    "fields": {
      "description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
      "minItems": 1,
      "maxItems": 60,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Za-z0-9_*]{1,60}$"
      }
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idx_get_mls_age(idx_id, fields)

When an MLS feed was last downloaded and processed and when its images were last gathered (UTC). GET /mls/age/{idxID}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "idx_id": {
      "type": "string",
      "pattern": "^[A-Za-z][A-Za-z0-9]{1,9}$",
      "description": "IDX MLS id such as a001 (see idx_list_approved_mls)."
    },
    "fields": {
      "description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
      "minItems": 1,
      "maxItems": 60,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Za-z0-9_*]{1,60}$"
      }
    }
  },
  "required": [
    "idx_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idx_list_mls_property_types(idx_id, filter_field, filter_value, fields)

Property types of an MLS with the IDX type id, the MLS name, the parent type and subtypes. GET /mls/propertytypes/{idxID}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "idx_id": {
      "type": "string",
      "pattern": "^[A-Za-z][A-Za-z0-9]{1,9}$",
      "description": "IDX MLS id such as a001 (see idx_list_approved_mls)."
    },
    "filter_field": {
      "description": "Field to filter on; needs filter_value.",
      "type": "string",
      "enum": [
        "mlsPtID",
        "mlsPropertyType"
      ]
    },
    "filter_value": {
      "description": "Value to match in filter_field.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "fields": {
      "description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
      "minItems": 1,
      "maxItems": 60,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Za-z0-9_*]{1,60}$"
      }
    }
  },
  "required": [
    "idx_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idx_list_mls_search_fields(idx_id, filter_field, filter_value, fields)

The fields of an MLS that can be searched under MLS rules: field name, display name and the property types they belong to. GET /mls/searchfields/{idxID}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "idx_id": {
      "type": "string",
      "pattern": "^[A-Za-z][A-Za-z0-9]{1,9}$",
      "description": "IDX MLS id such as a001 (see idx_list_approved_mls)."
    },
    "filter_field": {
      "description": "Field to filter on; needs filter_value.",
      "type": "string",
      "enum": [
        "mlsPtID",
        "parentPtID"
      ]
    },
    "filter_value": {
      "description": "Value to match in filter_field.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "fields": {
      "description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
      "minItems": 1,
      "maxItems": 60,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Za-z0-9_*]{1,60}$"
      }
    }
  },
  "required": [
    "idx_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idx_list_mls_locations(idx_id, kind, filter_field, filter_value, fields)

Cities, counties or postal codes present in an MLS's data, with ids and a count of occurrences. Filter fields: cities = cityID, cityName, stateAbrv, mlsPtID; counties = countyID, countyName, stateAbrv, mlsPtID; postalcodes = id, stateAbrv, mlsPtID. GET /mls/{cities|counties|postalcodes}/{idxID}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "idx_id": {
      "type": "string",
      "pattern": "^[A-Za-z][A-Za-z0-9]{1,9}$",
      "description": "IDX MLS id such as a001 (see idx_list_approved_mls)."
    },
    "kind": {
      "type": "string",
      "enum": [
        "cities",
        "counties",
        "postalcodes"
      ],
      "description": "Which list."
    },
    "filter_field": {
      "description": "Field to filter on (must fit kind); needs filter_value.",
      "type": "string",
      "enum": [
        "cityID",
        "cityName",
        "countyID",
        "countyName",
        "id",
        "stateAbrv",
        "mlsPtID"
      ]
    },
    "filter_value": {
      "description": "Value to match in filter_field.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "fields": {
      "description": "Only return these fields (IDX `rf`); [\"*\"] returns every available field. Narrow it to save API size.",
      "minItems": 1,
      "maxItems": 60,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Za-z0-9_*]{1,60}$"
      }
    }
  },
  "required": [
    "idx_id",
    "kind"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡idx_create_lead(first_name, last_name, email, fields)

WRITE: creates a new lead in the IDX Broker account (and may trigger the account's own lead notifications). Needs a correctly formatted email with a valid MX record; IDX rejects bad addresses with a server error. Extra fields go in `fields` by their IDX name, as seen on a lead returned by idx_get_lead. Returns the new lead id. PUT /leads/lead.

輸入結構描述

{
  "type": "object",
  "properties": {
    "first_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Lead first name."
    },
    "last_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Lead last name."
    },
    "email": {
      "type": "string",
      "maxLength": 200,
      "format": "email",
      "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
      "description": "Lead email address."
    },
    "fields": {
      "description": "Other updatable lead fields by IDX name, e.g. {\"phone\": \"555-0100\"}. firstName, lastName and email cannot be repeated here.",
      "type": "object",
      "propertyNames": {
        "type": "string",
        "pattern": "^[A-Za-z][A-Za-z0-9]{0,39}$"
      },
      "additionalProperties": {
        "anyOf": [
          {
            "type": "string",
            "maxLength": 2000
          },
          {
            "type": "number"
          },
          {
            "type": "boolean"
          }
        ]
      }
    }
  },
  "required": [
    "first_name",
    "last_name",
    "email"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡idx_add_lead_note(lead_id, note)

WRITE: adds a note to a lead (visible to the account's agents). Returns the new note id. PUT /leads/note/{leadID}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "lead_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "IDX lead id."
    },
    "note": {
      "type": "string",
      "minLength": 1,
      "maxLength": 5000,
      "description": "Note text."
    }
  },
  "required": [
    "lead_id",
    "note"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴idx_update_lead(lead_id, fields)

WRITE: changes fields of an existing lead; the given values replace the stored ones. Only pass what must change. Field names are the IDX lead field names as seen on a lead returned by idx_get_lead (for example firstName, lastName, email, phone, status). POST /leads/lead/{leadID}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "lead_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "IDX lead id."
    },
    "fields": {
      "type": "object",
      "propertyNames": {
        "type": "string",
        "pattern": "^[A-Za-z][A-Za-z0-9]{0,39}$"
      },
      "additionalProperties": {
        "anyOf": [
          {
            "type": "string",
            "maxLength": 2000
          },
          {
            "type": "number"
          },
          {
            "type": "boolean"
          }
        ]
      },
      "description": "Fields to set, by IDX name, e.g. {\"phone\": \"555-0100\"}."
    }
  },
  "required": [
    "lead_id",
    "fields"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本27 個工具