Real Estate Schema Markup: The Complete JSON-LD Guide
Schema markup is structured data (JSON-LD placed in a page's <head>) that tells search engines and AI crawlers exactly what a business is, where it operates, and what it offers, without requiring them to infer it from prose. This guide provides validated, copy-paste templates for real estate agencies, builders, and property managers.
areaServed and current credentials) then re-validated every time content, licensing, or coverage changes. Schema is one of seven steps in the full framework; on its own it rarely moves AI visibility. If you'd rather have this maintained for you, that's what our Audit + Full Fix and Monthly Growth Plan cover.Templates in this guide
1. RealEstateAgent. For Agencies and Agents
Use RealEstateAgent for brokerages, agencies, buyers agencies, and individual agent profile pages. Required fields for GEO purposes: name, description, areaServed, and address.
{
"@context": "https://schema.org",
"@type": "RealEstateAgent",
"name": "Your Agency Name",
"url": "https://youragency.com",
"description": "Residential sales and buyers agency
specializing in [specialty], covering
[area], established [year].",
"areaServed": [
{"@type": "Place", "name": "Suburb One"},
{"@type": "Place", "name": "Suburb Two"},
{"@type": "Place", "name": "Suburb Three"}
],
"address": {
"@type": "PostalAddress",
"streetAddress": "Street address",
"addressLocality": "City",
"addressRegion": "State/Region",
"postalCode": "Postal code",
"addressCountry": "US"
},
"telephone": "+1 000-000-0000",
"email": "hello@youragency.com",
"sameAs": [
"https://www.linkedin.com/company/...",
"https://www.facebook.com/...",
"https://www.instagram.com/..."
],
"areaServed_note": "Repeat for every suburb/city genuinely served, do not list areas you don't actually cover."
}
areaServed_note key above is illustrative documentation, not valid schema, remove it before deploying. Only list areas you genuinely serve; AI engines and Google both penalize entity claims that don't match reality when discovered.2. GeneralContractor / HomeAndConstructionBusiness. For Builders
Use GeneralContractor for builders and general contractors; use the broader HomeAndConstructionBusiness parent type for remodelers, fit-out specialists, and trade contractors that don't fit neatly under "general contractor."
{
"@context": "https://schema.org",
"@type": "GeneralContractor",
"name": "Your Construction Company",
"url": "https://yourcompany.com",
"description": "Custom home builder and renovation
contractor serving [region], licensed
contractor #[license number],
established [year].",
"areaServed": [
{"@type": "City", "name": "City One"},
{"@type": "City", "name": "City Two"}
],
"address": {
"@type": "PostalAddress",
"addressLocality": "City",
"addressRegion": "State/Region",
"addressCountry": "AU"
},
"telephone": "+61 0 0000 0000",
"priceRange": "$$$"
}
3. LocalBusiness. For Property Managers
LocalBusiness is the correct type for property management companies, which schema.org does not classify under real estate agent types.
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Your Property Management Company",
"url": "https://yourcompany.com",
"description": "Residential and commercial property
management company serving [areas],
managing [X]+ units since [year].",
"areaServed": [
{"@type": "City", "name": "City One"}
],
"address": {
"@type": "PostalAddress",
"addressLocality": "City",
"addressRegion": "State/Region",
"addressCountry": "PH"
},
"telephone": "+63 0 0000 0000",
"openingHours": "Mo-Fr 09:00-18:00"
}
4. Supporting Schema: Organization, BreadcrumbList, FAQPage
Every property business site should also carry these three, regardless of primary business type:
Organization (homepage)
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Your Company Name",
"url": "https://yourcompany.com",
"logo": "https://yourcompany.com/logo.png",
"sameAs": ["https://www.linkedin.com/company/..."]
}
BreadcrumbList (every inner page)
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{"@type": "ListItem", "position": 1,
"name": "Home", "item": "https://yourcompany.com/"},
{"@type": "ListItem", "position": 2,
"name": "Page Name",
"item": "https://yourcompany.com/page/"}
]
}
FAQPage (pages with genuine Q&A content)
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{"@type": "Question",
"name": "Your question here?",
"acceptedAnswer": {"@type": "Answer",
"text": "A direct, complete answer."}}
]
}
Per current schema guidance, FAQPage markup is primarily a GEO/AI Overview signal rather than a guaranteed rich-result feature in Google, it remains worth deploying for AI-answer visibility, but should not be the only schema priority on a page.
5. How to Validate and Deploy
- Place the JSON-LD inside a
<script type="application/ld+json">tag in the page<head>. - Validate at validator.schema.org, paste the raw JSON and confirm zero errors.
- Test in Google's Rich Results Test to confirm Google's parser reads it correctly.
- Combine multiple schema types on one page using a single
@grapharray rather than multiple separate script tags, cleaner and easier to maintain. - Re-validate after every content update, schema that references outdated service areas or credentials actively misleads AI engines.
6. Common Mistakes That Make Schema Useless
| Mistake | Why it fails |
|---|---|
Copy-pasting a competitor's schema without editing areaServed or name | AI engines cross-check entity data against other sources; mismatches erode trust in the entire domain |
| Listing areas the business doesn't actually serve | Read as manipulation once discovered; can suppress citation rather than earn it |
| Schema on the homepage only, none on service pages | Each page needs its own scoped markup: a suburb page should declare that suburb, not just repeat the homepage's full list |
| Invalid JSON syntax (trailing commas, unescaped quotes) | Parsers silently ignore malformed blocks, always validate before deploying |
| Schema present but content contradicts it | If markup claims "licensed and insured" but no license number appears anywhere in visible text, AI engines weight the visible content more heavily |
Want this implemented correctly, site-wide?
We deploy and validate this full schema stack as part of every real estate AI visibility engagement, for agencies, builders, and property managers alike.
Get My Free AI Visibility Audit →This guide is a companion to the complete 2026 guide to AI search optimization for real estate. See also: agencies · builders · property management.
Source: Schema.org vocabulary specification. Validation tools: validator.schema.org, Google Rich Results Test.