# SKUHelm > Product feeds for ChatGPT shopping, built from the shop you already run. SKUHelm reads a Shopify or WooCommerce store (or a CSV, JSON or JSONL file), turns every product and variant into a row in OpenAI's product feed format, checks each row against the spec (https://developers.openai.com/commerce/specs/feed) and publishes the rows that pass at a fixed public address. It never writes prices or stock; it reads them. It does not get a shop approved by OpenAI; merchants apply at https://chatgpt.com/merchants. Plans: Free (checks 500 items, publishes 25) and Pro ($29 a month, 10,000 items, sync every 60 minutes). Required feed fields: item_id, title, description, url, brand, seller_name, image_url, availability, price. ## Docs - [Feed field reference](https://www.skuhelm.com/docs/feed-spec): every field in the spec and its rule - [REST API](https://www.skuhelm.com/docs/api): validate, sync, status and feed endpoints, with error codes - [MCP server](https://www.skuhelm.com/docs/mcp): remote MCP at https://www.skuhelm.com/api/mcp - [OpenAPI](https://www.skuhelm.com/api/openapi.json): machine-readable API description ## API - POST /api/v1/catalog/validate: Check up to 1000 feed rows against OpenAI's spec. With a key, your store settings fill gaps first, exactly as your live feed would. - POST /api/v1/catalog/sync: Re-read every shop connected by address, record what changed and republish the feed. Uploaded files are skipped: upload a new file to update them. - GET /api/v1/sync/status: Item counts by status, the live feed version and its addresses, each source and the last five syncs. - GET /api/v1/feeds/{store}/acp.json: The live feed as one JSON document with its version and counts. Public, like the feed files themselves. ## Guides - [The ACP product feed, field by field](https://www.skuhelm.com/guides/acp-product-feed): Every field in OpenAI's product feed spec: which are required, which are optional, what format each one wants and where small shops usually go wrong. - [Selling through ChatGPT: what a small merchant needs first](https://www.skuhelm.com/guides/chatgpt-instant-checkout-merchants): What OpenAI asks of merchants, the difference between a product feed and checkout, and a practical list to work through before you apply. - [How to validate a product feed and fix the usual errors](https://www.skuhelm.com/guides/validate-product-feed): A practical way to check an OpenAI product feed before you send it, with the most common errors, what causes them and how to fix each one. - [Product variants in feeds: group_id, variant_dict and listing_has_variations](https://www.skuhelm.com/guides/product-variants-in-feeds): How OpenAI's feed spec represents products that come in sizes and colours, with a worked example and the mistakes that break variant rows. - [Keeping price and stock in sync with your product feed](https://www.skuhelm.com/guides/keep-price-and-stock-in-sync): Why stale prices and stock cause real problems in a product feed, what OpenAI's documentation says about freshness, and how often to refresh. - [Agentic commerce for small shops, in plain English](https://www.skuhelm.com/guides/agentic-commerce-for-small-shops): What agentic commerce and the Agentic Commerce Protocol mean for a small independent shop, what is real today and what you can sensibly do about it. - [Shopify product feed for ChatGPT: what you get and what is missing](https://www.skuhelm.com/agentic-commerce/shopify): What a Shopify store gives you for OpenAI's product feed spec, which fields it leaves blank, and how to fill the gaps with SKUHelm. - [WooCommerce product feed for ChatGPT: what the Store API covers](https://www.skuhelm.com/agentic-commerce/woocommerce): What the WooCommerce Store API provides for OpenAI's product feed spec, where it falls short, and how to get a clean hosted feed with SKUHelm. - [Product feed from a spreadsheet: Etsy, Squarespace and hand-made sheets](https://www.skuhelm.com/agentic-commerce/spreadsheets): How to turn a CSV from Etsy, Shopify, Squarespace or your own spreadsheet into a valid OpenAI product feed, and what columns you will need to add. ## Optional - [Free store check](https://www.skuhelm.com/check): check any public shop against the spec without an account - [Pricing](https://www.skuhelm.com/pricing): plans and limits