Primary navigation

Products

Provide a structured product feed so ChatGPT accurately indexes and displays your products with up-to-date price and availability.

Feed Reference

To make your products discoverable inside ChatGPT, merchants provide a structured product feed file that OpenAI ingests and indexes. This specification defines the product schema for file uploads: field names, data types, constraints, and example values needed for accurate discovery, pricing, availability, and seller context.

Each table below groups fields by schema object and indicates whether a field is Required or Optional, along with validation rules to help your engineering team build and maintain a compliant upload file.

Supplying all required fields ensures your products can be displayed correctly, while optional fields enrich relevance and user trust.

Field scope
View

A header file with feed metdata should be provided.

AttributeData TypeSupported ValuesDescriptionExampleRequirementDependenciesValidation Rules
feed_idstring—Identifier for the feed.feed_8f3K2xRequired——
account_idstring—Identifier for the account.acct_7F3K2xRequired——
target_merchantstring—Identifier for the target merchant.merch_123Required——
target_countrystringISO 3166-1 alpha-2 country codeTwo-letter target country code.USRequired—Must be a valid two-letter country code.

Product

Every line in the feed file should be a product object, which defines the canonical product record and its variant set.

AttributeData TypeSupported ValuesDescriptionExampleRequirementDependenciesValidation Rules
idstring—Stable global identifier for this product.SKU12345Required—Must remain stable over time.
titlestring—Product title.Trail Running ShoeOptional——
descriptionDescription—Product description content.{ "plain": "Waterproof trail shoe with cushioned sole." }Optional—Must match the Description object.
urlstring (uri)URICanonical product URL.https://example.com/products/SKU12345Optional—Must be a valid URI.
mediaMedia[]—Product-level media assets.[{ "type": "image", "url": "https://example.com/images/SKU12345.jpg" }]Optional—Each item must match Media.
variantsVariant[]—Variants associated with the product.[{ "id": "SKU12345-BLK-10", "title": "Black / 10" }]Required—Each item must match Variant.

Variant

Use variants to represent purchasable product configurations such as color or size.

AttributeData TypeSupported ValuesDescriptionExampleRequirementDependenciesValidation Rules
idstring—Stable global identifier for this variant.SKU12345-BLK-10Required—Must remain stable over time.
titlestring—Variant title.Black / 10Required——
descriptionDescription—Variant description content.{ "plain": "Black colorway in size 10." }Optional—Must match the Description object.
urlstring (uri)URIVariant URL.https://example.com/products/SKU12345-BLK-10Optional—Must be a valid URI.
barcodesBarcode[]—Variant barcode values.[{ "type": "gtin", "value": "1234567890123" }]Optional—Each item must match Barcode.
pricePrice—Active sale price for this variant.{ "amount": 7999, "currency": "USD" }Optional—Must match the Price object.
list_pricePrice—Reference price before any discount is applied.{ "amount": 9999, "currency": "USD" }Optional—Must match the Price object.
unit_priceUnitPrice—Unit pricing metadata.{ "amount": 499, "currency": "USD", "measure": { "value": 1, "unit": "oz" }, "reference": { "value": 1, "unit": "oz" } }Optional—Must match the UnitPrice object.
availabilityAvailability—Availability state for the variant.{ "available": true, "status": "in_stock" }Optional—Must match the Availability object.
categoriesCategory[]—Categories associated with the variant.[{ "value": "Apparel & Accessories > Shoes", "taxonomy": "merchant" }]Optional—Each item must match Category.
conditionConditionArray of strings, such as new or secondhandApplicable item conditions.["new"]Optional—More than one value may apply.
variant_optionsVariantOption[]—Set of option selections for the variant, such as color or size.[{ "name": "color", "value": "Black" }, { "name": "size", "value": "10" }]Optional—Each item must match VariantOption.
mediaMedia[]—Variant media assets. The first entry is treated as primary.[{ "type": "image", "url": "https://example.com/images/SKU12345-BLK-10.jpg" }]Optional—Each item must match Media.
sellerSeller—Seller metadata for the variant.{ "name": "Example Store" }Optional—Must match the Seller object.

Description

Use the description object to supply plain text, HTML, Markdown, or any combination of those formats.

AttributeData TypeSupported ValuesDescriptionExampleRequirementDependenciesValidation Rules
plainstring—Plain-text description.Waterproof trail shoe.Optional—At least one description field is required if present.
htmlstring—HTML description.<p>Waterproof trail shoe.</p>Optional—At least one description field is required if present.
markdownstring—Markdown description.Waterproof trail shoe.Optional—At least one description field is required if present.

