OfferCatalog Schema Example for eCommerce Product-Listing / Category Page [2023]

By Geoff Griffiths @mmatraining1980

Below is an example for a webpage which lists different soccer balls for sale:

<script type="application/ld+json">
{
  "@context": "http://schema.org/",
  "@type": "OfferCatalog",
  "name": "Soccer Balls Collection",
  "description": "A collection of high-quality soccer balls in various sizes.",
  "url": "https://www.example.com/soccer-balls",
  "itemListElement": [
    {
      "@type": "Offer",
      "itemOffered": {
        "@type": "Product",
        "name": "Standard Size Soccer Ball",
        "image": "https://www.example.com/images/standard-size-ball.jpg",
        "description": "A standard size 5 soccer ball for professional play.",
        "brand": "SportyBrand",
        "productID": "12345"
      },
      "price": "29.99",
      "priceCurrency": "USD",
      "availability": "http://schema.org/InStock",
      "url": "https://www.example.com/soccer-balls/standard-size"
    },
    {
      "@type": "Offer",
      "itemOffered": {
        "@type": "Product",
        "name": "Youth Size Soccer Ball",
        "image": "https://www.example.com/images/youth-size-ball.jpg",
        "description": "A smaller size 4 soccer ball perfect for youth players.",
        "brand": "SportyBrand",
        "productID": "67890"
      },
      "price": "24.99",
      "priceCurrency": "USD",
      "availability": "http://schema.org/InStock",
      "url": "https://www.example.com/soccer-balls/youth-size"
    },
    //... Add other soccer ball variants as needed
  ]
}
<script>


once you've done your own code, you can check it using the schema testing sheet - https://docs.google.com/spreadsheets/d/1dDqJ9_qrTVoJOZRxieJDp9XE3Q1TCq4ixNVudVtgp2M/edit#gid=0