Markdown

Report

The properties Google requires, and what they rest on

Skip a recommended property and a rich result can still appear, just thinner than it could be. Skip a required one and Google will not show the rich result at all, which makes a required property a much stronger promise than a recommended one. I read every required property from Google's own documentation for all 32 live features. Then I checked how many websites already use each one, against the same monthly usage file the rest of this project is built from. 30 of those features need at least one required property, and 6 of them rest on a property Schema.org has not yet ratified. One required property sits in Google's smallest band, on fewer than a thousand websites, and that is where this page starts.

What each live feature requires

July 2026 · six ranges, no exact numbersGoogle and the Schema.org community, Schema.org usage statistics dataset. Websites in Google's index.

Across the 30 features, I counted 170 required properties, one row for every feature that asks for a specific one. 169 of them carry a usage figure; the other, xPath on speakable, is not a Schema.org property, so it has no band to sit in and is not counted either way. 168 of the 169 measured properties already sit above Google's smallest band, and that is the real finding here, not a footnote to it. Google will not show a rich result at all if a required property is missing, so a required property has to already be something the web has broadly adopted. Otherwise the feature barely works for anyone who follows the documentation exactly as written. Book breaks that pattern. It requires lender for the library-borrowing action Google documents, and lender sits in Google's smallest band, on fewer than a thousand websites. Build a Book rich result exactly as Google documents it, and you are implementing a property with almost nobody else's markup to check yours against.

That does not mean Book itself is a rare or unusual rich result, or that Google is asking for something impossible to build. It means one property, on one feature, has almost no other implementation to learn from, while every other required property across the 30 features does.

Two live features, Article and Organization, ask for nothing that counts as required. Everything Google lists for either of them is a recommendation, which is why they sit outside the 30.

