# AI, bots and open data

Multilistado shares its data with AI assistants, agents' bots and other sites. No sign-up to read; with your account key, your bot can also publish and handle leads.

Source: https://multilistado.mx/developers/ai?lang=en · Updated: 2026-10-20 · Other language: https://multilistado.mx/developers/ai.md

## MCP server

MCP (Model Context Protocol) is the standard Claude, ChatGPT, Cursor and agent frameworks use to connect to services. Our server:

| | |
|---|---|
| URL | `https://multilistado.mx/mcp` |
| Transport | Streamable HTTP (JSON) |
| Auth | None for open tools · `Authorization: Bearer pbm_…` for agent tools |
| Limit | 120 requests per minute |

**Open tools** (no key): `search_listings`, `get_listing`, `get_agent`, `verify_agent` (official registries), `estimate_home_value` (Multilistado Estimate), `colonia_prices`, `suggest_places`.

**Agent tools** (with your key from [Portal → API & AI](https://multilistado.mx/portal/api-keys)): `my_account`, `my_listings`, `my_leads` (leads permission), `create_listing`, `update_listing`, `publish_listing`, `unpublish_listing` (full permission).

```bash
# Claude Code
claude mcp add --transport http multilistado https://multilistado.mx/mcp
# as an agent
claude mcp add --transport http multilistado https://multilistado.mx/mcp --header "Authorization: Bearer pbm_…"
```

In **Claude** (web or desktop): Settings → Connectors → Add custom connector → `https://multilistado.mx/mcp`. In **ChatGPT** and other MCP clients, use the same URL. For your own framework, send JSON-RPC 2.0 by `POST`:

```bash
curl -s https://multilistado.mx/mcp -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"verify_agent","arguments":{"q":"Galarza"}}}'
```

## Open data API

The same over REST, no key, open CORS: `https://multilistado.mx/api/open/v1` · [OpenAPI](https://multilistado.mx/api/open/v1/openapi.json)

| Endpoint | Returns |
|---|---|
| `GET /listings?city=Tijuana&op=sale&type=house` | Listings from verified agents (filters: q, city, state, colonia, type, op, min_price, max_price, currency, beds_min, bbox, sort, page) |
| `GET /listings/{slug}` | Full listing with the Multilistado Estimate |
| `GET /agents/verify?q=<name or folio>` | Matches in official state registries and verified accounts |
| `GET /agents/{slug}` | Public agent profile and listings |
| `GET /estimate?type=house&m2_built=150&bedrooms=3&city=Tijuana&colonia=Playas` | Value range (USD and MXN) from nearby asking prices |
| `GET /prices/colonias?municipality=Rosarito` | Median, middle half and USD/m² by neighborhood |
| `GET /places?q=play` | Cities and neighborhoods |

```bash
curl -s "https://multilistado.mx/api/open/v1/agents/verify?q=Galarza"
```

## Agent keys for your bot

In [Portal → API & AI](https://multilistado.mx/portal/api-keys) create one key per bot with the least permission: **read only** (your profile and listings), **read + leads**, or **full** (create, edit and publish listings). Keys can be revoked instantly. The same key works for the [REST API v1](https://multilistado.mx/developers/api) and the MCP server.

## What we share and what we don't

- **Yes:** listings published by verified agents (except those the agent excluded from other sites), public agent profiles, official registry matches (name, folio, state, status and official link), the Multilistado Estimate and price statistics by neighborhood.
- **No:** buyers' data, ID verifications, agreements, other agents' leads, registry phone numbers or emails, or bulk copies of other portals' listings (aggregate statistics only).
- **Attribution:** cite and link multilistado.mx; the listing page is the current information (prices and availability change).
