In beta, with limited placesOpen to everyone in Q1 2027

↑↓ to move · Enter to open · Esc to close

Agentic commerce

What is the ChatGPT product feed?

The ChatGPT product feed is the file or connection a store uses to send its catalog to OpenAI so its products can appear in ChatGPT's shopping answers. It follows OpenAI's specification: one row per item or variant, nine required fields and a full catalog upload at least once a day.

Written by
Reviewed by
Published 7 min read
Takeaway:

Key takeaways

  • The ChatGPT product feed carries a store's catalog to OpenAI with one row per item or variant and nine required fields.
  • Access is for approved partners: you request it with a form, and Shopify stores already arrive through Shopify Catalog.
  • It is sent by SFTP as a full copy at least once a day, and by API for same-day changes and promotions.
  • The standard upload is aimed at the United States today; other markets need OpenAI to configure them.
  • A product being eligible for search does not guarantee ChatGPT will show it.

This feed is not an RSS channel or a generic catalog export: it is the product feed in the exact format OpenAI asks for so ChatGPT can index your products and show them with up-to-date price and availability.⁠[1]OpenAI Developers. Get Started (Agentic Commerce) It matters because it is the way a catalog gets into ChatGPT's shopping answers, which OpenAI expanded on March 24, 2026 with more visual results and side-by-side comparisons.⁠[2]OpenAI. Powering Product Discovery in ChatGPT If your store is on Shopify, much of the work is already done; if not, this is the file you have to prepare.

How it works

Who can send it. Uploading a feed to ChatGPT is available, for now, to approved partners: access is requested with a form at chatgpt.com/merchants.⁠[1]OpenAI Developers. Get Started (Agentic Commerce) Shopify stores do not have to: their product data reaches ChatGPT through Shopify Catalog with no extra work for each merchant. OpenAI also supports delivery through providers such as Salesforce and Stripe.⁠[2]OpenAI. Powering Product Discovery in ChatGPT The feed is one piece of the ACP (Agentic Commerce Protocol), and OpenAI presents it as the first step of that integration.⁠[1]OpenAI Developers. Get Started (Agentic Commerce)

Two ways to deliver it. By file, uploaded by SFTP, or by API. The general recommendation is to send the whole catalog once a day by file and the rest of the day's changes by API; if the catalog is small, everything can go through the API, and promotions are only sent through the API.⁠[1]OpenAI Developers. Get Started (Agentic Commerce) The API lets you create the feed, query the products and update only the fields that change.⁠[3]OpenAI Developers, Agentic Commerce. API: Overview

The file is a full copy of the catalog that OpenAI treats as the source of truth, and the recommended frequency is at least once a day. OpenAI prefers Parquet, and also accepts JSONL, CSV and TSV compressed with gzip, always in UTF-8. The file name has to be stable: it is overwritten on each upload instead of creating a new one, and if the catalog is large it is split into chunks, with a recommended maximum of 500,000 items per chunk.⁠[4]OpenAI Developers, Agentic Commerce. File Upload: Overview

What each row carries. One row per item that can be bought, variants included, with nine required fields: ID, title, description, product page URL, brand, seller name, image, price and availability.⁠[5]OpenAI Developers, Agentic Commerce. Products (File Upload) Three rules in the specification head off most rejections:

  • Price is written as an amount and a currency, for example 79.99 USD: decimal point, no thousands separator and the ISO 4217 currency code. The sale price goes separately, has to be lower than the regular one and in the same currency.⁠[5]OpenAI Developers, Agentic Commerce. Products (File Upload)
  • Availability is required and a closed list: in_stock, out_of_stock, pre_order, backorder or unknown. A row with no value, or with one that is not on the list, is rejected.⁠[5]OpenAI Developers, Agentic Commerce. Products (File Upload)
  • What you don't know, you leave out. No null, unknown or n/a as filler in an optional field: an empty field does not mean zero or "no."⁠[5]OpenAI Developers, Agentic Commerce. Products (File Upload)

Product variants go in separate rows, each with its own ID, the same group_id for the whole group, listing_has_variations set to true and a variant_dict with the chosen options.⁠[5]OpenAI Developers, Agentic Commerce. Products (File Upload)

Eligible is not shown. Every product is eligible for search unless you say otherwise, and is not eligible for checkout inside ChatGPT unless you turn it on in an integration that supports it. The specification itself warns: eligibility does not guarantee it will be shown.⁠[5]OpenAI Developers, Agentic Commerce. Products (File Upload) And some products do not get in: OpenAI excludes, among others, adult content, alcohol, nicotine, gambling, weapons and prescription drugs.⁠[1]OpenAI Developers. Get Started (Agentic Commerce)

In a store

