Product JSON-LD
Discover approved Product and Offer markup on public product pages.
When to use it
A practical fit for your existing workflow.
Stores with reliable Schema.org markup but no export or commerce API.
Input contract
Fields and structure
Use stable field names and meanings across every refresh. Legend normalizes the values, but the source contract should not drift silently.
Required or expected
Product objectOffer objectsku or gtinpricepriceCurrencyurl
Recommended fields
brandnameimageavailabilityitemConditionseller
Supported variations
- @graph documents
- Product with one Offer
- Product with AggregateOffer
- Variant-level product pages
Copyable example
Product JSON-LD
Replace the demonstration values with your own catalogue data. No customer, order, or payment data belongs in an inventory feed.
JSON
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Legend Demo Single Malt",
"sku": "DEMO-001",
"gtin13": "5010327000142",
"offers": {
"@type": "Offer",
"price": "39.50",
"priceCurrency": "GBP",
"availability": "https://schema.org/InStock",
"url": "https://merchant.example/products/demo-001"
}
}
From source to live offer
Connection workflow
Every route uses the same quality gates before an offer becomes public.
Approve the source domain and product-page scope.
Discover product URLs from an agreed source.
Extract and validate Product and Offer markup.
Keep uncertain identifiers reviewable before publication.
Before publication
Validation checklist
These checks keep bad prices, stale stock, and uncertain product matches out of the public marketplace.
- This connector is planned and not yet self-service.
- Markup must describe the visible product and price.
- A crawl never bypasses source approval or access controls.
- Extracted offers still pass the normal matching and freshness gates.
Other connection paths