How it works
- Create a widget at Portal → More → IDX widget: which listings to show, default filters, language, layout (grid, list or map), colors and who receives inquiries.
- Paste one snippet into your site. It loads a multilistado.mx page inside an
iframe: your site stores no listings and needs no updates. - Every visitor sees the inventory live. When they request information or a showing, the lead reaches your portal and email, with source
widget:<ID>.
Snippet builder
Pick filters and copy the code for your platform. Anything you leave empty uses the settings saved on your widget.
1 · Script (recommended)
Automatic height. WordPress (Custom HTML block), Squarespace, Shopify, Webflow, Blogger, plain HTML.
2 · iframe
For Wix, Google Sites and GoDaddy (code runs inside their own frame): set the height in the editor.
3 · WordPress shortcode
With the Multilistado IDX plugin (your ID goes in Settings → Multilistado IDX). "Results per page" does not apply to the shortcode.
Enter your widget ID (24 characters) so the code works on your site.
Ways to embed
Script (recommended)
<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
<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
<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 | Plugin (shortcode or block) | Yes | Automatic |
| Wix | iframe | In an isolated frame | Fixed: drag to 1000–1200 px |
| Squarespace | Script | Yes (Core plan or higher) | Automatic |
| GoDaddy | iframe | Unverified | "Force height" ~1000 px |
| Shopify | Script | Yes | Automatic |
| Webflow | Script | Yes (paid plan) | Automatic |
| Google Sites | iframe | In an isolated frame | Fixed: drag the box |
| Blogger | Script | Yes | Automatic |
| Your own HTML | Script | Yes | Automatic |
Wix
- In the Wix Editor: Add Elements → Embed Code → Popular Embeds → Embed HTML.
- Click Enter Code, choose the code option and paste the iframe from the builder. Click Apply.
- Stretch the element to full width and 1000–1200 px tall (Wix does not resize the box itself).
- 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, Wix Studio.
Squarespace
- Edit the page (pencil) → Add Block → Code.
- Keep the mode on HTML, paste the script and save.
- 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.
GoDaddy (Websites + Marketing)
- Edit your site → Add Section → search HTML → Add.
- Paste the iframe into Custom Code.
- In Force Height enter
1000(empty = automatic;0deletes the section). - Changes save automatically: click Publish.
Source: GoDaddy — Add HTML or custom code. Whether the section is shown inside a frame is not confirmed; that is why we recommend the iframe with a fixed height.
Shopify
- Online Store → Themes → Customize.
- Open the page you want (e.g. a "Listings" page created in Online Store → Pages) → Add section → Custom Liquid.
- 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; the section exists only if your theme offers it.
Webflow
- In the Designer open the Add (+) panel → Code Embed (search for "Embed").
- Paste the script → Save & Close.
- 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 (read via excerpts; the page blocked direct access).
Google Sites
- Insert → Embed → Embed code.
- Paste the iframe → Next → Insert.
- 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. 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.
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.
<!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.
How to test
- Open your published page in a private window.
- Search, change pages and open a listing: the widget should scroll to the top and show the full listing page.
- Send an information request with your own details: it should reach Portal → Leads with source
widget:<ID>and your email. - 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/identidadin 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.
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:
<script src="https://multilistado.mx/widget.js" data-agent="your-slug" data-limit="12"></script>We recommend switching to the new script.