XooCode(){

House

House is an Accommodation subtype for residential houses: standalone homes, townhouses, row houses. It re-declares numberOfRooms from Accommodation but inherits everything else: floorSize, numberOfBedrooms, numberOfBathroomsTotal, occupancy, amenityFeature, petsAllowed, yearBuilt. For single-family detached homes, prefer the more specific SingleFamilyResidence.

The type hierarchy is Thing → Place → Accommodation → House. Real estate listing sites read House for the residential property listing rich result. The most important properties for SEO are address, floorSize, numberOfBedrooms, numberOfBathroomsTotal, image, and geo.

Full example of schema.org/House json-ld markup

The markup is verified as valid with Rich Results Test from Google.

Highlight legend:Required by GoogleRecommendedOptional
schema.org/House
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@id": "https://dunmorerealty.com/listings/418-elm-street#house",
  "@type": "House",
  "name": "418 Elm Street, Dunmore",
  "description": "Charming 1948 colonial-style house on a quiet residential street, three blocks from Main Street. Three bedrooms, two full bathrooms, finished basement, detached garage, mature landscaping.",
  "url": "https://dunmorerealty.com/listings/418-elm-street",
  "image": [
    "https://dunmorerealty.com/listings/418-elm-street/exterior-1x1.jpg",
    "https://dunmorerealty.com/listings/418-elm-street/exterior-4x3.jpg",
    "https://dunmorerealty.com/listings/418-elm-street/exterior-16x9.jpg"
  ],
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "418 Elm Street",
    "addressLocality": "Dunmore",
    "addressRegion": "PA",
    "postalCode": "18512",
    "addressCountry": "US"
  },
  "geo": { "@type": "GeoCoordinates", "latitude": 41.4205, "longitude": -75.6312 },
  "floorSize": { "@type": "QuantitativeValue", "value": "1850", "unitCode": "FTK" },
  "numberOfRooms": 7,
  "numberOfBedrooms": 3,
  "numberOfBathroomsTotal": 2,
  "numberOfFullBathrooms": 2,
  "numberOfPartialBathrooms": 0,
  "occupancy": { "@type": "QuantitativeValue", "value": 6 },
  "yearBuilt": 1948,
  "petsAllowed": true,
  "amenityFeature": [
    { "@type": "LocationFeatureSpecification", "name": "Detached garage", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Finished basement", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Central air", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Hardwood floors", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Fenced yard", "value": true }
  ]
}
</script>

House vs SingleFamilyResidence vs Apartment

House is the broader category. SingleFamilyResidence is specifically a single-family detached home. Apartment is a self-contained unit within a larger building. For townhouses and row houses, use House. For freestanding single-family homes, use SingleFamilyResidence. The distinction matters because financing, zoning, and listing portals treat them differently.

What goes in House vs the listing

House describes the physical property. The sale or rental listing (price, agent, listing date) is a separate entity. For sale listings, wrap the House in an Offer with price and availability. The House itself does not have price properties; it has physical and feature properties.

Minimal valid version

The smallest markup that still produces a valid House 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/House (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "House",
  "name": "418 Elm Street, Dunmore",
  "address": { "@type": "PostalAddress", "streetAddress": "418 Elm Street", "addressLocality": "Dunmore", "addressRegion": "PA", "addressCountry": "US" },
  "numberOfBedrooms": 3,
  "numberOfBathroomsTotal": 2,
  "floorSize": { "@type": "QuantitativeValue", "value": "1850", "unitCode": "FTK" },
  "image": "https://dunmorerealty.com/listings/418-elm-street/exterior-16x9.jpg",
  "description": "1948 colonial-style house, 3 bedrooms, 2 bathrooms."
}
</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.

Common House 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

    Using House for a townhouse vs SingleFamilyResidence for a detached home

    Wrong
    "@type": "House" for both townhouses and detached single-family homes
    Right
    Use SingleFamilyResidence for detached homes; House for townhouses, row houses, attached residential types

    Real estate portals and Google distinguish single-family detached homes from other residential types because they have different financing, insurance, and zoning treatments.

  2. 02

    Putting price properties on House

    Wrong
    "price": "350000" directly on the House entity
    Right
    Use offers with an Offer object containing price

    House describes the physical property, not the sale. Price belongs on an Offer (for sale or rental). Use the offers property to attach an Offer with price, priceCurrency, availability, and validFrom dates.

  3. 03

    floorSize using imperial units without unitCode

    Wrong
    "floorSize": "1850 sq ft"
    Right
    "floorSize": { "@type": "QuantitativeValue", "value": "1850", "unitCode": "FTK" }

    floorSize must be a QuantitativeValue with unitCode (FTK for square feet, MTK for square meters). A text string with units does not parse cleanly.

About the example data

A house listing in Dunmore, PA, the same town where the Thunderdome and the Xoo Code universe are based.

Comments

Loading comments...

Leave a comment