XooCode(){

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.

Highlight legend:Required by GoogleRecommendedOptional
schema.org/RealEstateListing
<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.

schema.org/RealEstateListing (minimal)
<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.

  • Real-estate listing surfaces (portal integrations)primary
    Google docs

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.

  1. 01

    Missing businessFunction on rental offers

    Wrong
    Offer with price only on a rental
    Right
    businessFunction: LeaseOut on rentals; Sell on sales

    Real-estate portals key on businessFunction to separate sale from rental feeds.

  2. 02

    leaseLength as plain number

    Wrong
    "leaseLength": 12
    Right
    QuantitativeValue with unitCode (MON) or ISO 8601 duration "P1Y"

    Consumers need the unit to interpret the lease term.

About the example data

A rental listing for a Dunmore single-family house.

Comments

Loading comments...

Leave a comment