A mountain gear store that sells in the United States sends size 9.5 of a pair of trail shoes. This is a fictional example, with the specification's fields and the JSON spread over several lines to make it readable; in the JSONL file, each record goes on a single line:

{
  "item_id": "TRAIL-BLK-95",
  "group_id": "TRAIL",
  "listing_has_variations": true,
  "variant_dict": { "color": "Black", "size": "9.5" },
  "title": "Waterproof trail running shoes, black, size 9.5",
  "description": "Trail running shoes with a waterproof membrane and rubber outsole.",
  "url": "https://mountain-example.com/products/trail?color=black&size=9.5",
  "brand": "Example Brand",
  "seller_name": "Example Mountain Co.",
  "image_url": "https://mountain-example.com/img/trail-black.jpg",
  "price": "119.00 USD",
  "availability": "in_stock"
}

Size 10 would be another row with a different item_id, the same group_id and its own price, availability, URL and image.⁠[5]OpenAI Developers, Agentic Commerce. Products (File Upload) A product does not vanish as soon as it is missing from an upload: OpenAI keeps its last record for up to 14 days, so a chunk that arrives late does not empty the catalog. To pull it sooner, is_eligible_search is set to false.⁠[4]OpenAI Developers, Agentic Commerce. File Upload: Overview

Clione, for example, generates this feed from the enriched catalog and uploads it every day to the SFTP account OpenAI gives the store; whether the products appear, and where, is up to OpenAI.

Warning:

What people often get wrong

Thinking that once you upload the feed your products can show up in ChatGPT in your country. The standard upload in OpenAI's format is aimed at the United States today: the country columns in each row do not change that destination, and other markets (the specification names Canada and Mexico) are only turned on when OpenAI confirms the integration, its countries and its currencies. A currency or a URL does not choose the market.⁠[5]OpenAI Developers, Agentic Commerce. Products (File Upload) And even when the market is the right one, being eligible does not guarantee showing up.

How to check it

  1. Decide whether it applies to you. If you sell on Shopify, your products arrive through Shopify Catalog; check that each one's data is complete in your admin.⁠[2]OpenAI. Powering Product Discovery in ChatGPT If not, request access at chatgpt.com/merchants.⁠[1]OpenAI Developers. Get Started (Agentic Commerce)
  2. Start with a sample of about 100 items with all the required fields, and move to the full catalog only when validation comes back clean.⁠[4]OpenAI Developers, Agentic Commerce. File Upload: Overview
  3. Check price and availability row by row: amount with a decimal point and currency code, and an availability value from the list.⁠[5]OpenAI Developers, Agentic Commerce. Products (File Upload)
  4. Look for filler values like n/a or null in optional fields and delete them.⁠[5]OpenAI Developers, Agentic Commerce. Products (File Upload)
  5. If you start from a Merchant Center feed, confirm with OpenAI that your feed supports the Google-compatible format before uploading it. That format has its own rules: write preorder instead of pre_order, it does not accept unknown and it uses the name you register as the seller, not a column.⁠[5]OpenAI Developers, Agentic Commerce. Products (File Upload)

The ACP is an agentic commerce protocol; the feed is one of its pieces. OpenAI extended the protocol to product discovery in March 2026 so merchants can share feeds and promotions, and let each merchant use its own checkout process while it focuses on discovery.⁠[2]OpenAI. Powering Product Discovery in ChatGPT For most stores, today the ACP is mainly a well-made feed. The same schema also serves the feeds for ChatGPT ads, which have requirements of their own.⁠[6]OpenAI Developers. Product Feeds (Ads) The difference from a generic feed is explained by the product feed term.

To go further, the agentic commerce reading path orders the rest of the terms, and the agentic browser explains the other way an agent reaches your store.

Synonyms

English
ChatGPT product feed, OpenAI product feed
Español
feed de productos de OpenAI, feed para ChatGPT

Sources

  1. [1] OpenAI Developers. Get Started (Agentic Commerce). Accessed . ↑ ↑ ↑ ↑ ↑ ↑
  2. [2] OpenAI. Powering Product Discovery in ChatGPT. Accessed . ↑ ↑ ↑ ↑
  3. [3] OpenAI Developers, Agentic Commerce. API: Overview. Accessed . ↑
  4. [4] OpenAI Developers, Agentic Commerce. File Upload: Overview. Accessed . ↑ ↑ ↑
  5. [5] OpenAI Developers, Agentic Commerce. Products (File Upload). Accessed . ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
  6. [6] OpenAI Developers. Product Feeds (Ads). Accessed . ↑

Change history

  • First English version.

This definition is published under CC BY 4.0. Reuse this definition freely, crediting Clione with a link to this page.

Make your catalog easy for bots to read

Clione fills every product page with what bots read best: the JSON-LD graph with its structured data, the meta description and the FAQs. You review and press Push; then we check your live store so it all stays published.