Stall library · Discover
No machine-readable product feed
A product feed is a single machine-readable document listing your products with their prices, stock and variants, and without one an AI shopping agent has to fetch and interpret every product page individually. The result is not merely slower. An agent working page by page under a budget compares a sample of your catalogue against a rival that handed over the whole of theirs in one request.
Why the agent stops
A feed collapses dozens of fetches and dozens of parsing decisions into one document with a known shape. Every field the agent reads from a feed is a field it did not have to infer from your layout, and inference is where agents get facts wrong.
Feeds also carry the fields that page markup most often omits, particularly the full variant grid and per variant stock. An agent asked for a specific size can answer from a feed without loading a page at all.
How often we see this
Not stated here. A frequency means nothing without the cohort it was counted over, and this page is about one stall rather than one category. Where a category has enough stores measured at every stage, the share of them showing this stall is published on its benchmark page, with the methodology beside it.
See it for yourself
- If you are on Shopify, open https://yourstore.com/products.json and check it returns product objects rather than an error.
- Confirm the response includes price, availability and a variants array for each product.
- Count the products returned against your real catalogue size. Feeds are commonly paginated and a first page is not a catalogue.
- On other platforms, look for a merchant feed endpoint or a generated feed file and check the same fields.
What to change
- Expose a product feed. On Shopify /products.json is served automatically unless it has been disabled by an app or a theme rule.
- Include price, currency, availability, variant options and an identifier such as a GTIN or MPN for every variant.
- Regenerate the feed when a product changes rather than on a long schedule.
- Make sure robots.txt does not disallow the feed path. Blocking it is a common side effect of blocking scrapers.
What Ottom looks at
Ottom looks for a machine-readable feed and, when it finds one, uses it as the reference for several other checks: whether page prices agree with feed prices, whether variant grids are described in page markup, and whether the feed is fresh enough to still describe the storefront.
Questions
Is a product feed the same as structured data?
No. Structured data describes one page to whoever loads it. A feed describes the whole catalogue in one request. Agents use both, and the failure modes are different, so the two are separate findings.
Does publishing a feed help competitors scrape my prices?
Your prices are on your public product pages already. A feed changes who can read them cheaply, not who can read them, and the party it most helps is the agent deciding whether to recommend you.