Agentic commerce
The Shopify Catalog API, explained: AI product search without scraping
Shopify's Catalog API (GA June 17, 2026) turns the product catalog into queryable infrastructure for AI agents: image search, multi-modal search, and URL lookup. Here's how it works.
Bas Lefeber
Founder, learnshopify.dev · June 19, 2026 · 7 min read
If you have ever tried to build a shopping agent on top of a real storefront, you know the failure mode. You scrape the product page, parse the title and price out of the HTML, and it works on Tuesday. On Wednesday the merchant renames the product, swaps the theme, or A/B tests the layout, and your parser silently returns garbage. You are reverse-engineering a presentation layer that was never meant to be an API, and you are doing it across thousands of stores that all render differently.
Shopify's Catalog API, which reached general availability on June 17, 2026 as part of the Spring '26 Edition, is the platform-native answer to that problem. Instead of you scraping a rendered page, Shopify exposes the product catalog as structured, queryable infrastructure that AI agents can search and resolve directly. This post walks through what it does, how you call it, and why it matters if you are building AI search, discovery, or a shopping agent.
TL;DR
The Catalog API exposes Shopify's product catalog as machine-readable infrastructure for AI agents. The current surface is the Global Catalog MCP with three tools: search_catalog (text, image, or multi-modal search, plus visually-similar lookup), lookup_catalog (resolve known IDs or product URLs to live catalog data), and get_product (full product detail with variants and checkout links). Access takes an API key with no approval. It supports Sign in with Shop for buyer identity, and Shopify reports that AI searches powered by the Catalog convert at roughly twice the rate of those built on scraped data.
What the Catalog API actually is
Shopify describes the Catalog API as turning Shopify's product data into structured, queryable infrastructure for AI agents so they can discover products, understand them, and present them correctly across AI surfaces. The same catalog powers Shopify's own agentic placements (the announcement names ChatGPT, Copilot, and the Shop app) and is open to any developer building a new experience on top of it.
There are two scopes in the docs. The Global Catalog searches products across every Shopify merchant from a single endpoint, which is what you want for a broad shopping agent or a discovery surface. The Storefront Catalog scopes discovery to one merchant's storefront. This post focuses on the Global Catalog, since that is the one most agent builders reach for first.
One detail worth flagging up front: the docs present the Global Catalog MCP (a Model Context Protocol server) as the current, recommended way in. There is an older REST surface, and the search reference page for it carries an explicit deprecation notice pointing you to the MCP tools instead. So build against the MCP tools, not the REST paths.
The three tools
The Global Catalog MCP exposes three tools. Read them as a funnel: search to find candidates, look up to resolve known references, get-product to drill into one item before checkout.
search_catalogfinds products across all Shopify merchants. It accepts a text query, an image, both together (multi-modal), or a reference to find visually similar items.lookup_catalogresolves known identifiers, including product URLs, to their current catalog data. This is the endpoint that turns a product URL into a real catalog match instead of a scraped guess.get_producttakes a product or variant ID and returns full detail: variant options, live pricing and availability, and seller checkout links.
Image search and multi-modal search
The headline capability is that search_catalog is not limited to keywords. According to the docs, you pass a text query in catalog.query and an image (or item reference) in catalog.like. Send only catalog.query for a classic text search. Send only an image in catalog.like for pure visual similarity. Send both for multi-modal search, where the text refines what the image alone would return.
Concretely: a shopper screenshots a jacket from Instagram and types "but in olive, under 150". Your agent passes the image in catalog.like, the text in catalog.query, and a price ceiling in catalog.filters, and gets back real, buyable products from across Shopify. No image classifier of your own, no per-store scraper.
// ILLUSTRATIVE. A JSON-RPC tools/call to the Global Catalog MCP.// Confirm the agent-profile and argument shapes against the live docs// (spec version 2026-04-08): https://shopify.dev/docs/agents/catalog/global-catalog{ "jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": { "name": "search_catalog", "arguments": { "meta": { "ucp-agent": { "profile": "https://your-agent.example/ucp-profile.json" } }, "catalog": { "query": "olive utility jacket", "like": ["<image content or item reference>"], "filters": { "price": { "max": 15000 } }, "context": { "address_country": "US" } } } }}Treat the request shape as versioned
The MCP endpoint is https://catalog.shopify.com/api/ucp/mcp and every request carries a meta.ucp-agent.profile URL pointing at your agent's UCP profile. The argument names above (catalog.query, catalog.like, catalog.filters) are taken from the docs at spec version 2026-04-08. Pin to the current spec and re-check before shipping. Do not hardcode a shape from a blog post, including this one.
URL lookup: from a link to a real match
The lookup capability is the quiet workhorse. Agents constantly handle product URLs: a user pastes a link, a model cites a page, a comparison flow collects a handful of candidates. lookup_catalog resolves those known identifiers (URLs included) into the real catalog records, so you read live pricing and availability rather than whatever was cached in the HTML when the page was last crawled. Shopify's announcement describes resolving a set of product URLs into actual Catalog matches, with the lookup path designed for bulk resolution in a single request.
This is the difference between "I think this product costs 49 dollars and is probably in stock" and "this variant is 4900 cents, ships to the buyer's country, and here is the checkout link." For an agent that is about to spend someone's money, that gap is the whole game.
Access, auth, and Sign in with Shop
Getting in is deliberately low-friction. The announcement is explicit: Catalog access takes an API key, with no approval required. In practice the docs describe creating an API key in the Dev Dashboard, which gives you a client ID and secret you exchange for a bearer token, then sending that token as an Authorization: Bearer header on requests.
The other piece is identity. The Catalog API supports Sign in with Shop, so a shopper can connect their Shop account and carry saved details into your experience. You get buyer identity without building and securing your own login and address book, which also unlocks more relevant, personalized results.
Why this beats scraping
Scraping treats a storefront's HTML as an accidental API. It is brittle by construction: it breaks on every theme change, it returns stale prices, it cannot see real-time inventory, and it has no concept of variants, shipping eligibility, or a checkout link. You spend your engineering budget maintaining parsers instead of building product.
The Catalog API inverts that. The data is structured at the source, it is live, and it is consistent across every merchant. Shopify also reports a commercial signal that matters if you are pitching this internally: AI searches powered by the Shopify Catalog convert at roughly twice the rate of those using scraped data. That tracks with intuition, since accurate price, availability, and a working checkout link remove exactly the friction that kills agent-driven purchases.
The reusable lesson
The Catalog API only works because the underlying products are modelled well: structured options, variants, and metafields rather than facts buried in a title or description. That same discipline is what makes a merchant's own data agent-ready. If you can model product data cleanly, both your themes and your agents get easier.
Learn this properly · free lesson
Fork in the road: the brew-specs ticket
Practice the decision that makes a catalog machine-readable: how you model product specs as structured data instead of free text. Free, runs in your browser.
Try this lesson — freeWhere to start
- Read the Global Catalog MCP docs and note the current spec version before you write anything.
- Create an API key in the Dev Dashboard and confirm you can call
search_catalogwith a plain text query. - Add an image to
catalog.liketo see visual and multi-modal search, then resolve a real product URL withlookup_catalog. - Layer in Sign in with Shop once the search and lookup flows work end to end.
The mental model shift is the important part. You are no longer a guest scraping someone's storefront. You are querying commerce infrastructure that was built to be queried, which is a far more durable thing to build a product on.
Sources: Shopify, Agentic commerce for every developer: The Spring '26 Edition; Shopify Dev, Global Catalog MCP and About Catalogs.
Frequently asked questions
What is the Shopify Catalog API?
It is a Spring '26 (GA June 17, 2026) API that exposes Shopify's product catalog as structured, queryable infrastructure for AI agents. Instead of scraping rendered storefront HTML, agents call it to search and resolve real product data. The current surface is the Global Catalog MCP, with three tools: search_catalog, lookup_catalog, and get_product.
Is the Catalog API free, and does it need approval?
Per Shopify's announcement, Catalog access requires only an API key with no approval process. You create a key in the Dev Dashboard, exchange the client ID and secret for a bearer token, and send it as an Authorization header. Check Shopify's current pricing and rate-limit docs for any usage-based costs at scale.
How is the Catalog API different from the Storefront API?
The Storefront API is scoped to a single store you have access to and powers a custom storefront for that merchant. The Global Catalog API searches products across every Shopify merchant from one endpoint and is aimed at AI agents and discovery surfaces. Shopify also documents a Storefront Catalog for scoping agent discovery to one merchant.
Can AI agents use the Catalog API?
Yes, that is its purpose. It is delivered as a Model Context Protocol server (the Global Catalog MCP) with tools for text, image, and multi-modal search, product-URL lookup, and full product detail including checkout links. It also supports Sign in with Shop so agents can carry buyer identity into a purchase.
On the launch list
Get updates on the platform.
Same waitlist as the homepage. New posts plus a heads-up when v1 launches. No drip, no spam.
About the author
Bas Lefeber, Founder, learnshopify.dev
Bas builds learnshopify.dev, where developers learn production-grade Shopify theme development against a live storefront. He writes about Liquid, theme architecture, and the parts of the job that still matter now that AI writes the code.
Keep going in the curriculum
