Consumer Products · Schema

ConsumerProduct

A consumer-facing product record aligned with schema.org/Product and GS1 product master data, suitable for syndication across PIM platforms and retailer feeds.

Consumer ProductsCPGProduct DataRetailGTINBarcodeProduct CatalogPIMSyndicationSchema.org Product

Properties

Name Type Description
gtin string GS1 Global Trade Item Number (8, 12, 13, or 14 digits) identifying the trade item.
sku string Internal stock keeping unit assigned by the brand or retailer.
name string Product display name.
brand string Consumer-facing brand name.
manufacturer string Legal manufacturer or marketer of the product.
category string Product category, typically aligned with GS1 GPC or the retailer's taxonomy.
gpcBrickCode string GS1 Global Product Classification brick code.
description string Marketing description for the digital shelf.
image string Primary product image URL.
netContent object Net contents of the product unit.
countryOfOrigin string ISO 3166-1 alpha-2 country code where the product was made.
language string BCP 47 language tag for the textual attributes on this record.
targetMarket array ISO 3166-1 alpha-2 country codes for markets where the product is sold.
lifecycleStatus string Current lifecycle stage of the product.
identifiers array Additional identifiers (UPC, EAN, ISBN, ASIN, manufacturer part number).
nutrition object Nutrition facts panel when the product is a food or beverage.
ingredients string Ingredient declaration as printed on the package.
allergens array Declared allergens (food or cosmetic).
labels array Certifications and label claims (Organic, Fair Trade, Kosher, Halal, Vegan, etc.).
packaging object Packaging characteristics.
price object Manufacturer suggested or current selling price.
digitalLinkUrl string GS1 Digital Link URI encoding the product's GTIN for omnichannel resolution.
modified string Last modification timestamp for this product record.
View JSON Schema on GitHub

JSON Schema

consumer-product-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/consumer-products/refs/heads/main/json-schema/consumer-product-schema.json",
  "title": "ConsumerProduct",
  "description": "A consumer-facing product record aligned with schema.org/Product and GS1 product master data, suitable for syndication across PIM platforms and retailer feeds.",
  "type": "object",
  "properties": {
    "gtin": {
      "type": "string",
      "description": "GS1 Global Trade Item Number (8, 12, 13, or 14 digits) identifying the trade item.",
      "pattern": "^[0-9]{8}$|^[0-9]{12}$|^[0-9]{13}$|^[0-9]{14}$",
      "example": "00012345678905"
    },
    "sku": {
      "type": "string",
      "description": "Internal stock keeping unit assigned by the brand or retailer.",
      "example": "PG-TIDE-PODS-42CT"
    },
    "name": {
      "type": "string",
      "description": "Product display name.",
      "example": "Tide Pods Original Laundry Detergent, 42 Count"
    },
    "brand": {
      "type": "string",
      "description": "Consumer-facing brand name.",
      "example": "Tide"
    },
    "manufacturer": {
      "type": "string",
      "description": "Legal manufacturer or marketer of the product.",
      "example": "Procter & Gamble"
    },
    "category": {
      "type": "string",
      "description": "Product category, typically aligned with GS1 GPC or the retailer's taxonomy.",
      "example": "Laundry Detergents"
    },
    "gpcBrickCode": {
      "type": "string",
      "description": "GS1 Global Product Classification brick code.",
      "pattern": "^[0-9]{8}$",
      "example": "10000196"
    },
    "description": {
      "type": "string",
      "description": "Marketing description for the digital shelf."
    },
    "image": {
      "type": "string",
      "format": "uri",
      "description": "Primary product image URL.",
      "example": "https://cdn.example.com/products/tide-pods-42ct.jpg"
    },
    "netContent": {
      "type": "object",
      "description": "Net contents of the product unit.",
      "properties": {
        "value": {
          "type": "number",
          "example": 42
        },
        "unit": {
          "type": "string",
          "description": "UN/ECE Recommendation 20 unit code or human-readable unit.",
          "example": "count"
        }
      },
      "required": ["value", "unit"]
    },
    "countryOfOrigin": {
      "type": "string",
      "description": "ISO 3166-1 alpha-2 country code where the product was made.",
      "pattern": "^[A-Z]{2}$",
      "example": "US"
    },
    "language": {
      "type": "string",
      "description": "BCP 47 language tag for the textual attributes on this record.",
      "example": "en-US"
    },
    "targetMarket": {
      "type": "array",
      "description": "ISO 3166-1 alpha-2 country codes for markets where the product is sold.",
      "items": {
        "type": "string",
        "pattern": "^[A-Z]{2}$"
      },
      "example": ["US", "CA"]
    },
    "lifecycleStatus": {
      "type": "string",
      "description": "Current lifecycle stage of the product.",
      "enum": [
        "PreLaunch",
        "Active",
        "Discontinued",
        "Recalled"
      ],
      "example": "Active"
    },
    "identifiers": {
      "type": "array",
      "description": "Additional identifiers (UPC, EAN, ISBN, ASIN, manufacturer part number).",
      "items": {
        "$ref": "https://raw.githubusercontent.com/api-evangelist/consumer-products/refs/heads/main/json-schema/product-identifier-schema.json"
      }
    },
    "nutrition": {
      "description": "Nutrition facts panel when the product is a food or beverage.",
      "$ref": "https://raw.githubusercontent.com/api-evangelist/consumer-products/refs/heads/main/json-schema/nutrition-facts-schema.json"
    },
    "ingredients": {
      "type": "string",
      "description": "Ingredient declaration as printed on the package."
    },
    "allergens": {
      "type": "array",
      "description": "Declared allergens (food or cosmetic).",
      "items": {
        "type": "string"
      },
      "example": ["milk", "soy"]
    },
    "labels": {
      "type": "array",
      "description": "Certifications and label claims (Organic, Fair Trade, Kosher, Halal, Vegan, etc.).",
      "items": {
        "type": "string"
      },
      "example": ["USDA Organic", "Non-GMO Project Verified"]
    },
    "packaging": {
      "type": "object",
      "description": "Packaging characteristics.",
      "properties": {
        "material": {
          "type": "string",
          "example": "Plastic (PET)"
        },
        "recyclable": {
          "type": "boolean",
          "example": true
        },
        "weight": {
          "type": "object",
          "properties": {
            "value": { "type": "number" },
            "unit": { "type": "string", "example": "g" }
          }
        }
      }
    },
    "price": {
      "type": "object",
      "description": "Manufacturer suggested or current selling price.",
      "properties": {
        "amount": { "type": "number", "example": 19.99 },
        "currency": {
          "type": "string",
          "description": "ISO 4217 currency code.",
          "pattern": "^[A-Z]{3}$",
          "example": "USD"
        }
      },
      "required": ["amount", "currency"]
    },
    "digitalLinkUrl": {
      "type": "string",
      "format": "uri",
      "description": "GS1 Digital Link URI encoding the product's GTIN for omnichannel resolution.",
      "example": "https://id.gs1.org/01/00012345678905"
    },
    "modified": {
      "type": "string",
      "format": "date-time",
      "description": "Last modification timestamp for this product record."
    }
  },
  "required": ["gtin", "name", "brand"]
}