Real estate is the most myth-heavy vertical in structured data, and you deserve a straight answer before you spend time on it. So here it is, up front: Google has no dedicated property-listing rich result. There is no "property card" snippet, no property carousel that RealEstateListing schema unlocks the way Product schema unlocks a shopping result. If you have read guides promising your listings will show up as rich property cards in Google, they are describing a feature that does not exist.
That sounds like bad news, but it isn't, because it lets us focus on what real estate schema genuinely does, which is increasingly valuable and which most agents and brokerages haven't done well. Real estate schema makes your listings, your agents, and your brokerage legible to Google's local systems and, more and more, to the AI systems people now use to search for property. This guide gives you the honest, accurate picture: what to mark up, what it actually earns you, and how to do it well, without chasing rich results that aren't real.
The honest truth about real estate rich results
Let's clear the myths so you can make good decisions.
There is no dedicated property-listing rich result in Google Search. RealEstateListing schema is valid, useful structured data, but adding it doesn't produce a special visual property card in search results. Google simply doesn't offer that feature for property listings the way it does for products, recipes, or events. You can check this yourself against Google's own structured data gallery, which lists every feature Google produces a rich result for. Property listings are not on it.
Guides promising "property carousels" are describing something that isn't there. You will see confident references to property carousels and rich property snippets. Treat these with skepticism. They are not documented Google features for listings, and building your strategy around them leads to disappointment.
Schema still doesn't guarantee any rich result. Even for the types that do have rich results, schema makes you eligible, not entitled. For real estate specifically, where there is no dedicated listing result at all, it is especially important to understand what you are actually getting.
So why is real estate schema still genuinely worth doing? Because the value was never really in a property card. It is in three other things that matter more in 2026.
What real estate schema actually does for you
Here is the real return, and it is substantial.
Local visibility. Real estate is intensely local, and while property listings don't get a rich result, your brokerage and agents can benefit from local structured data. RealEstateAgent and LocalBusiness markup for your agency, with proper location and contact data, supports your visibility in Google's local results and Maps, where a huge share of property search intent actually lands. Local business is a supported rich result, and that is the concrete, documented win here.
Entity understanding. Schema turns your listings, properties, agents, and brokerage into connected, machine-readable things rather than paragraphs of text Google has to parse and guess about. When you mark up a listing, search engines and AI understand it as a structured property with a specific address, price, size, and bedroom count, connected to a specific agent and brokerage. That clarity is exactly what modern search runs on.
AI property search. This is the fastest-growing reason, and the most future-facing. AI systems increasingly extract property data straight from structured sources to match listings to what buyers are asking for. When someone asks an AI to find three-bedroom houses under $500k in a particular area, the systems answering that work far better from structured property data than from prose. Marking up your listings makes them available to this rapidly growing channel, and most of your competitors haven't done it.
None of these is a flashy rich result. All of them matter more than one would. Let's build them.
The building blocks
Real estate schema isn't one type. It is a small set working together:
RealEstateListingdescribes an individual property listing (a subtype of the general listing vocabulary)- A property type such as
SingleFamilyResidence,Apartment,House, orCondominium, describing what kind of property it is Offercarries the price and availability, for sale or for rentPlace/PostalAddress/GeoCoordinatescarry the location, which is central for real estateRealEstateAgentis the agent or agency, connected to the listingOrganizationis your brokerage as a business entity
The power comes from connecting these into one graph: a listing, for a specific property type, at a specific location, offered at a specific price, by a specific agent, at a specific brokerage. That connected picture is what makes the whole thing legible.
A complete listing example
Here is a well-formed property listing bringing the pieces together:
{
"@context": "https://schema.org",
"@type": "RealEstateListing",
"name": "3-Bedroom Family Home, South Austin",
"url": "https://example.com/listings/123-main-street",
"datePosted": "2026-08-01",
"image": "https://example.com/listings/123-main-exterior.jpg",
"description": "A bright three-bedroom family home with a landscaped garden in a quiet South Austin neighborhood.",
"about": {
"@type": "SingleFamilyResidence",
"name": "123 Main Street",
"numberOfRooms": 6,
"numberOfBedrooms": 3,
"numberOfBathroomsTotal": 2,
"floorSize": {
"@type": "QuantitativeValue",
"value": 1850,
"unitCode": "FTK"
},
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main Street",
"addressLocality": "Austin",
"addressRegion": "TX",
"postalCode": "78704",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 30.2454,
"longitude": -97.7688
},
"amenityFeature": [
{ "@type": "LocationFeatureSpecification", "name": "Central Air Conditioning", "value": true },
{ "@type": "LocationFeatureSpecification", "name": "Garage", "value": true }
]
},
"offers": {
"@type": "Offer",
"price": "485000",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
}
}Notice the structure. The RealEstateListing describes the listing. Its about describes the actual property, with its type, size, rooms, address, coordinates, and features. The offers describes the price. That separation of listing, property, and offer is the clean way to model it, and each piece can then connect to your agent and brokerage entities.
Also note the essentials. Include an image as a direct, high-resolution link, because images matter enormously for engagement and give AI systems something concrete to work with. Give the price as a plain number with a priceCurrency, no symbols and no commas. And include full location data, geo coordinates included.
Property types
Use the specific property type in the about. It tells machines exactly what kind of property this is:
| Property type | Use it for |
|---|---|
SingleFamilyResidence | Standalone detached houses |
Apartment | Apartments and flats |
House | Houses generally, when nothing more specific fits |
Condominium | Condos |
Townhouse | Terraced and row properties |
Residence | The generic fallback, only when none of the above apply |
As always, specific beats generic. A machine understands SingleFamilyResidence more precisely than a bare listing, which helps AI match your property to a buyer searching for exactly that kind of home. The same principle runs through every type in our schema types library.
Location: where the local value lives
Location is everything in real estate, and it is where structured data earns real visibility, just not through a listing rich result.
Mark up the property's location precisely with PostalAddress and GeoCoordinates. This helps search engines and AI understand exactly where a property sits, which is central to matching it to location-based searches like "homes in South Austin."
Mark up your brokerage as a RealEstateAgent and LocalBusiness. This is where the local-visibility value actually lives. Your agency, with proper name, address, phone, hours, geo, and sameAs links, is a local business, and local business structured data is one of the features Google genuinely supports. It backs your presence in Google's local results and Maps, where a large share of real estate searches happen. If you operate from multiple offices, the patterns in our multi-location and service-area guide apply directly.
So the local strategy is two layers: precise location data on each property, and solid local business markup for your brokerage. The properties become understandable. The business becomes findable.
The agent and brokerage entity
Here is where real estate schema connects to the bigger entity picture, and where a lot of value is left unclaimed.
Your agents and your brokerage are entities, and connecting your listings to them builds a graph that AI systems increasingly rely on. When a listing connects to a specific RealEstateAgent, who connects to an Organization (your brokerage) with a clear identity and reputation, you are telling machines not just "here is a property" but "here is a property, offered by this specific, real, recognized agent at this established brokerage." That context makes your listings more trustworthy and more matchable.
In practice, the connection looks like this, added to the listing above:
{
"@type": "RealEstateListing",
"name": "3-Bedroom Family Home, South Austin",
"provider": {
"@type": "RealEstateAgent",
"@id": "https://example.com/#agency",
"name": "Bluebonnet Realty",
"url": "https://example.com/",
"telephone": "+1-512-555-0142",
"address": {
"@type": "PostalAddress",
"streetAddress": "400 Congress Avenue",
"addressLocality": "Austin",
"addressRegion": "TX",
"postalCode": "78701",
"addressCountry": "US"
},
"sameAs": [
"https://www.linkedin.com/company/example-realty",
"https://www.facebook.com/examplerealty"
],
"employee": {
"@type": "Person",
"name": "Dana Whitfield",
"jobTitle": "Listing Agent",
"url": "https://example.com/agents/dana-whitfield"
}
}
}Model your agents as real Person or RealEstateAgent entities with their own credentials and profile links, connect them to your brokerage, and connect your listings to them. This is the same entity thinking that underpins all of modern AI search, and for real estate, where trust and local reputation matter enormously, it is especially powerful. If you have built out a brand entity profile, your listings, agents, and brokerage all become part of it, reinforcing each other.
Pricing and availability
Price is central, and there are rules worth getting right.
pricemust be a plain number. Write"485000", not"$485,000". No currency symbols, no commas, no ranges in the field itself.priceCurrencycarries the currency as a three-letter ISO code such asUSD,GBP, orAUD.availabilitysignals whether the property is available, and it is worth keeping current as listings go under offer or sell.
For rentals, you can express the pricing structure differently, but the same principles apply: clean numerical values, clear currency, and accurate availability. If you are marking up a lettings agency's services rather than individual properties, the thinking in our Service schema guide carries over almost directly, and it makes the same honest point about a type with no rich result still being worth doing.
A note on Vacation Rental, the one that is different
This one deserves a clear heads-up, because it causes real confusion. Google does have a Vacation Rental structured data feature, but it is a different thing, and it is not for property sales.
Vacation Rental structured data is for short-term rental listings, and it is not openly available the way general schema is. Google's own vacation rental documentation states that its instructions "are intended for sites that have already connected with a Google Technical Account Manager and have access to the Hotel Center." Interested sites can submit an interest form, but Google is explicit that submitting one does not guarantee an invitation.
So if you are selling homes or doing long-term lettings, Vacation Rental is not your type. RealEstateListing and the property types above are. Don't confuse the two. The existence of Vacation Rental does not mean there is an open property-sale rich result waiting for you.
Keeping listings in sync
This is where real estate schema most often falls down in practice, and it matters more here than almost anywhere else: real estate inventory changes constantly. Prices drop, homes go under contract, listings sell, new properties come on. If your markup doesn't keep pace, you end up with structured data advertising a price that has changed or a property that has already sold, which is worse than no markup at all, because it actively misinforms buyers and search engines.
Hand-maintaining JSON-LD across a changing inventory is genuinely impractical. Every price change and status update becomes a manual edit, and things drift out of sync fast. This is exactly why generating markup from your live listing data matters so much for real estate specifically: your markup should update automatically as your inventory does.
There is a consistency angle worth keeping in mind too. In markets where your listings also appear in an MLS or a portal feed, buyers and the systems reading your pages will encounter both. Keeping your structured data consistent with those other sources, rather than letting one go stale, avoids the mismatches that undermine trust in your listings. Accurate, in-sync markup isn't a nice-to-have in real estate. It is the whole point.
Common mistakes and myths to avoid
Real estate's myth-heaviness means there is a lot to steer clear of.
Expecting a property rich result. Covered up front. It doesn't exist. Don't build your strategy around it or judge success by it.
Using Product schema for listings. Product doesn't fit property listings well. RealEstateListing with the right property type is the accurate choice.
Skipping local business markup. The biggest missed opportunity. Without RealEstateAgent or LocalBusiness markup for your brokerage, you forgo the local visibility that is real estate's most tangible schema benefit.
Missing or low-quality images. Images drive engagement on property pages more than almost any other element. Provide direct, high-resolution URLs, not thumbnails or lazy-loaded placeholders.
Symbols or commas in the price. Price must be a plain number, with the currency in priceCurrency.
Faking reviews or ratings. If you use review markup for your agency, it must be tied to genuine, real ratings. You cannot invent stars. This breaches Google's structured data policies and can cost you visibility.
Stale listings. The real estate killer. Markup that doesn't reflect current prices and availability misinforms and erodes trust. Keep it in sync.
Markup that doesn't match the page. As always, your schema must reflect what is genuinely on the listing page. If the price in your markup and the price on the page disagree, that is a problem.
Implementing it on WordPress
Real estate sites on WordPress usually run an IDX plugin or a listings system, and your approach should fit that reality.
Check what your IDX or listings plugin already outputs. View source on a listing page and see whether it produces RealEstateListing markup, whether that markup is complete, and whether it connects to your agent and brokerage. Many produce minimal structured data or none at all. The same is true of general SEO plugins: if you are relying on one for schema, our comparison with Yoast shows how far that coverage typically goes and where it stops.
Hand-maintaining markup is impractical for real estate more than in almost any other vertical, because of how constantly inventory changes. A static block per listing drifts stale the moment a price changes.
Generating from your live listing data is really the only approach that works at scale here. AI Schema Gen reads your listing pages and produces connected RealEstateListing, property, offer, and agent markup, validated and kept in sync as prices and statuses change, plus the local business markup for your brokerage that drives your local visibility. Because it generates from your live content, your listings stay accurate as your inventory moves, which is exactly the problem that sinks most real estate schema. It also weaves your listings, agents, and brokerage into a connected entity graph, which is where the AI-search value lives. Our setup docs walk through connecting a site, and there is a free plan if you want to try it on a handful of listings first.
Whatever route you choose, the tests are the same. Does each listing get complete, connected markup? Is your brokerage marked up as a local business? And does it all stay accurate as your inventory changes?
Real estate schema and AI property search
To close, it is worth being clear about where this is heading, because it reframes the whole effort positively.
The absence of a property rich result in Google Search is almost beside the point now. The real trajectory is that AI systems, including Google's AI features, ChatGPT, Perplexity, and dedicated property-search assistants, are increasingly how buyers find homes, and they work by understanding structured property data. A brokerage whose listings, agents, and properties are cleanly marked up and connected into an entity graph is legible to these systems. One relying on prose is not.
To be precise about the claim: structured data helps machines understand and attribute your content. It is not a documented requirement for appearing in any AI answer, and nobody can promise you a citation. What it does is remove ambiguity about what your properties are, where they are, what they cost, and who is selling them.
So the honest, forward-looking case for real estate schema isn't "get a rich result." It never really was. It is "make your properties and your brokerage understandable to the AI systems that are becoming how people search for property." That is a more durable goal than any snippet, and because real estate is so myth-heavy and most competitors chase phantom rich results, doing the real work well is a genuine advantage. Combined with a strong entity profile and solid local markup, it positions your listings for how property search actually works now and where it is clearly going.
Validating your real estate schema
The Schema Markup Validator at validator.schema.org is your primary tool, since it checks general schema.org validity. That is the appropriate test here, given there is no dedicated Google rich result to look for.
Google's Rich Results Test will validate syntax but will not show a property rich result, and that is expected, not a failure. Use it to catch errors, not to hunt for a listing card.
Search Console is where the measurable visibility shows up. Watch your Local Business and other enhancement reports, and if you see drops, revisit your markup.
Check your connections and accuracy. Confirm that listings connect to agents and to the brokerage, that prices and availability are current, and that locations are precise. Those three checks catch most real problems.
Frequently Asked Questions
Running a real estate site on WordPress? AI Schema Gen generates connected listing, property, offer, and agent markup, plus the local business markup for your brokerage, and keeps it in sync as prices and statuses change. Start free at aischemagen.com. More guides like this one are on the AI Schema Gen blog.
Generate perfect schema in 30 seconds
AI Schema Gen handles everything automatically, free to start.
Get Started Free