Real Estate Schema Markup: Property Listings, Agent Profiles, and Area Pages
Last Updated: February 25, 2026 · 16 min read
Real estate is one of the trickier schema use cases because schema.org does not have a dedicated RealEstateListing type. There are workarounds — good ones — using existing schema.org types that Google actively processes. This guide explains exactly which types to use for property listings, agent profiles, and area content, with complete JSON-LD examples you can adapt immediately.
There is no official RealEstateListing type
Schema.org does have a RealEstateListing type — it was introduced in 2023. However, it is a very new type and Google has not yet announced rich result support for it. The established approach is to use Product (for sale listings), Accommodation (for rentals), and Place plus LocalBusiness for agents and agencies. Both approaches are covered in this guide.
1. Schema types for real estate websites
| Page type | Recommended schema type | What it achieves |
|---|---|---|
| For-sale property listing | Product + Offer + Place | Price and availability in search, property details |
| Rental property listing | Accommodation + Offer | Rental details, price range |
| Agent profile page | Person + LocalBusiness link | Agent Knowledge Panel elements, E-E-A-T signals |
| Estate agency / office page | RealEstateAgent (LocalBusiness subtype) | Knowledge Panel, Maps listing, opening hours |
| Neighbourhood / area guide | Place + areaServed | Location entity understanding |
| Blog / market report | Article + author Person | Article rich results, author authority |
2. Property listing schema — for-sale properties
Using Product with a nested Offer and Place gives you the richest possible schema for a for-sale property. Product covers the listing details, Offer covers the price and availability, and Place covers the geographic location.
{
"@context": "https://schema.org",
"@type": "Product",
"name": "4-Bedroom Detached House — 14 Oak Avenue, Bristol BS6",
"description": "Spacious 4-bed family home with south-facing garden, 2 bathrooms, open-plan kitchen. Walking distance to Redland station.",
"image": [
"https://yoursite.com/property/14-oak-avenue/hero.jpg",
"https://yoursite.com/property/14-oak-avenue/kitchen.jpg",
"https://yoursite.com/property/14-oak-avenue/garden.jpg"
],
"url": "https://yoursite.com/properties/14-oak-avenue-bristol-bs6",
"offers": {
"@type": "Offer",
"price": "575000",
"priceCurrency": "GBP",
"availability": "https://schema.org/InStock",
"priceSpecification": {
"@type": "PriceSpecification",
"price": "575000",
"priceCurrency": "GBP"
}
},
"additionalProperty": [
{ "@type": "PropertyValue", "name": "Bedrooms", "value": "4" },
{ "@type": "PropertyValue", "name": "Bathrooms", "value": "2" },
{ "@type": "PropertyValue", "name": "Floor Area", "value": "148 sqm" },
{ "@type": "PropertyValue", "name": "Property Type", "value": "Detached House" },
{ "@type": "PropertyValue", "name": "Garden", "value": "South-facing, 60ft" }
],
"brand": {
"@type": "Organization",
"name": "Your Estate Agency",
"url": "https://youragency.com"
}
}3. Rental property schema
For rentals, schema.org's Accommodation type is more semantically accurate than Product. It has built-in properties for room count, amenities, and accommodation category:
{
"@context": "https://schema.org",
"@type": "Apartment",
"name": "2-Bed Apartment — Central Manchester, M1",
"description": "Modern 2-bedroom apartment on the 8th floor with city views. Fully furnished. Available from March 2026.",
"image": "https://yoursite.com/listings/manchester-m1-2bed/exterior.jpg",
"url": "https://yoursite.com/listings/manchester-m1-2bed",
"numberOfRooms": 3,
"numberOfBedrooms": 2,
"numberOfBathroomsTotal": 1,
"floorSize": { "@type": "QuantitativeValue", "value": 72, "unitCode": "MTK" },
"amenityFeature": [
{ "@type": "LocationFeatureSpecification", "name": "Parking", "value": true },
{ "@type": "LocationFeatureSpecification", "name": "Balcony", "value": true },
{ "@type": "LocationFeatureSpecification", "name": "Pet Friendly", "value": false }
],
"address": {
"@type": "PostalAddress",
"streetAddress": "32 Portland Street",
"addressLocality": "Manchester",
"postalCode": "M1 3LA",
"addressCountry": "GB"
},
"offers": {
"@type": "Offer",
"price": "1650",
"priceCurrency": "GBP",
"priceSpecification": {
"@type": "UnitPriceSpecification",
"price": "1650",
"priceCurrency": "GBP",
"unitText": "per month"
}
}
}4. Estate agency / office schema
RealEstateAgent is a subtype of LocalBusiness defined in schema.org. Use it on your agency's branch pages and headquarters page. It populates your Google Business Profile-linked Knowledge Panel and can improve local search visibility:
{
"@context": "https://schema.org",
"@type": "RealEstateAgent",
"@id": "https://youragency.com/bristol-office/#business",
"name": "Bristol Property Group — Clifton Office",
"url": "https://youragency.com/bristol-office",
"telephone": "+44-117-555-0100",
"email": "[email protected]",
"address": {
"@type": "PostalAddress",
"streetAddress": "8 Princess Victoria Street",
"addressLocality": "Bristol",
"postalCode": "BS8 4BP",
"addressCountry": "GB"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": "51.4514",
"longitude": "-2.6235"
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
"opens": "09:00", "closes": "18:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday",
"opens": "09:30", "closes": "16:00"
}
],
"image": "https://youragency.com/images/clifton-office.jpg",
"sameAs": [
"https://www.rightmove.co.uk/estate-agents/YOUR-ID.html",
"https://www.zoopla.co.uk/find-agents/branch/YOUR-ID"
],
"areaServed": [
{ "@type": "City", "name": "Bristol" },
{ "@type": "AdministrativeArea", "name": "South Gloucestershire" }
]
}5. Agent profile schema
Individual agent profile pages should use Person schema. This builds E-E-A-T signals for the agent — showing Google that this person has real expertise and is associated with a legitimate organisation:
{
"@context": "https://schema.org",
"@type": "Person",
"@id": "https://youragency.com/agents/sarah-johnson/#person",
"name": "Sarah Johnson",
"jobTitle": "Senior Sales Negotiator",
"image": "https://youragency.com/images/agents/sarah-johnson.jpg",
"url": "https://youragency.com/agents/sarah-johnson",
"worksFor": {
"@type": "RealEstateAgent",
"@id": "https://youragency.com/bristol-office/#business",
"name": "Bristol Property Group"
},
"knowsAbout": ["Bristol Property Market", "First-Time Buyers", "Property Valuation"],
"description": "Sarah has 8 years of experience selling residential property in Bristol and South Gloucestershire.",
"sameAs": [
"https://linkedin.com/in/sarahjohnsonproperty"
]
}6. Neighbourhood and area content schema
Area guide pages — "Living in Clifton", "Manchester Property Market 2026" — should use Place schema combined with an Article for the content itself. The Place schema tells Google about the geographic entity your article is about:
[
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Living in Clifton, Bristol: A Local's Guide",
"datePublished": "2026-02-25T00:00:00Z",
"author": {
"@type": "Person",
"name": "Sarah Johnson",
"@id": "https://youragency.com/agents/sarah-johnson/#person"
},
"about": { "@type": "Place", "name": "Clifton, Bristol" }
},
{
"@context": "https://schema.org",
"@type": "Place",
"name": "Clifton",
"containedInPlace": {
"@type": "City",
"name": "Bristol",
"addressCountry": "GB"
},
"description": "Clifton is an affluent residential neighbourhood in Bristol, known for the Clifton Suspension Bridge and Georgian architecture."
}
]Frequently Asked Questions
Is there an official RealEstateListing schema type?▼
Schema.org introduced a RealEstateListing type in 2023, but Google has not yet announced rich result support for it. The established and tested approach is to use Product (for-sale), Accommodation (rentals), RealEstateAgent (agencies), and Person (agents) as covered in this guide.
Can I use Product schema for property listings?▼
Yes — Product with nested Offer is the most commonly used approach for for-sale property listings. Product covers the descriptive details; Offer covers price, currency, and availability. Use additionalProperty with PropertyValue to add bedroom count, floor area, etc.
What is the difference between Accommodation and Apartment schema?▼
Apartment is a subtype of Accommodation. Use Apartment for self-contained flats, House for houses, and the broader Accommodation when the property type is unknown or mixed. All inherit the same properties including numberOfBedrooms, floorSize, and amenityFeature.
How do I add a real estate agent profile for SEO?▼
Use Person schema on the agent's profile page with worksFor linking to the RealEstateAgent (agency) entity. Include knowsAbout for their area specialisms, hasCredential for professional memberships, and sameAs linking to LinkedIn. This builds E-E-A-T signals for the agent.
Does real estate schema produce rich results in Google?▼
Rich results for individual property listings are limited. The main benefits are: populating Knowledge Panels for agencies and agents, improving local search presence via LocalBusiness signals, and providing structured signals that inform Google's understanding of the content for AI Overviews.
Should I use RealEstateAgent or Organization for my agency?▼
Use RealEstateAgent, which is a subtype of LocalBusiness. It inherits all LocalBusiness properties (address, telephone, openingHours, geo) while also being semantically specific. This gives your agency better local search signals than plain Organization.
How do I handle sold or unavailable property listings in schema?▼
Update the Offer availability to "https://schema.org/SoldOut" or "https://schema.org/OutOfStock" when a property is sold or let. Do not remove the schema immediately — let Google recrawl the updated availability before the page is removed or archived.
Can I mark up multiple properties on one page with schema?▼
For a search results or listing page, use ItemList schema with ListItem entries, each referencing (or embedding) an individual property's schema. Do not put Product or Accommodation schema directly on a listings page — those types are for single-property pages.
Validate Your Real Estate Schema
Paste your property listing JSON-LD or enter a listing URL to validate required fields, check for errors, and confirm rich result eligibility.
Validate Property Schema →Related Guides
What is Schema.org?
The vocabulary powering all structured data
Schema Markup Tutorial
Step-by-step guide to adding JSON-LD
Google Rich Results Guide
Which schema types unlock rich results
Schema Markup Checker
Validate and debug your structured data
Schema Markup Audit
Audit all schema across your entire site
E-Commerce Schema Markup
Product and offer schema for commercial sites