Every required property on every live feature, 170 rows across 30 features. Usage from July 2026; requirements read from Google on 11 August 2026.
FeaturePropertyBandRatifiedGoogle pagePage updated
BookdataFeedElement1K - 10KYesbook
Bookauthor10M+Yesbook
Bookname10M+Yesbook
Bookurl10M+Yesbook
BookworkExample1K - 10KYesbook
BookbookFormat10K - 100KYesbook
BookinLanguage10M+Yesbook
Bookisbn10K - 100KYesbook
BookpotentialAction10M+Yesbook
BookpropertyID10K - 100KYesbook
Bookvalue1M - 10MYesbook
BookexpectsAcceptanceOf1K - 10KYesbook
Bookcategory1M - 10MYesbook
BookeligibleRegion10K - 100KYesbook
Booktarget10M+Yesbook
BookactionPlatform100K - 1MYesbook
BookurlTemplate10M+Yesbook
Booklender< 1KYesbook
BookadditionalProperty100K - 1MYesbook
Bookmember10K - 100KYesbook
Booklocation1M - 10MYesbook
BookaddressCountry1M - 10MYesbook
BookaddressLocality1M - 10MYesbook
BookaddressRegion1M - 10MYesbook
BookpostalCode1M - 10MYesbook
BookstreetAddress1M - 10MYesbook
Merchant listingname10M+Yesmerchant-listing
Merchant listingimage10M+Yesmerchant-listing
Merchant listingoffers10M+Yesmerchant-listing
Merchant listingencoding100K - 1MYesmerchant-listing
Merchant listingcontentUrl10M+Yesmerchant-listing
Merchant listingprice10M+Yesmerchant-listing
Merchant listingpriceCurrency10M+Yesmerchant-listing
Merchant listingpriceSpecification1M - 10MYesmerchant-listing
Merchant listingunitCode1M - 10MYesmerchant-listing
Merchant listingvalue1M - 10MYesmerchant-listing
Merchant listingissuedBy10K - 100KYesmerchant-listing
Merchant listingdeliveryTime100K - 1MYesmerchant-listing
Merchant listingshippingDestination100K - 1MYesmerchant-listing
Merchant listingshippingRate100K - 1MYesmerchant-listing
Merchant listingcurrency100K - 1MYesmerchant-listing
Merchant listingaddressCountry1M - 10MYesmerchant-listing
Merchant listingmaxValue100K - 1MYesmerchant-listing
Merchant listingminValue100K - 1MYesmerchant-listing
Merchant listingapplicableCountry100K - 1MNomerchant-listing
Merchant listingreturnPolicyCategory100K - 1MNomerchant-listing
Videoname10M+Yesvideo
VideothumbnailUrl10M+Yesvideo
VideouploadDate1M - 10MYesvideo
Videopublication1K - 10KYesvideo
VideoendDate100K - 1MYesvideo
VideoisLiveBroadcast10K - 100KYesvideo
VideostartDate100K - 1MYesvideo
VideostartOffset10K - 100KNovideo
Videourl10M+Yesvideo
VideopotentialAction10M+Yesvideo
Videotarget10M+Yesvideo
Vacation rentalcontainsPlace10K - 100KYesvacation-rental
Vacation rentaloccupancy10K - 100KYesvacation-rental
Vacation rentalvalue1M - 10MYesvacation-rental
Vacation rentalidentifier100K - 1MYesvacation-rental
Vacation rentalimage10M+Yesvacation-rental
Vacation rentallatitude1M - 10MYesvacation-rental
Vacation rentallongitude1M - 10MYesvacation-rental
Vacation rentalname10M+Yesvacation-rental
Review snippetauthor10M+Yesreview-snippet
Review snippetitemReviewed100K - 1MYesreview-snippet
Review snippetname10M+Yesreview-snippet
Review snippetreviewRating1M - 10MYesreview-snippet
Review snippetratingValue1M - 10MYesreview-snippet
Review snippetratingCount1M - 10MYesreview-snippet
Review snippetreviewCount1M - 10MYesreview-snippet
Carousels betaitemListElement10M+Yescarousels-beta
Carousels betaitem10M+Yescarousels-beta
Carousels betaposition10M+Yescarousels-beta
Carousels betaimage10M+Yescarousels-beta
Carousels betaname10M+Yescarousels-beta
Carousels betaurl10M+Yescarousels-beta
Discussion forumauthor10M+Yesdiscussion-forum
Discussion forumname10M+Yesdiscussion-forum
Discussion forumdatePublished10M+Yesdiscussion-forum
Discussion forumtext1M - 10MYesdiscussion-forum
Discussion forumuserInteractionCount100K - 1MYesdiscussion-forum
Discussion foruminteractionType100K - 1MYesdiscussion-forum
Product snippetname10M+Yesproduct-snippet
Product snippetreview1M - 10MYesproduct-snippet
Product snippetitemListElement10M+Yesproduct-snippet
Product snippetprice10M+Yesproduct-snippet
Product snippetlowPrice1M - 10MYesproduct-snippet
Product snippetpriceCurrency10M+Yesproduct-snippet
Recipeimage10M+Yesrecipe
Recipename10M+Yesrecipe
RecipeitemListElement10M+Yesrecipe
Recipetext1M - 10MYesrecipe
Recipeposition10M+Yesrecipe
Recipeurl10M+Yesrecipe
Shipping policyshippingConditions10K - 100KNoshipping-policy
Shipping policyaddressCountry1M - 10MYesshipping-policy
Shipping policycurrency100K - 1MYesshipping-policy
Shipping policymaxValue100K - 1MYesshipping-policy
Shipping policyminValue100K - 1MYesshipping-policy
Shipping policyvalue1M - 10MYesshipping-policy
CarouselitemListElement10M+Yescarousel
Carouselposition10M+Yescarousel
Carouselurl10M+Yescarousel
Carouselitem10M+Yescarousel
Carouselname10M+Yescarousel
Coursedescription10M+Yescourse
Coursename10M+Yescourse
CourseitemListElement10M+Yescourse
Courseposition10M+Yescourse
Courseurl10M+Yescourse
Job postingdatePosted100K - 1MYesjob-posting
Job postingdescription10M+Yesjob-posting
Job postinghiringOrganization100K - 1MYesjob-posting
Job postingjobLocation100K - 1MYesjob-posting
Job postingtitle100K - 1MYesjob-posting
Math solverspotentialAction10M+Yesmath-solvers
Math solversurl10M+Yesmath-solvers
Math solversusageInfo1K - 10KNomath-solvers
Math solverstarget10M+Yesmath-solvers
Math solverslearningResourceType10K - 100KYesmath-solvers
Q&A pagemainEntity1M - 10MYesqapage
Q&A pageanswerCount100K - 1MYesqapage
Q&A pageacceptedAnswer1M - 10MYesqapage
Q&A pagesuggestedAnswer10K - 100KYesqapage
Q&A pagetext1M - 10MYesqapage
BreadcrumbitemListElement10M+Yesbreadcrumb
Breadcrumbitem10M+Yesbreadcrumb
Breadcrumbname10M+Yesbreadcrumb
Breadcrumbposition10M+Yesbreadcrumb
Education Q&AhasPart100K - 1MYeseducation-qa
Education Q&AacceptedAnswer1M - 10MYeseducation-qa
Education Q&AeduQuestionType1K - 10KNoeducation-qa
Education Q&Atext1M - 10MYeseducation-qa
Employer ratingitemReviewed100K - 1MYesemployer-rating
Employer ratingratingCount1M - 10MYesemployer-rating
Employer ratingratingValue1M - 10MYesemployer-rating
Employer ratingreviewCount1M - 10MYesemployer-rating
Eventlocation1M - 10MYesevent
Eventaddress10M+Yesevent
Eventname10M+Yesevent
EventstartDate100K - 1MYesevent
Loyalty programdescription10M+Yesloyalty-program
Loyalty programhasTiers1K - 10KYesloyalty-program
Loyalty programname10M+Yesloyalty-program
Loyalty programhasTierBenefit1K - 10KYesloyalty-program
Return policyapplicableCountry100K - 1MNoreturn-policy
Return policyreturnPolicyCategory100K - 1MNoreturn-policy
Return policymerchantReturnLink10K - 100KNoreturn-policy
Return policyreturnPolicySeasonalOverride1K - 10KNoreturn-policy
Datasetdescription10M+Yesdataset
Datasetname10M+Yesdataset
DatasetcontentUrl10M+Yesdataset
Local businessaddress10M+Yeslocal-business
Local businessname10M+Yeslocal-business
Local businessimage10M+Yeslocal-business
Software appname10M+Yessoftware-app
Software appprice10M+Yessoftware-app
Software appreview1M - 10MYessoftware-app
Image license metadatacontentUrl10M+Yesimage-license-metadata
Image license metadatacreator1M - 10MYesimage-license-metadata
Movieimage10M+Yesmovie
Moviename10M+Yesmovie
Profile pagemainEntity1M - 10MYesprofile-page
Profile pagename10M+Yesprofile-page
SpeakablecssSelector100K - 1MYesspeakable
SpeakablexPathNot a Schema.org propertyspeakable
Paywalled contentisAccessibleForFree100K - 1MYespaywalled-content
Product variantsname10M+Yesproduct-variants

