OfferForPurchase
OfferForPurchase is a direct Offer subtype for offers whose businessFunction is sell: standard retail transactions. It has no unique properties; the typed classification carries the sell semantic.
In practice most retail uses plain Offer because that defaults to sell. Use OfferForPurchase when you want the explicit signal — useful on multi-businessFunction listings (buy vs lease, rent vs own).
Full example of schema.org/OfferForPurchase 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": "Product",
"name": "XooScan 2D Wireless Barcode Scanner",
"offers": [
{
"@type": "OfferForPurchase",
"price": 189.00,
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"seller": { "@type": "Organization", "name": "Xoo Code Shop" }
},
{
"@type": "OfferForLease",
"price": 12.00,
"priceCurrency": "USD",
"leaseLength": { "@type": "QuantitativeValue", "value": 1, "unitCode": "MON" },
"seller": { "@type": "Organization", "name": "Xoo Code Shop" }
}
]
}
</script>Minimal valid version
The smallest markup that still produces a valid OfferForPurchase 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": "OfferForPurchase",
"price": 189.00,
"priceCurrency": "USD"
}
</script>Google rich results this unlocks
OfferForPurchase is a structural type. It does not produce a rich result on its own.
Its value comes from combining it with a primary type whose markup earns a rich result (Article, Product, Event, and so on). OfferForPurchase becomes the trunk that the primary type branches off viamainEntityorbreadcrumb. Include it on every page as the backbone of your markup.
Common OfferForPurchase 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
OfferForPurchase when plain Offer is clearer
WrongOfferForPurchase on a site that only sellsRightPlain Offer is fine when sell is the only mode; OfferForPurchase earns its keep on multi-mode listingsBoth validate; specificity helps when it disambiguates, otherwise it's noise.
Schema properties in this example
About the example data
Explicit purchase-offer markup for the XooTee Classic (alongside a lease-to-own alternative).
Comments
Loading comments...