The neutral supply layer for AI real estate

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 — platform, use case. No forms, no gate.

mcp · placy rail · search_listings · sample

> tools/call search_listings
{
  "query": "two-bed apartment near a metro, Lisbon, under €400k",
  "filters": { "bedrooms": 2, "max_price": 400000, "market": "PT" }
}

< 200 OK · result 1 of 12
{
  "@type": "RealEstateListing",
  "id": "plc:PT-LIS-004217",
  "name": "Two-bed apartment, Campo de Ourique",
  "offers": {
    "@type": "Offer",
    "price": 385000,
    "priceCurrency": "EUR",
    "availability": "https://schema.org/InStock"
  },
  "floorSize": { "value": 74, "unitCode": "MTK" },
  "numberOfBedrooms": 2,
  "status": "available",
  "provenance": { "source": "listing agency, licensed", "optIn": true },
  "updated": "2026-07-05T09:41:12Z"
}
A sample search_listings call against the Placy MCP rail and one truncated response: a schema.org RealEstateListing with price, floor size, availability, live status, and provenance on the record.

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.

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.