Required properties Schema.org has not settled

6 of the 30 features rest on at least one required property Schema.org has not folded into a numbered release yet. That is a different question from how much the web uses a property. applicableCountry and returnPolicyCategory already sit on 100,000 to a million websites, heavy adoption by any measure, and Schema.org still lists both as pending.

Schema.org describes its own pending section as "a staging area for work-in-progress terms which have yet to be accepted into the core vocabulary". It warns that "pending terms are subject to change and should be used with caution", and cautions that a pending term "may lack consensus and that terminology and definitions could still change significantly after community and steering group review". You can read the whole description at Schema.org's own documentation for the pending section.

Return policy carries 4 of the 10 pending required properties on this page, applicableCountry, returnPolicyCategory, merchantReturnLink, returnPolicySeasonalOverride, more than any other feature. If you already implement returns markup, you already rely on wording Schema.org itself says could still change. That is not a reason to avoid it. It is a reason to expect you might revisit it.

All 10 required properties across 6 features that rest on a property Schema.org has not yet ratified.
FeaturePropertyBandGoogle pagePage updated
Merchant listingapplicableCountry100K - 1Mmerchant-listing
Merchant listingreturnPolicyCategory100K - 1Mmerchant-listing
VideostartOffset10K - 100Kvideo
Shipping policyshippingConditions10K - 100Kshipping-policy
Math solversusageInfo1K - 10Kmath-solvers
Education Q&AeduQuestionType1K - 10Keducation-qa
Return policyapplicableCountry100K - 1Mreturn-policy
Return policyreturnPolicyCategory100K - 1Mreturn-policy
Return policymerchantReturnLink10K - 100Kreturn-policy
Return policyreturnPolicySeasonalOverride1K - 10Kreturn-policy