Availability

Use availability to describe whether the variant can currently be purchased and, when available, its fulfillment state.

AttributeData TypeSupported ValuesDescriptionExampleRequirementDependenciesValidation Rules
availablebooleantrue, falseIndicates whether the variant is currently purchasable.trueOptional——
statusstringin_stock, backorder, preorder, out_of_stock, discontinuedFulfillment state when availability is reported.in_stockOptional——

Price

Use the price object anywhere a product or variant needs an amount and currency pair.

AttributeData TypeSupported ValuesDescriptionExampleRequirementDependenciesValidation Rules
amountinteger0 or greaterMonetary amount expressed in ISO 4217 minor units.7999Required—Must be greater than or equal to 0.
currencystringISO 4217 codeThree-letter ISO 4217 currency identifier.USDRequired——

UnitPrice

Use the unit price object to express pricing per measured quantity.

AttributeData TypeSupported ValuesDescriptionExampleRequirementDependenciesValidation Rules
amountinteger—Unit price amount.499Required——
currencystringISO 4217 codeCurrency code.USDRequired——
measureMeasure—Measured quantity.{ "value": 1, "unit": "oz" }Required—Must match the Measure object.
referenceReferenceMeasure—Reference quantity.{ "value": 1, "unit": "oz" }Required—Must match the ReferenceMeasure object.

Measure

Use the measure object to describe a quantity and unit.

AttributeData TypeSupported ValuesDescriptionExampleRequirementDependenciesValidation Rules
valuenumber—Measure value.1Required——
unitstring—Measure unit.ozRequired——

ReferenceMeasure

Use the reference measure object to define the baseline quantity for unit pricing.

AttributeData TypeSupported ValuesDescriptionExampleRequirementDependenciesValidation Rules
valueinteger—Reference value.1Required——
unitstring—Reference unit.ozRequired——

Barcode

Use barcode entries to attach standardized barcode identifiers to a variant.

AttributeData TypeSupported ValuesDescriptionExampleRequirementDependenciesValidation Rules
typestring—Barcode type.gtinRequired——
valuestring—Barcode value.1234567890123Required——

Media

Use media entries to attach product or variant assets such as images or videos.

AttributeData TypeSupported ValuesDescriptionExampleRequirementDependenciesValidation Rules
typestring—Media type.imageRequired——
urlstring (uri)URIMedia URL.https://example.com/images/SKU12345.jpgRequired—Must be a valid URI.
alt_textstring—Alternate text.Black trail running shoeOptional——
widthinteger—Media width.1200Optional——
heightinteger—Media height.1200Optional——

VariantOption

Use variant options to capture dimensions like color, size, or material.

AttributeData TypeSupported ValuesDescriptionExampleRequirementDependenciesValidation Rules
namestring—Option name, such as color or size.colorRequired——
valuestring—Selected option value.BlackRequired——

Category

Use categories to represent the taxonomy path associated with a variant.

AttributeData TypeSupported ValuesDescriptionExampleRequirementDependenciesValidation Rules
valuestring—Category label or hierarchical path.Apparel & Accessories > ShoesRequired——
taxonomystring—Taxonomy system used for the category value, such as google_product_category, shopify, or merchant.merchantOptional——

Seller

Use the seller object to attach seller metadata and policy links to a variant.

AttributeData TypeSupported ValuesDescriptionExampleRequirementDependenciesValidation Rules
namestring—Seller name.Example StoreOptional——
linksLink[]—Seller-related links.[{ "type": "faq", "url": "https://example.com/faq" }]Optional—Each item must match Link.

Use seller links to point to policies or supporting merchant pages.

AttributeData TypeSupported ValuesDescriptionExampleRequirementDependenciesValidation Rules
typestringprivacy_policy, terms_of_service, refund_policy, shipping_policy, faqKind of destination, such as privacy_policy, terms_of_service, refund_policy, shipping_policy, or faq.refund_policyRequired——
titlestring—Link title.Returns policyOptional——
urlstring—Link destination URL.https://example.com/returnsRequired——

Condition

Use the condition array to describe applicable item conditions for a variant.

AttributeData TypeSupported ValuesDescriptionExampleRequirementDependenciesValidation Rules
conditionstring[]Values such as new, secondhandApplicable item conditions for the variant.["new"]Optional—More than one value may apply.