# The Multilistado search on your website

Search with filters, map, listing pages and a contact form inside your own website, with your logo and colors. Paste one snippet once; listings update themselves and inquiries come to you.

Source: https://multilistado.mx/developers/widget?lang=en · Updated: 2026-09-30 · Other language: https://multilistado.mx/developers/widget.md

## How it works

1. Create a **widget** at [Portal → More → IDX widget](https://multilistado.mx/portal/widget): which listings to show, default filters, language, layout (grid, list or map), colors and who receives inquiries.
2. Paste **one snippet** into your site. It loads a multilistado.mx page inside an `iframe`: your site stores no listings and needs no updates.
3. Every visitor sees the inventory **live**. When they request information or a showing, the lead reaches your [portal](https://multilistado.mx/portal/leads) and email, with source `widget:<ID>`.

_(Live demo on the HTML version of this page.)_

## Snippet builder

Pick filters and copy the code for your platform. Anything you leave empty uses the settings saved on your widget.

_(Interactive snippet builder on the HTML version: pick city, type, operation, prices, layout, language and results per page, then copy the script, iframe or WordPress shortcode.)_

## Ways to embed

### Script (recommended)

```html
<script src="https://multilistado.mx/embed/w/YOUR-ID.js" async></script>
<div data-multilistado="search"></div>
```

The script finds every `<div data-multilistado>` on the page and inserts the search there. **Height adjusts itself** to the content and, when the visitor pages inside the search, the view scrolls back to the top of the widget. You can put the `<script>` once (e.g. in the footer) and several `<div>`s on different pages.

- `data-multilistado="search"`: search bar + results.
- `data-multilistado="listings"`: results only, no bar (ideal for a "Homes for sale in Tijuana" page).
- Anything inside the `<div>` (e.g. a link to your site) stays below the search.

### iframe

```html
<iframe src="https://multilistado.mx/embed/w/YOUR-ID" title="Property search" style="width:100%;min-height:900px;border:0" loading="lazy"></iframe>
```

Use it when your platform **runs code inside its own frame** (Wix, Google Sites and apparently GoDaddy) or does not allow scripts. The height is fixed: set it in the editor (1000–1200 px works well on desktop and phones). If your page does allow scripts, also add `<script src="https://multilistado.mx/embed/w/YOUR-ID.js" async></script>` and the iframe will size itself.

### Results only

```html
<div data-multilistado="listings" data-city="Tijuana" data-type="house" data-operation="sale"></div>
<script src="https://multilistado.mx/embed/w/YOUR-ID.js" async></script>
```

As an iframe: add `bar=0` to the address, e.g. `https://multilistado.mx/embed/w/YOUR-ID?city=Tijuana&type=house&operation=sale&bar=0`.

## Options

Filters in the snippet **replace** the widget's defaults. As soon as the visitor searches, their choices in the bar win.

| Option | Script attribute | iframe parameter | Values |
|---|---|---|---|
| City | `data-city` or `data-ciudad` | `city` or `ciudad` | Text (partial, accent-insensitive) |
| State | `data-state` or `data-estado` | `state` or `estado` | Exact name, e.g. `Baja California` |
| Neighborhood | `data-colonia` | `neighborhood` or `colonia` | Text (partial) |
| Type | `data-type` or `data-tipo` | `type` or `tipo` | `house`, `apartment`, `land`, `office`, `commercial`, `warehouse`, `ranch`, `building`, `other` · or Spanish `casa`, `departamento`, `terreno`, `oficina`, `local`, `bodega`, `rancho`, `edificio`, `otro` |
| Operation | `data-operation` or `data-operacion` | `operation` or `operacion` | `sale`/`venta` · `rental`/`renta` |
| Min / max price | `data-min-price`, `data-max-price` (or `data-precio-min`, `data-precio-max`) | `min_price`, `max_price` | Number, compared in each listing's currency |
| Bedrooms (min) | `data-bedrooms` or `data-recamaras` | `bedrooms` or `recamaras` | 1–19 |
| Free text | — | `q` | Keywords |
| Language | `data-lang` or `data-idioma` | `lang` | `es` · `en` |
| Layout | `data-layout` or `data-vista` | `layout` | `grid` · `list` · `map` |
| Results per page | `data-per-page` or `data-por-pagina` | `per_page` | 6, 9, 12, 18, 24, 36, 48 |
| Sort | — | `sort` | `newest`, `price_asc`, `price_desc` |
| No search bar | `data-multilistado="listings"` | `bar=0` | — |
| Initial height | `data-height` or `data-altura` | (iframe style) | px; with the script it is only the height while loading |
| Another widget | `data-widget` | (in the address) | 24-character ID |

**Set in the portal, not in the code:** which listings are shown (the whole Multilistado or only yours), including pending listings, the bar with your logo and phone, colors and light/dark mode, the "See all properties" link, who receives leads (agencies) and allowed domains.

## Steps per platform

Labels checked on **2026-09-30** against each platform's official help (linked). Platforms change their menus; if something does not match, look for "HTML", "code" or "embed".

| Platform | Code | Scripts? | Height |
|---|---|---|---|
| [WordPress](https://multilistado.mx/developers/wordpress?lang=en) | Plugin (shortcode or block) | Yes | Automatic |
| [Wix](#wix) | iframe | In an isolated frame | Fixed: drag to 1000–1200 px |
| [Squarespace](#squarespace) | Script | Yes (Core plan or higher) | Automatic |
| [GoDaddy](#godaddy) | iframe | Unverified | "Force height" ~1000 px |
| [Shopify](#shopify) | Script | Yes | Automatic |
| [Webflow](#webflow) | Script | Yes (paid plan) | Automatic |
| [Google Sites](#google-sites) | iframe | In an isolated frame | Fixed: drag the box |
| [Blogger](#blogger) | Script | Yes | Automatic |
| [Your own HTML](#html) | Script | Yes | Automatic |

### Wix

1. In the Wix Editor: **Add Elements → Embed Code → Popular Embeds → Embed HTML**.
2. Click **Enter Code**, choose the code option and paste the **iframe** from the [builder](#generador). Click **Apply**.
3. Stretch the element to full width and **1000–1200 px** tall (Wix does not resize the box itself).
4. **Publish** and check the live site (the editor may not show it the same way).

In Wix Studio: **Add Elements → Embed & Social → Embed Code**. You can also use **Embed a site** and paste just the address `https://multilistado.mx/embed/w/YOUR-ID`.

> **Note:** Wix runs the code inside its own isolated frame, so the script cannot resize the box. The element cannot go in the header or footer. If you use **Allowed domains**, also add `*.wixsite.com` and `*.filesusr.com`. Sources: [Wix — Embedding a site or widget](https://support.wix.com/en/article/wix-editor-embedding-a-site-or-a-widget), [Wix Studio](https://support.wix.com/en/article/studio-editor-adding-an-html-iframe-element).

### Squarespace

1. Edit the page (pencil) → **Add Block** → **Code**.
2. Keep the mode on **HTML**, paste the **script** and save.
3. Check the live site or **preview in safe mode**: while signed in, code sometimes does not run in the editor.

> **Important:** Squarespace allows JavaScript and iframes in code blocks only on the **Core, Plus, Advanced** (and Commerce) plans. On **Basic** neither option works: link to your free Multilistado site instead. Source: [Squarespace — Code blocks](https://support.squarespace.com/hc/en-us/articles/206543167).

### GoDaddy (Websites + Marketing)

1. Edit your site → **Add Section** → search **HTML** → **Add**.
2. Paste the **iframe** into **Custom Code**.
3. In **Force Height** enter `1000` (empty = automatic; `0` deletes the section).
4. Changes save automatically: click **Publish**.

Source: [GoDaddy — Add HTML or custom code](https://www.godaddy.com/help/add-html-or-custom-code-to-my-site-27252). Whether the section is shown inside a frame is not confirmed; that is why we recommend the iframe with a fixed height.

### Shopify

1. **Online Store → Themes → Customize**.
2. Open the page you want (e.g. a "Listings" page created in **Online Store → Pages**) → **Add section → Custom Liquid**.
3. Paste the **script** and save.

Older ("vintage") themes without that section: paste the script into the page content's HTML view. Source: [Shopify — Customizing themes](https://help.shopify.com/en/manual/online-store/themes/customizing-themes); the section exists only if your theme offers it.

### Webflow

1. In the Designer open the **Add (+)** panel → **Code Embed** (search for "Embed").
2. Paste the **script** → **Save & Close**.
3. **Publish** and check the live site.

Requires a paid Site plan (or a Core, Growth, Agency or Freelancer Workspace plan); the free plan has no custom code. Limit: 50,000 characters per element. Source: [Webflow — Code Embed](https://help.webflow.com/hc/en-us/articles/33961332238611) (read via excerpts; the page blocked direct access).

### Google Sites

1. **Insert → Embed → Embed code**.
2. Paste the **iframe** → **Next** → **Insert**.
3. Drag the box edge to make it tall (1000–1200 px) and full width → **Publish**.

Google Sites shows code inside its own frame, so the height does not adjust itself. Source: [Google Sites Help](https://support.google.com/sites/answer/90569?hl=en). If you use **Allowed domains** and the search does not show, leave the list empty for that widget.

### Blogger

- **Sidebar or footer:** **Layout → Add a Gadget → HTML/JavaScript** → paste the **script** → **Save**.
- **Inside a post or page:** switch the editor to HTML view and paste the script.

Source: [Blogger Help](https://support.google.com/blogger/answer/176245?hl=en).

### Your own HTML, Joomla, Drupal and others

Paste the **script** where you want the search (inside `<body>`). It works with any system that allows HTML: Joomla ("Custom HTML" module), Drupal (block with "Full HTML" format), Hostinger, Jimdo, etc.

```html
<!doctype html>
<html lang="en">
<head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>Listings</title></head>
<body>
  <h1>Homes for sale and rent</h1>
  <div data-multilistado="search"><a href="https://your-site.multilistado.mx/buscar">See all properties</a></div>
  <script src="https://multilistado.mx/embed/w/YOUR-ID.js" async></script>
</body>
</html>
```

## Mobile tips

- Put the search at **full page width**, with no side columns.
- With an iframe use at least **1000 px** of height; on phones results stack and take more room.
- The **map** layout needs space: on phones grid or list is a better default.
- Test on a real phone or with the "Phone" mode of the [portal preview](https://multilistado.mx/portal/widget).

## How to test

1. Open your published page in a private window.
2. Search, change pages and open a listing: the widget should scroll to the top and show the full listing page.
3. Send an **information request** with your own details: it should reach [Portal → Leads](https://multilistado.mx/portal/leads) with source `widget:<ID>` and your email.
4. The portal shows widget statistics (views, searches, listing views and leads for the last 30 days) and the last domain where it was shown.

## Inquiries, showings and who gets them

| Listing | Who receives the inquiry? |
|---|---|
| Yours (or your agency's) | The listing agent |
| Another agent's (widget showing "the whole Multilistado") | **You** (for agencies, the team member chosen on the widget), to cooperate with the listing agent |

- **Showings:** every showing requires a **verified buyer ID**. Inside your site there is no Multilistado session, so the request is held and the buyer continues at `multilistado.mx/cuenta/identidad` in a new tab (about 2 minutes; valid 12 months). Then you confirm the time.
- The form uses no third-party cookies: it carries a short-lived signed token. Limits: 10 requests per hour per visitor and 300 per day per widget.

## Allowed domains

In the portal you can restrict where your widget shows (**Allowed domains**). One per line: `mysite.com` (also covers `www.mysite.com`), or `*.mysite.com` for subdomains. Empty = anywhere. It is enforced with the `Content-Security-Policy: frame-ancestors` header, which browsers check against the **whole** frame chain: on Wix add `*.wixsite.com` and `*.filesusr.com`.

## SEO

Iframe content counts for multilistado.mx, not for your site (and widget pages carry `noindex`). To earn search ranking, the snippet includes a **normal link** to your free Multilistado site or its area page ("See all properties"); configure it in the portal. Your Multilistado site has indexable pages per listing, area and city.

## What is shown (and what is not)

- Only **published** listings (pending too, if you enable it) of license-verified agents.
- Other agents' listings carry their credit: "Listed by … · agency · phone".
- Listings whose owner did not authorize other sites (`idx_opt_out`) and licensed imports from other MLSs are never shown.
- Approximate location on the map, unless the agent shows the exact address.

More in the [Guidelines](https://multilistado.mx/developers/guidelines?lang=en).

## Legacy widget (/widget.js)

It keeps working for sites that already use it but gets no improvements (no search, map or leads to you). It shows only one agent's or agency's listings:

```html
<script src="https://multilistado.mx/widget.js" data-agent="your-slug" data-limit="12"></script>
```

We recommend switching to the [new script](#script).
