Shopify Catalog API: How to Get Ready for Agentic Commerce
I was at dotdev on July 21 and 22, in Toronto, for the two days when Shopify brings developers together around its roadmap. One theme kept coming back across sessions: the entry point to your store is no longer just a human typing a query into Google. Increasingly, it’s an AI agent querying a structured catalog, comparing, and coming back with three products. Shopify’s own numbers for the first quarter of 2026 point the same way: AI-referred orders grew nearly 13x year over year, and AI-referred visitors convert at roughly 50% higher rates than organic search.
When I got back, I wanted to see what that looked like in practice. I built a catalog in Shopify’s Dev Dashboard and queried it the way an agent would, across several stores, to understand why some products surface and others never do. It’s the most revealing exercise I’ve run this year on product data quality, and it takes about thirty minutes.
Two different things are called “catalog”
This is the confusion to clear up first, because it completely changes what you have to do.
Shopify Catalog is the centralized repository where Shopify aggregates eligible products from its merchants, in a structured format, so AI platforms can discover them. On the merchant side, it’s automatic: no action required, and more importantly, no way to opt out entirely. You can block individual agentic storefronts, but your eligible products are in the catalog whether you know it or not.
The Catalog API is the other end of the pipe: the interface agents query. Shopify exposes two variants: the Global Catalog, which searches across all merchants, and the Storefront Catalog, scoped to a single store. Both implement the Catalog capability of the Universal Commerce Protocol, the protocol Google and Shopify are co-developing and that I broke down in my article on UCP and ecommerce SEO.
The implication is simple: you don’t get to choose whether you’re in the catalog, only whether you’re in it well or badly. And the API is how you find out which of the two applies to you.
What Shopify requires before it will even index you
Before testing anything, it’s worth knowing whether your products are eligible at all. The criteria are public and specific, and they fall into three groups.
Store level: be on the Starter plan or higher, not be password-protected, and comply with Shopify’s terms of service.
Product level: a title, at least one image, a price above $0, publication to your online store (or to Hydrogen or Headless, with correct route formatting), and an identifiable product URL. Products with unlisted status or hidden from search engines are excluded, as is sensitive content.
Account level, and this is the part merchants forget: verified email, two-step authentication enabled, genuine sales history through normal channels, orders fulfilled promptly, a low chargeback rate, Shopify invoices paid on time. Catalog eligibility is as much a question of operational hygiene as it is of product pages.
Building a catalog in the Dev Dashboard
Here’s the exercise as I ran it. In the Dev Dashboard, the Catalogs section lets you create a saved catalog, which is a Global Catalog feature. The idea: pre-configure persistent filters instead of repeating them on every request.
By default, a new catalog bounds nothing and searches across all of Shopify’s products. It gets interesting once you narrow it. The interface groups filters into five blocks:
- Source: all of Shopify, or specific stores
- Query: a search prefix and a result limit
- Region: buyer country, shipping destination, and shipping origin, three distinct fields
- Attributes: category, color, gender, size, product condition
- Listing: in stock only, price range, price tier, minimum rating and minimum review count
Those last two deserve a closer look, and I’ll come back to them.
Good news for non-developers: you don’t need to write a single line of code to test this. The Dev Dashboard includes a search preview to the right of the configuration, showing the request and the response in either visual or raw JSON form. You type what a customer would ask, and you see what the agent would see. The rest of the exercise fits in that window.
And that’s where it becomes a diagnostic. If you sell food products, query the catalog the way a customer would phrase it, and see whether you come out. If you don’t, the agent isn’t the one with a problem: your data doesn’t allow anyone to find you. You’ve just uncovered a blind spot that neither Google Analytics nor your sales report will ever show you.
Run the same exercise against your competitors and you’ll learn which ones are ahead on agentic commerce. It’s the most honest market research there is: nobody can spin it, the query settles it.
Your customer reviews just changed function
This is the finding that surprised me most, and it appears nowhere in the documentation.
Every result the catalog returns shows the merchant name, a rating out of five, and a review count in brackets, next to the price. And the Listing block of the configuration lets you filter on a minimum rating and a minimum review count.
Read that twice, because the consequence is blunt: whoever configures the agent can exclude you from the selection before your product’s relevance ever enters the picture. Your reviews are no longer just social proof meant to reassure a hesitant human on your product page. They’ve become a machine-readable eligibility criterion, applied upstream, without anyone ever seeing your store.
On my “snowboard” query, a product rated 5.0 with a single review ranked second, ahead of a product rated 4.8 with 617 reviews. One query doesn’t make a rule, and I won’t build a ranking theory out of it. But it’s enough to establish that the mechanics aren’t those of classic SEO, where volume eventually wins.
What I observed: your public metafields decide your visibility
After comparing stores that surfaced against stores that stayed invisible on equivalent queries, one factor came up more than any other: metafields, and above all their access level.
The trap is nasty because it’s invisible from the admin. A Shopify metafield is private by default. In the definition, the access.storefront setting is none until someone changes it, which the documentation renders as “Hidden from Storefront API.” You have to explicitly set it to public_read for an external source to read it.
The result: a team can spend weeks properly documenting composition, certifications, dimensions, and compatibility for every product, and all of that work stays locked away. The merchant sees it in the admin. They may even see it rendered on the product page, since the Storefront setting doesn’t affect Liquid. But an agent querying the catalog sees nothing. The data exists, it’s just unreachable by the one doing the recommending.
The rest of the chain, on the other hand, is documented. Shopify Catalog Mapping lets you designate metafields or metaobject references as sources for product title, description, and category, with a dedicated Grouping metafield menu for variant grouping. Shopify notes that the feature is “most helpful if your store uses custom data and grouping logic for products, such as metafields, metaobjects, tag prefixes, or separators/delimiters in product titles.” And on the response side, the Storefront Catalog returns a metadata object carrying exactly that kind of data, such as certifications: ["USDA Organic", "Fair Trade Certified"].
The corollary is worth stating plainly: anything you encode in presentation rather than in data is lost. Shopify is explicit about this, information that lives “in Liquid templates, JavaScript rendering logic, or custom display rules” is invisible to AI. Color swatches generated in JavaScript, groupings managed in the theme, options modeled as tags: it works for a human, it doesn’t exist for an agent.
One honest caveat to close: no Shopify page states in so many words that “your metafields must be public_read to feed Shopify Catalog.” What the documentation establishes is that metafields are private by default, that they can serve as mapping sources, and that catalog responses do carry this custom data. The link between the three comes from my testing, not from an official page. Verify it on your own store before turning it into internal policy. It takes ten minutes with the search preview.
Limits worth keeping in mind
The exercise is revealing, but don’t over-read the results.
Being in the catalog guarantees neither ranking, nor placement, nor display across channels. Shopify says so explicitly. Some returned fields are AI-generated and flagged as inferred, with accuracy that varies with the data available: don’t build a conclusion on an inferred field. Rate limits apply, and keyless access doesn’t allow raising them. Caching results and images is prohibited, because responses have to reflect the merchant’s live preferences. Finally, Shopify notes that API URLs are subject to change, which is the usual signal of a young surface.
In other words: treat this as a measuring instrument, not a production dashboard.
Where to start this week
Five things, in order, and none of them require development work.
- Check your eligibility. Walk through the criteria list. Two-step authentication and sales history block more stores than you’d think.
- Create a catalog and query it in the search preview, using the five queries your customers phrase most often. Note which ones surface you and which ones leave you out.
- Run the same test on three competitors. The gap gives you your work plan, prioritized by what’s actually missing.
- Audit your metafield access. List the ones carrying real purchase information, composition, certifications, dimensions, compatibility, and check which are still set to
none. It’s the cheapest fix and the most frequently overlooked. - Look at your reviews with fresh eyes. Rating and review count are filters now. If your customer review program was sitting at the bottom of the priority list, it just moved up.
If you want the broader context before diving in, my guide to agentic commerce for Shopify merchants explains why this shift is happening now and what it changes in the buying journey.
What comes next
The work that follows the diagnostic is rarely spectacular: structuring a taxonomy, filling in attributes, revisiting variant grouping logic, fixing descriptions written for a human in a hurry rather than for an agent making comparisons. It isn’t glamorous, but it’s exactly what decides whether an agent recommends you or recommends your competitor.
At Junifia, this is the kind of engagement we take on: an audit of your ecommerce platform architecture that starts with your product data and works up to what agents do with it.
If you’d like us to look together at what the catalog says about your store, get in touch.