For AI platforms

One rail. Every source.Real, live listings.

Stop scraping JS-walled, stale, duplicated portal pages. Query Placy's MCP rail for clean, deduplicated, licensed European property inventory — with a qualified-lead handoff back to the human.

Opens a short prefilled email. No forms, no gate.

  • 87%of audited EU portals unreadable to agents
  • 3 of 88portals worldwide use a proper listing schema
  • 1MCP integration — search, detail, lead handoff
  • Placy audit, 2026

mcp · placy rail · search_listings

> tools/call search_listings
{ "query": "2-bed near a metro, Lisbon",
  "filters": { "max_price": 400000 } }

< 200 OK · result 1 of 12
{ "@type": "RealEstateListing",
  "name": "Two-bed, Campo de Ourique",
  "offers": { "price": 385000, "priceCurrency": "EUR" },
  "floorSize": { "value": 74, "unitCode": "MTK" },
  "status": "available",
  "provenance": { "source": "licensed", "optIn": true } }
A sample call against the rail — schema.org listing, live status, provenance on the record.

For AI platforms

One rail. Every source.Real, live listings.

Stop scraping stale, JS-walled portal pages. Query one MCP rail for clean, deduplicated, licensed European inventory — with a qualified-lead handoff back to the human.

Opens a short prefilled email. No forms, no gate.

  • 87%of audited EU portals unreadable to agents
  • ~47%live-blocked by a bot-wall (14/30)
  • 3 of 88portals worldwide use a proper listing schema
  • Placy audit, 2026

mcp · placy rail · search_listings

> tools/call search_listings
{ "query": "2-bed near a metro, Lisbon",
  "filters": { "max_price": 400000 } }

< 200 OK · result 1 of 12
{ "@type": "RealEstateListing",
  "name": "Two-bed, Campo de Ourique",
  "offers": { "price": 385000 },
  "floorSize": { "value": 74 },
  "status": "available",
  "provenance": { "optIn": true } }
A sample call against the rail — schema.org listing, live status, provenance on the record.

For AI platforms

One rail. Every source.Real, live listings.

Clean, deduplicated, licensed European property inventory — one MCP rail with search, listing detail, and a qualified-lead handoff back to the human. No scraping, no stale pages.

Opens a short prefilled email. No forms, no gate.

mcp · placy rail · search_listings

> tools/call search_listings
{ "query": "2-bed near a metro, Lisbon",
  "filters": { "max_price": 400000 } }

< 200 OK · result 1 of 12
{ "@type": "RealEstateListing",
  "name": "Two-bed, Campo de Ourique",
  "offers": { "price": 385000, "priceCurrency": "EUR" },
  "floorSize": { "value": 74, "unitCode": "MTK" },
  "status": "available",
  "provenance": { "source": "licensed", "optIn": true } }
Schema.org listing, live status, provenance — on every record.
Scroll

The problem with live pages

Why not read the live pages yourself?

Because "read the live page" breaks exactly where European property lives. Listings are JavaScript-walled, duplicated across agencies and portals, stale within days, and render-gap-blind to any non-rendering agent. And roughly half of the portals we audited are live-blocked by a WAF — regardless of what their robots.txt says.

  • blocked
  • js-walled
  • blocked
  • readable
  • js-walled
  • blocked
  • js-walled
  • blocked
  • js-walled
  • blocked
  • readable
  • js-walled
  • blocked
  • js-walled
  • blocked
  • js-walled
  • blocked
  • js-walled
  • readable
  • blocked
  • js-walled
  • blocked
  • js-walled
  • blocked
  • js-walled
  • blocked
  • readable
  • js-walled
  • blocked
  • js-walled
A grid of 30 audited European portals: 87% shown as struck-through grey blocks (invisible or blocked to a non-rendering agent), the small remainder as readable black-bordered blocks.
  • 87%1 of audited EU portals invisible or blocked to a non-rendering agent
  • ~47%1 live-blocked by a WAF (14/30)
  • 3 of 881 portals worldwide use the proper RealEstateListing schema

Structured, licensed, and live beats scraped, stale, and unauthorized.

¹ Audited by Placy, 2026. ² Shopify Q1 FY2026 earnings. AI is still <1% of retail traffic, so the 2x rides a small base. The direction — structured beats scraped — is what's proven.


The rail's surface

What you get

MCP tools

Call the rail in-conversation

An MCP server + registry your agents call directly: search_listings, listing detail, and a qualified-lead handoff. Structured answers, not HTML to parse. One integration lights up every market on the rail — no separate deal per portal.

Live status

A status state-machine, not a stock count

  • available
  • under_offer
  • sold_stc
  • sold

price_reduced · withdrawn

Target ≤15-min status cadence — price and status changes push as first-class incremental events.

Canonical listings

One property, one ID

The same flat is often posted by five agencies across five portals. The rail resolves those into one canonical property ID — deduplicated, enriched, with each agency exposed as an offer and provenance on every record.

Verified-agent identity

Web Bot Auth at the door

Verified-agent identity via Web Bot Auth admits good agents and blocks scrapers. You authenticate once as who you are; the rail stays clean for everyone querying it.


What's deliberately not here

Scoped to discovery and lead handoff.

Property is a high-value, regulated, no-cart purchase — so there is deliberately no checkout on the rail. AI finds and filters. A human confirms. The rail surfaces the match, then routes the human to a qualified-lead action — book a viewing, request details — attributed back to the agency.

From a Request-viewing action in an AI chat, the buyer is handed off to a human meeting at the property's front door
The rail ends at a human handshake: discovery happens in the assistant, the viewing happens in person.

Clean human hand-off; no transaction liability on your surface.

  • 44%3 would pay extra for a human to verify an AI housing decision

³ Cotality 2026, four-country survey including the UK — the leading indicator, not a Europe figure.


Engineering questions

Questions engineers ask

How do we integrate?

Placy exposes an MCP server + registry your agents call in-conversation — search, listing detail, and a qualified-lead handoff. One integration lights up all coverage; you don't negotiate a separate deal per portal.

Why not read the live pages ourselves?

Because European listings are JavaScript-walled, duplicated, stale, and roughly half of portals are live-blocked by a WAF. "Read the live page" breaks exactly there. Placy gives you clean, deduplicated, live, licensed data instead — with a canonical ID per property. The audit numbers are up-page.

How fresh is the data?

Status and price changes push as first-class incremental events, at a target ≤15-min cadence, through a real-estate status state-machine — available, under offer, sold subject to contract, sold. Stale data is the thing the rail is built to eliminate.

How do you keep out scrapers while letting us in?

Verified-agent identity via Web Bot Auth — the emerging open standard — admits good agents and blocks the rest.

Integrate Placy.One integration. Every source. Live, licensed, deduplicated.

Opens a short prefilled email to hello@placy.com — platform, use case. No forms, no gate.