Demand
Demand is the buyer-side mirror of Offer. Where Offer says "I have X for sale under these terms," Demand says "I am looking to acquire X under these terms." It is an Intangible that lives alongside Offer in the GoodRelations commerce vocabulary.
Practically, Demand powers buy-side marketplaces: wanted-to-buy listings, public procurement notices, auction bids, and corporate RFPs. The property set is the same as Offer: availability (when the buyer will accept it), eligibleRegion, eligibleCustomerType, deliveryLeadTime, businessFunction (set to BuyOut or LeaseOut from the buyer's perspective), itemOffered, priceSpecification.
Full example of schema.org/Demand 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": "Demand",
"@id": "https://xoocode.com/procurement/barcode-scanners-2026-q2",
"name": "Wanted: refurbished 2D barcode scanners",
"description": "Xoo Code is sourcing 40 refurbished USB 2D barcode scanners to replace box-office hardware at The Thunderdome.",
"itemOffered": {
"@type": "Product",
"name": "Refurbished USB 2D Barcode Scanner",
"category": "Retail hardware > Barcode scanners"
},
"businessFunction": "https://purl.org/goodrelations/v1#BuyOut",
"availability": "https://schema.org/InStock",
"availabilityStarts": "2026-04-15T09:00:00-04:00",
"availabilityEnds": "2026-05-31T17:00:00-04:00",
"eligibleQuantity": { "@type": "QuantitativeValue", "value": 40, "unitText": "units" },
"eligibleRegion": { "@type": "Country", "name": "United States", "identifier": "US" },
"priceSpecification": {
"@type": "PriceSpecification",
"maxPrice": 85,
"priceCurrency": "USD",
"valueAddedTaxIncluded": false
},
"deliveryLeadTime": { "@type": "QuantitativeValue", "minValue": 7, "maxValue": 21, "unitCode": "DAY" },
"seller": { "@type": "Organization", "name": "Xoo Code Procurement", "url": "https://xoocode.com" }
}
</script>Offer vs Demand in one sentence
Offer = "I will sell you this"; Demand = "I want to buy this."
Where Demand shows up
- Reverse auctions and RFP portals.
- Wanted-to-buy classified ads.
- Used-goods marketplaces with buy-requests alongside listings.
- Public procurement notices (pair with Legislation references).
Minimal valid version
The smallest markup that still produces a valid Demand 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": "Demand",
"itemOffered": { "@type": "Product", "name": "Refurbished USB 2D Barcode Scanner" },
"businessFunction": "https://purl.org/goodrelations/v1#BuyOut",
"availability": "https://schema.org/InStock"
}
</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.
- Google docsNo dedicated rich result (used by procurement, classifieds, and marketplace engines)
Common Demand 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
Demand used for a listing the site is selling
WrongDemand on a for-sale product listingRightOffer for sell-side listings; Demand only when the subject wants to buyDemand and Offer are opposite sides of a transaction. Mixing them breaks every marketplace consumer.
- 02
businessFunction omitted on Demand
WrongDemand with no businessFunctionRightAlways set businessFunction (BuyOut, LeaseOut, Rent, etc.) so the transaction intent is explicitOffer defaults to 'Sell'; Demand needs the inverse signal explicitly.
- 03
priceSpecification.price instead of maxPrice
WrongDemand.priceSpecification.price = 85 (treating 85 as firm)RightmaxPrice = 85 to signal the buyer's ceilingOn Demand, minPrice / maxPrice express the buyer's acceptable range. A single price looks like a firm offer rather than a bid ceiling.
Schema properties in this example
Also mentioned in 1 other example
Demand also appears in PaymentMethod. See the full Demand schema page for every reference.
About the example data
Xoo Code's procurement arm publishing a wanted-to-buy Demand for refurbished barcode scanners to equip The Thunderdome's box office.
Comments
Loading comments...