How much of the vocabulary a rich result ever names

Schema.org publishes 1,529 properties, and I checked how many are named by any documented rich result, required or recommended, across every live and retired feature I hold. 262 are. No documented rich result names the rest, which is 82.86% of everything Schema.org publishes. If you want the exact count instead of the share, subtract 262 from 1,529.

That gap is not a defect in either list. Google documents rich results for a curated set of specific page types, recipes, jobs, events and the rest, and most of what Schema.org describes was never built around one of those. A property with no documented rich result is a property Google has not built a feature around, not a property that is somehow wrong to use.

If a type you are marking up has no live feature anywhere on this site's other reports, that is the expected shape of the data, not a sign you are wasting effort. A rich result is one specific reward among several reasons to publish structured data, and search engines can still read a property that carries no rich result at all.

How much of the 1,529 properties Schema.org publishes any documented rich result names, required or recommended together.
MeasureShare
Named by a documented rich result17.14%
No documented rich result names it82.86%
All properties Schema.org publishes100.00%

Known limits of this data

  • Google's required-property tables list one thing that is not a Schema.org property at all, xPath on the speakable feature. I keep it in the required-property table because Google asks for it, and it carries no usage figure, because there is nothing in Schema.org for it to have one against. It is not counted in any of the band figures on this page.
  • Names with a dot in them, such as offers.price and ListItem.position, are Google notation for a property nested inside another type rather than Schema.org terms in their own right. The usage figure against them is for the last part of the name.

How this is measured

I read every required and recommended property out of the markup of Google Search Central's own pages, the same capture the recommended-gap report uses, taken on 11 August 2026. Every row below carries the address of the page it came from and that page's own last-updated date, because Google rewrites these pages without announcing it, and a requirement quoted without a date is a claim about a target that has already moved.

I then matched every required property against Google's usage file for July 2026, the same file the rest of this project is built from, to find which band each one sits in. Where Google names something that is not a Schema.org property at all, the known limits below say so, and that entry carries no band, because there is nothing in Schema.org for it to have one against.

Two different kinds of number sit side by side here. The property counts are exact, because they come from counting entries in a published file rather than sampling one. The bands are not. Google publishes six ranges and never the figure inside one, so a property you can see sits on 1,000 to 10,000 websites has no exact public figure, here or anywhere else.

You can download the same figures as JSON or CSV and check any number on this page against them.

Usage snapshot July 2026. Requirements read 11 August 2026. Built 19 August 2026.

Analysis © Eduard Dziak, licensed under the Apache License 2.0. Please credit eduarddziak.com with a link. Source data: Google and the Schema.org community, Schema.org usage statistics dataset. Rich result requirements: Google Search Central, licensed CC BY 4.0. Term descriptions: Schema.org, licensed CC BY-SA 3.0, each term linking to its own page. Crawl counts: HTTP Archive Web Almanac, licensed Apache License 2.0.