← All guides

How to submit products to ChatGPT: apply, build the feed, deliver it, keep it current

20 September 2026 · 7 min read

Short answer. To submit products to ChatGPT you apply through OpenAI’s merchant form, build a feed in OpenAI’s product feed specification (nine required fields, JSONL or CSV), deliver it by SFTP as a complete snapshot at least daily or keep it current through the API, and keep doing so, because products missing from your snapshots are kept for up to 14 days and then disappear. This page is each of those steps with the source for it.

Step 1: apply

OpenAI’s Get Started guide says onboarding is currently limited to approved partners and points merchants to an application form at chatgpt.com/merchants. There is nothing to prepare before the form beyond knowing your store, but the feed you build in the meantime is what turns an approval into products on screen, so the two can proceed together.

Step 2: choose how you will deliver

The guide offers two integration methods and a recommendation on combining them: file uploads for a daily full feed, and API updates through the day for what changes fast, prices and availability. A small catalogue with stable prices can live on files alone. A catalogue whose stock moves hourly wants the API on top, or a feed tool that pushes for it.

Step 3: build the feed

The products specification is the reference, and our field-by-field guide walks it. The short version: one row per item or variant; nine required fields (item_id, title, description, url, brand, seller_name, image_url, availability, price); variants grouped with group_id; the eligibility flags set for where each product may appear. If you already have a Google Shopping feed, the conversion guide maps the fields; the values mostly carry over, the XML container does not.

The Get Started guide’s third step is to validate every required field on every record before you upload, and the file upload overview suggests starting with a sample of around a hundred items and checking the first complete snapshot by hand before automating.

Not sure what's wrong with your feed?Paste your feed URL and FeedRobin checks every product for missing barcodes, images, descriptions and more — free, no account needed.
Check my feed — it's free What it checks →

Step 4: deliver it

The overview describes delivery as pushing feeds to OpenAI via SFTP, with the SFTP root directory as your catalogue: files go directly in the root, with stable filenames that you overwrite on each upload rather than new names each time, and no completion marker. Each upload is a complete catalogue export treated as the source of truth, not a list of changes. Formats: Parquet with zstd compression is preferred; gzipped JSONL, CSV and TSV are accepted; everything UTF-8. For very large catalogues the overview recommends up to 500,000 items per shard and shard files under about 500 MB.

The API route, described in the same documentation set, upserts products individually and is what the guide suggests for intra-day price and stock changes alongside the daily file.

Step 5: keep it current, or it empties

This is the step that catches people out. The overview recommends uploading at least daily, and says products missing from new snapshots remain accessible for up to 14 days based on their last processed record; to make an item ineligible immediately, set is_eligible_search to false. Read the other way round: a merchant who uploads once and stops has a catalogue that vanishes from ChatGPT in two weeks, silently. A feed that is a habit, a scheduled push every day, is the only kind that stays listed.

FeedRobin does this push for connected stores: the OpenAI JSONL is rendered from your catalogue and delivered to the SFTP root on a daily schedule, with the store name as seller_name, the variant fields filled, and an email if the push fails repeatedly, since a silent failure here is a catalogue that expires. What it cannot do is apply for you: the merchant form is yours.

What to expect afterwards

The public documentation does not state review timelines, regions or fees, and this page does not guess at them. What it does state is the mechanism: approved merchants deliver snapshots, OpenAI processes them, and the eligibility flags on each row decide whether a product can appear in shopping answers, be bought inside ChatGPT (with the separate checkout integration), or be used in ads. Our overview of the channel covers what the experience looks like for a shopper and how Shopify merchants may already be listed without a feed.

Questions merchants ask

Is there a ChatGPT shopping API I can call instead of uploading files?

OpenAI’s Get Started guide offers two integration methods, file upload and API, and suggests combining them: a daily full feed by file, with API updates through the day for prices and stock. Both need the merchant application first; neither is open to anyone with an API key.

How often do I have to upload?

OpenAI’s file upload overview recommends at least daily, as a complete snapshot that overwrites the previous file. Products missing from new snapshots stay visible for up to 14 days from their last processed record, then drop out. A feed nobody refreshes is a catalogue that empties itself in two weeks.

How do I remove a product immediately?

Set is_eligible_search to false on its row in the next snapshot, per the overview. Leaving it out of the file also works, but only after the 14-day retention window.

Which file format should I use?

The overview says Parquet with zstd compression is preferred and that gzipped JSONL, CSV and TSV are accepted; the products specification documents the JSONL, CSV and TSV field layout. For a catalogue under a few hundred thousand items, gzipped JSONL is the simplest that OpenAI accepts.

Sources

OpenAI’s Get Started guide (application form, the two integration methods, validation), the file upload overview (SFTP root, full snapshots, at least daily, 14-day retention, shard sizes), the products specification (fields and formats) and the ChatGPT Ads product feeds page. All fetched 20 September 2026.

Read next

Get your products into ChatGPT: the OpenAI product feed, step by stepChatGPT now recommends real products with live prices. How merchant enrollment works, what OpenAI's feed spec requires (JSONL, nine mandatory fields), and why your catalogue disappears about two weeks after you stop uploading.
7 min
The OpenAI product feed spec, field by field: what ChatGPT reads from your catalogueThe nine required fields, the optional ones that decide whether a product is found, the availability and price formats, how variants are grouped, and the three eligibility flags. Read from OpenAI’s specification, with the traps a Google feed walks into.
8 min
Can you reuse a Google Shopping feed for ChatGPT? The field map and the four differencesOpenAI reads JSONL or CSV, not Google’s XML, and renames most fields; one is required that Google never asked for, and one availability value is spelt differently. The full mapping, and what to convert versus what to add.
6 min
llms.txt for online stores: what it is, and whether you need oneAI assistants now shop on people's behalf. What the llms.txt convention actually specifies, why Shopify stores already have one, what belongs in the file if yours doesn't, and what it will not do for you.
7 min
Not sure what's wrong with your feed?Paste your feed URL and FeedRobin checks every product for missing barcodes, images, descriptions and more — free, no account needed.
Check my feed — it's free What it checks →