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_idstringIdentifier for the feed.feed_8f3K2xRequired
account_idstringIdentifier for the account.acct_7F3K2xRequired
target_merchantstringIdentifier for the target merchant.merch_123Required
target_countrystringISO 3166-1 alpha-2 country codeTwo-letter target country code.USRequiredMust 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
idstringStable global identifier for this product.SKU12345RequiredMust remain stable over time.
titlestringProduct title.Trail Running ShoeOptional
descriptionDescriptionProduct description content.{ "plain": "Waterproof trail shoe with cushioned sole." }OptionalMust match the Description object.
urlstring (uri)URICanonical product URL.https://example.com/products/SKU12345OptionalMust be a valid URI.
mediaMedia[]Product-level media assets.[{ "type": "image", "url": "https://example.com/images/SKU12345.jpg" }]OptionalEach item must match Media.
variantsVariant[]Variants associated with the product.[{ "id": "SKU12345-BLK-10", "title": "Black / 10" }]RequiredEach item must match Variant.

Variant

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

AttributeData TypeSupported ValuesDescriptionExampleRequirementDependenciesValidation Rules
idstringStable global identifier for this variant.SKU12345-BLK-10RequiredMust remain stable over time.
titlestringVariant title.Black / 10Required
descriptionDescriptionVariant description content.{ "plain": "Black colorway in size 10." }OptionalMust match the Description object.
urlstring (uri)URIVariant URL.https://example.com/products/SKU12345-BLK-10OptionalMust be a valid URI.
barcodesBarcode[]Variant barcode values.[{ "type": "gtin", "value": "1234567890123" }]OptionalEach item must match Barcode.
pricePriceActive sale price for this variant.{ "amount": 7999, "currency": "USD" }OptionalMust match the Price object.
list_pricePriceReference price before any discount is applied.{ "amount": 9999, "currency": "USD" }OptionalMust match the Price object.
unit_priceUnitPriceUnit pricing metadata.{ "amount": 499, "currency": "USD", "measure": { "value": 1, "unit": "oz" }, "reference": { "value": 1, "unit": "oz" } }OptionalMust match the UnitPrice object.
availabilityAvailabilityAvailability state for the variant.{ "available": true, "status": "in_stock" }OptionalMust match the Availability object.
categoriesCategory[]Categories associated with the variant.[{ "value": "Apparel & Accessories > Shoes", "taxonomy": "merchant" }]OptionalEach item must match Category.
conditionConditionArray of strings, such as new or secondhandApplicable item conditions.["new"]OptionalMore 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" }]OptionalEach 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" }]OptionalEach item must match Media.
sellerSellerSeller metadata for the variant.{ "name": "Example Store" }OptionalMust 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
plainstringPlain-text description.Waterproof trail shoe.OptionalAt least one description field is required if present.
htmlstringHTML description.<p>Waterproof trail shoe.</p>OptionalAt least one description field is required if present.
markdownstringMarkdown description.Waterproof trail shoe.OptionalAt 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.7999RequiredMust 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
amountintegerUnit price amount.499Required
currencystringISO 4217 codeCurrency code.USDRequired
measureMeasureMeasured quantity.{ "value": 1, "unit": "oz" }RequiredMust match the Measure object.
referenceReferenceMeasureReference quantity.{ "value": 1, "unit": "oz" }RequiredMust match the ReferenceMeasure object.

Measure

Use the measure object to describe a quantity and unit.

AttributeData TypeSupported ValuesDescriptionExampleRequirementDependenciesValidation Rules
valuenumberMeasure value.1Required
unitstringMeasure unit.ozRequired

ReferenceMeasure

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

AttributeData TypeSupported ValuesDescriptionExampleRequirementDependenciesValidation Rules
valueintegerReference value.1Required
unitstringReference unit.ozRequired

Barcode

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

AttributeData TypeSupported ValuesDescriptionExampleRequirementDependenciesValidation Rules
typestringBarcode type.gtinRequired
valuestringBarcode value.1234567890123Required

Media

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

AttributeData TypeSupported ValuesDescriptionExampleRequirementDependenciesValidation Rules
typestringMedia type.imageRequired
urlstring (uri)URIMedia URL.https://example.com/images/SKU12345.jpgRequiredMust be a valid URI.
alt_textstringAlternate text.Black trail running shoeOptional
widthintegerMedia width.1200Optional
heightintegerMedia height.1200Optional

VariantOption

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

AttributeData TypeSupported ValuesDescriptionExampleRequirementDependenciesValidation Rules
namestringOption name, such as color or size.colorRequired
valuestringSelected option value.BlackRequired

Category

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

AttributeData TypeSupported ValuesDescriptionExampleRequirementDependenciesValidation Rules
valuestringCategory label or hierarchical path.Apparel & Accessories > ShoesRequired
taxonomystringTaxonomy 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
namestringSeller name.Example StoreOptional
linksLink[]Seller-related links.[{ "type": "faq", "url": "https://example.com/faq" }]OptionalEach 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
titlestringLink title.Returns policyOptional
urlstringLink 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"]OptionalMore than one value may apply.

Prohibited Products Policy

To keep ChatGPT a safe place for everyone, we only allow products and services that are legal, safe, and appropriate for a general audience. Prohibited products include, but are not limited to, those that involve adult content, age-restricted products (for example, alcohol, nicotine, gambling), harmful or dangerous materials, weapons, prescription only medications, unlicensed financial products, legally restricted goods, illegal activities, or deceptive practices.

Merchants are responsible for ensuring their products and content do not violate the above restrictions or any applicable law. OpenAI may take corrective actions such as removing a product or banning a seller from being surfaced in ChatGPT if these policies are violated.