RealEstateListing
RealEstateListing is a WebPage subtype for pages advertising a specific property for sale or rent. It adds 2 direct properties:
datePosted(Date or DateTime): when the listing went live.leaseLength(Duration or QuantitativeValue): for rentals, the lease term.
Pair RealEstateListing with an inline about or mainEntity pointing to an Accommodation (House, Apartment, SingleFamilyResidence) with full floor-plan, feature, price, and Offer data.
Full example of schema.org/RealEstateListing json-ld markup
The markup is verified as valid with Rich Results Test from Google.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "RealEstateListing",
"@id": "https://dunmorehomes.example/rentals/214-maple-street",
"name": "3-bed single-family home for rent — 214 Maple Street, Dunmore",
"url": "https://dunmorehomes.example/rentals/214-maple-street",
"datePosted": "2026-04-10",
"leaseLength": { "@type": "QuantitativeValue", "value": 12, "unitCode": "MON", "unitText": "month lease" },
"mainEntity": {
"@type": "SingleFamilyResidence",
"name": "214 Maple Street, Dunmore, PA",
"numberOfRooms": 6,
"numberOfBedrooms": 3,
"numberOfBathroomsTotal": 2,
"floorSize": { "@type": "QuantitativeValue", "value": 1600, "unitCode": "FTK" },
"address": { "@type": "PostalAddress", "streetAddress": "214 Maple Street", "addressLocality": "Dunmore", "addressRegion": "PA", "postalCode": "18512", "addressCountry": "US" },
"amenityFeature": [
{ "@type": "LocationFeatureSpecification", "name": "Off-street parking", "value": true },
{ "@type": "LocationFeatureSpecification", "name": "Fenced yard", "value": true },
{ "@type": "LocationFeatureSpecification", "name": "In-unit laundry", "value": true }
],
"offers": { "@type": "Offer", "price": "2400.00", "priceCurrency": "USD", "businessFunction": "https://purl.org/goodrelations/v1#LeaseOut" }
}
}
</script>Minimal valid version
The smallest markup that still produces a valid RealEstateListing entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "RealEstateListing",
"name": "3-bed home for rent — 214 Maple Street",
"datePosted": "2026-04-10",
"mainEntity": { "@type": "SingleFamilyResidence", "name": "214 Maple Street" }
}
</script>Google rich results this unlocks
Markup matching this example makes your page eligible for the following Google Search rich results. The primary target drives the required / recommended property classification in the advanced code block above.
- Google docsReal-estate listing surfaces (portal integrations)primary
Common RealEstateListing mistakes
Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.
- 01
Missing businessFunction on rental offers
WrongOffer with price only on a rentalRightbusinessFunction: LeaseOut on rentals; Sell on salesReal-estate portals key on businessFunction to separate sale from rental feeds.
- 02
leaseLength as plain number
Wrong"leaseLength": 12RightQuantitativeValue with unitCode (MON) or ISO 8601 duration "P1Y"Consumers need the unit to interpret the lease term.
Schema properties in this example
About the example data
A rental listing for a Dunmore single-family house.
Comments
Loading comments...