Shopify Editions Spring '26 — Agentic — article thumbnail

Shopify Editions Spring '26: Agentic | Opening Up the AI Commerce Foundation (All 11 Items)

CATEGORY 01 / AGENTIC

The central theme of this Editions release is the "Agentic" category. Products are discovered and recommended within conversations with AI assistants such as ChatGPT, Copilot, Gemini, and Perplexity, and on supported channels that discovery flows straight through to purchase — this is what's called "agentic commerce." Here, Shopify lines up 11 items that open its product and payment foundation to it (whether checkout can be completed inside the chat itself varies by channel). The technical foundation is the Catalog API and UCP (Universal Commerce Protocol). In this article, I'd like to walk through all 11 items one by one, each with an importance badge and a source.

How to read the importance badges
S = the central theme of this release / A = practical impact for many merchants / B = check depending on your operations / region

ALL 11 ITEMS / EXPAND TO SEE DETAILS
S
Products optimized for AI

Automatically list products on AI channels and manage everything in one place — performance monitoring, sales tracking, and improvement guidance.

+
Official name: Agentic storefronts / Agentic home (the admin home)Source ↗Official demo video ↗
A diagram of the bidirectional relationship between the inside and outside of Shopify and the various AI vendors, with the Catalog API/UCP as the boundary

From listing via AI channels all the way to visualizing results, this lets you handle everything together on the admin side (Agentic home). You could call it "the front door to agentic commerce."

First, some context: what is an "AI channel"?

It refers to the places where AI mediates shopping — ChatGPT, Copilot, Gemini, Perplexity, the Shop app, and so on. Instead of the traditional "drive people to your own online store," from here on products are found within conversations with AI assistants and lead to purchases — and those "listing destinations" are AI channels. Note that "discovery (finding things)" happens broadly across all these channels, but whether you can "complete checkout inside the conversation" varies by channel (see "Checkout in more places" below).

How it works (from the ground up)
  1. The merchant registers products in Shopify (ordinary product data).
  2. Shopify Catalog automatically standardizes and enriches that data and places it in the global catalog.
  3. AI channels / external agents discover, recommend, and sell the products across the Catalog API (UCP).
  4. Orders and results can be reviewed in the admin's Agentic home and elsewhere.
What you can do in the admin (from the official demo)

The official demo video shows that this goes beyond mere "automatic listing" — you can actually run operations and optimization from the admin side. The key points are as follows.

  • Automatic listing and order sync: Products are automatically listed on AI channels such as ChatGPT and Copilot (discovery), and on channels that support checkout, buyers purchase within the conversation. Orders sync straight back into the Shopify admin. Note that ChatGPT runs primarily on the ACP (Agentic Commerce Protocol, a separate lineage led by OpenAI and Stripe; see "Checkout in more places" below) and centers on discovery, while completing in-chat checkout with Shop Pay happens on UCP-supported channels (such as Copilot) — that's the difference.
    Related: The AI Commerce endpoints Shopify had been auto-deploying to every storePreparing for the era when AI picks your products
  • Agentic overview (a single, unified dashboard): Track the sales, session counts, order counts, and conversion rate of the major AI channels all in one place.
    Shopify Agentic admin — Agentic overview (sales/sessions/orders/CVR by AI channel such as ChatGPT/Microsoft Copilot/Shop, product sync status, and search insights)
    ▲ The "Agentic" admin screen. You can review results by AI channel, plus product sync to the Shopify Catalog and search insights, all on one screen.
  • High CVR from high-quality data: The Shopify catalog organizes and translates the context of each product, providing accurate structured data — not scraped data. As a result, the conversion rate is said to be about twice the usual (please confirm the preconditions for that figure in the source).
  • Search insights + Sidekick suggestions: You can see what buyers are actually searching for in AI chat, reproduce the searches the AI uses, and check whether your products rank. Areas that need improvement are flagged, and Sidekick suggests the specific changes to make.
  • Listing preview and channel control: With one click, open a pre-filled search and preview how products look to buyers. You can also set, from the admin, which AI channels you supply data to, and whether distribution is automatic or controlled individually.
A quick take

"Listing for AI" looks less like a set of individual optimization tasks and more like something that boils down to the quality of your product data. In the end, what you do is "flesh out the descriptions, specs, images, and taxonomy." Rather than treating AI-channel readiness as something special, you can unify the message: "tidying up product data = AI readiness."

S
Structuring product data for agents (Shopify Catalog)

Shopify Catalog automatically standardizes and enriches data. Data routed through Shopify is said to double the CVR in AI chat.

+
Official name: Shopify Catalog / Global Catalog extension (ML-inferred metadata)Source ↗Extension spec ↗
A flow diagram showing Shopify Catalog generating four elements via ML inference from raw product data

This is the technical foundation underneath the previous item (Products optimized for AI). Shopify normalizes the product data that merchants write in all sorts of inconsistent ways into a unified format, and further fills in information with machine learning (enrichment) — you could call it "a layer that quietly tidies up the data so AI can understand products correctly."

What gets "standardized," and what gets "enriched"

The data returned by the Catalog API includes, in addition to the merchant's own input, metadata (ML-inferred metadata). The keys I was actually able to confirm are as follows.

  • tech_specs (technical specifications)
  • top_features (top features)
  • unique_selling_points (unique selling points)
  • attributes (normalized attributes such as material, style, and occasion)
The evidence that this is "ML inference"

We can tell these are machine-learning inferences first because it's stated explicitly in the official extension spec (Global Catalog extension). That document defines each field under product.metadata with "ML-inferred" prefixed to all of them.

  • attributes: "ML-inferred product attributes such as material, style, and occasion."
  • tech_specs: "ML-inferred technical specifications."
  • top_features: "ML-inferred top product features."
  • unique_selling_points: "ML-inferred unique selling propositions."

None of these are described as "fields the merchant edits directly," so we can read them as read-side data that Shopify generates automatically. On top of that, I confirmed that the same keys actually come back when you call the API (see the next code block). In other words, it's backed up on both sides: not just "the spec says so," but "it really does return that way."
* In the spec, fields like tech_specs are defined as string arrays, but in actual responses I also saw cases where they came back as a single string with line breaks (this area should be verified against live data).

Here's what actually comes back when you make a request

When you actually call the global catalog API (search_catalog at POST catalog.shopify.com/api/ucp/mcp), this data comes back inside each product's metadata. Below is an actual response for a certain pair of wireless headphones (Sennheiser MOMENTUM 4), cleaned up and partially abbreviated for readability.

// search_catalog response → products[].metadata (live data, partially abbreviated)
{
  "unique_selling_points": [
    "Hybrid adaptive noise cancellation and transparent mode for
     seamless situational awareness and immersive sound."
  ],
  "top_features": "Hybrid adaptive noise cancellation: ...\n
     Customizable sound modes and EQ presets: ...\n
     Premium comfort design: ...\n
     Up to 60 hours battery life: ...\n
     Smart Pause and auto on/off: ...",
  "tech_specs": "Wearing Style: Headband, around the ear (Circum)\n
     Connectivity: Bluetooth 5.2, 3.5 mm, USB, 2.5 mm\n
     Speaker Type: 42 mm dynamic transducer\n
     Frequency Range: 6 Hz to 22 kHz\n
     Battery Life: Up to 60 hours (Bluetooth + ANC)\n
     Charging Interface: USB Type-C\n
     Microphone: MEMS, 2-microphone beamforming"
}

For reference, the above can be read as follows in plain terms (the response itself is in English).

unique_selling_points
• Hybrid adaptive noise cancellation and a transparent (ambient) mode deliver immersive sound while keeping you aware of your surroundings.

top_features
• Hybrid adaptive noise cancellation: automatically adapts to ambient noise
• Customizable sound modes and EQ presets
• Premium comfort design (lightweight, memory-foam ear pads)
• Up to 60 hours of battery life
• Smart Pause and auto on/off

tech_specs
• Wearing style: headband / over-ear, fully enclosing the ears
• Connectivity: Bluetooth 5.2, 3.5 mm, USB, 2.5 mm
• Speaker: 42 mm dynamic driver
• Frequency response: 6 Hz–22 kHz
• Battery: up to 60 hours (Bluetooth + ANC)
• Charging port: USB Type-C
• Microphone: MEMS, 2-microphone beamforming

What's worth noting is that this is not the raw description text the merchant wrote. The key points have been bulleted, and tech_specs has been formatted as "field name: value." You can see that a machine reconstructed it from the description, spec table, images, and so on. The types also differ by key: unique_selling_points was an array, while top_features / tech_specs were line-break-separated strings.

A point that's easy to misunderstand: these are not fields you type in by hand. Even the official schema clearly marks them as "ML-inferred," and they're "read-side" data that Shopify generates automatically from existing descriptions, specs, images, and taxonomy (category classification). The way to improve accuracy ultimately comes down to fleshing out the underlying product data (descriptions, specs, images, classification, variant attributes).

What "2x CVR" means

Shopify states that "data structured through Shopify doubles the conversion rate (CVR) in AI chat." This is likely because normalized, consistent data improves matching accuracy — for instance, the AI can treat the same "mid-century" with the same meaning, or brass lamps get tagged consistently (please confirm the assumptions behind the figure in the source).

How it works (from the ground up)
  1. The merchant registers a product → Shopify maps it to taxonomy and attributes (standardization).
  2. ML infers tech_specs / top_features and the like from the description, images, and so on (enrichment).
  3. The consolidated data is placed in the global catalog and returned, deduplicated by UPID (a common product ID) — that is, the same product registered by different stores is merged into one.
A quick take

The true nature of "AI optimization," I feel, ultimately comes down to tidying up product data. Since it's ML inference, the idea of stuffing in keywords doesn't work well; what works is the quality of the raw material (descriptions, specs, images, classification). Put another way, making product data healthy is itself the first step toward AI commerce readiness, and tidying up taxonomy, entering attributes, and enriching images/specs all look like initiatives worth tackling head-on.

S
Checkout in more placesComing soon / planned

Complete a purchase with Shop Pay from inside chats like Copilot (UCP-based; Meta ads support also planned).

+
Official name: AI channels with built-in checkout / UCP Checkout MCPSource ↗
A three-stage diagram of discovery → cart → payment, showing that payment uses Shop Pay and that ChatGPT is excluded

This is the mechanism that lets shoppers complete the "payment" inside the AI conversation, without having to come to your own site. On supported channels such as Copilot, saying "buy this" takes the purchase all the way to completion right there using Shop Pay — you could call it the "last piece" of agentic commerce.

A point that's easy to misunderstand: ChatGPT is not included here. Completing Shop Pay checkout inside chat applies to channels (such as Copilot) that support Shopify's UCP (Universal Commerce Protocol) built-in checkout. ChatGPT runs on a separate lineage, the ACP (Agentic Commerce Protocol, a standard led by OpenAI and Stripe), and it's more accurate to think of Shopify products there as going as far as "search and discover (discovery)". Even within the same "shopping with AI," whether checkout can be completed inside the conversation depends on the channel (i.e., the protocol it adopts).

The technical foundation (the final "payment" stage of discovery → cart → payment)

Agentic commerce is a three-stage structure of "discovery → cart → payment," and this item corresponds to that final "payment" stage. The foundation is the various MCPs of UCP (see the next item).

Role What it handles
Cart MCP Build and update the cart (add line items, estimate totals)
Checkout MCP Convert the cart into a checkout. Finalize the purchase with complete_checkout
The actual payment Shop Pay (since the address and card are already saved, it can be completed inside the conversation)

The three demos I published (Concierge / Search by image / URL price check) went as far as producing a checkout_url and sending the user to each store's checkout screen. This item goes a step further, into a world where you go all the way to payment without leaving the chat.

Relationship to the auth tiers (the implementation crux)

complete_checkout (finalizing the purchase) can only be called at the top of the three auth tiers — the Token tier — and only when the permission to complete purchases has been granted. It's not possible at the Anonymous or Signed tiers. In other words, to build an experience that "lets people buy inside the conversation," a server + authentication are prerequisites (the same structure as Shop sign-in support). For an anonymous, browser-based demo, the realistic scope is "search → cart → guiding to checkout_url."

Status

It's marked "coming soon / planned." Support for Copilot and the like, as well as Meta ads integration, is described as a phased rollout. We can't assert "you can buy with Shop Pay in any chat right now"; it's more accurate to read it as certain in direction but fluid in timing.

A quick take

Once this is in place, "having AI buy for you" becomes literally real (discovery → payment, all inside the conversation). The key is the spread of Shop Pay, and stores that have enabled Shop Pay look more likely to reap this benefit automatically. On the other hand, building your own fully automated checkout is hard to implement (Token tier + permissions), so for the time being the realistic answer looks like "riding on the payment path that Shopify / the AI channel provides."

S
Agentic plan

Even without adopting Shopify as your store, you can sell on AI channels and the Shop app just by syncing products to the Catalog.

+
Official name: Shopify Agentic planSource ↗
A flow diagram of the Agentic plan: selling on AI channels with only product data and no storefront

Until now, Shopify has been "a platform for building online stores." The Agentic plan is a new entry point where you can sell on AI channels by putting only your product data into Shopify, without having an online store. It looks like a fairly significant shift in direction — Shopify expanding from a "store-building tool" into "the product-supply infrastructure for AI commerce."

How it works (from the ground up)
  1. You don't build an online store. But you do create a Shopify account.
  2. Add products (manually / via CSV / via the Admin API, or by integrating with your own PIM (Product Information Management system)).
  3. Shopify syncs the products to AI channels (ChatGPT / Gemini / Copilot / Perplexity / Shop, etc.) in real time.
  4. Orders are routed to your own OMS (Order Management System), and tax is handled via your tax-system integration.

In other words, it's a setup where you "don't keep a front (store) and use Shopify solely as an 'AI-facing sales channel and catalog.'"

Pricing (confirmed officially)

No monthly fee — only transaction fees. For online transactions in Japan it's 3.55% + ¥0 (rates vary by region). Since there's zero fixed monthly cost, the barrier to "just trying AI channels first" looks low.

Which businesses it works for
  • Cases where mid-to-large businesses that already have their own EC or core systems want "exposure on AI channels only, without fully migrating to Shopify."
  • As a channel for manufacturers / wholesalers to feed products from their own PIM into AI commerce.
A quick take

This looks like an item that breaks the fixed notion of "Shopify = building a store." Being able to say, in a pitch, "no store migration needed — you can put products on AI channels with just product data" could be a big deal. The crux is PIM integration, and for businesses with a product-data foundation, the value of tidying up that data ties in directly. On the other hand, "having no front = a thinner, less crafted brand experience" is a risk, so there seems to be room to discuss the design — for example, running your flagship store alongside the Agentic plan.

S
An open protocol for agentic commerce (UCP)

Build everything from discovery to purchase with UCP's catalog, cart, and checkout MCPs.

+
Official name: UCP (Universal Commerce Protocol) = implemented as MCPSource ↗
A relationship diagram of external AI → UCP (three MCPs) → commerce

UCP is an open protocol (a common standard) for AI agents to conduct commerce safely on behalf of buyers. Co-developed by Shopify and Google, it's also backed by Amazon, Meta, Microsoft, Salesforce, Stripe, Etsy, and others. It aims to be "the common language of AI commerce," and all the other agentic items sit on top of it. It's implemented as three MCPs (Model Context Protocol) — catalog (discovery), cart, and checkout — and you can think of it as Shopify providing a "common language" that isn't tied to any particular AI.

Structure (the three MCPs of discovery → cart → payment)
Stage MCP Main tools
Discovery Catalog MCP search_catalog / lookup_catalog / get_product
Cart Cart MCP Build / update the cart, estimate totals
Payment Checkout MCP complete_checkout (finalize the purchase)

There are two layers of endpoints. A global one that spans all merchants and is discovery-only (POST https://catalog.shopify.com/api/ucp/mcp), and a storefront one that handles discovery plus cart/checkout for a single store (https://{shop}.myshopify.com/api/ucp/mcp). A business profile is auto-generated at each store's /.well-known/ucp (one existed for STORE DOJO as well).

"Usage tips" learned by hands-on testing
  • JSON-RPC 2.0. Pass method:"tools/call", the tool name in params.name, and the agent profile URL (required) in arguments.meta["ucp-agent"].profile.
  • No approval — and not even an API key — is required for discovery (this is the heart of Spring '26's "general opening up").
  • For calling directly from the browser, use Content-Type: text/plain. With application/json, the CORS preflight (OPTIONS) is rejected, but with text/plain you get 200 + ACAO:* and can read the response (the server interprets it as JSON).
  • Test profile: shopify.dev/ucp/agent-profiles/2026-04-08/valid-with-capabilities.json (for permanent public pages, a self-hosted profile is recommended).

With this knowledge, I was able to build and publish STORE DOJO's three demos (Concierge and others) serverlessly.

Status

Discovery (Catalog) is generally available (GA-equivalent) and can be called without approval. Cart / automatic checkout finalization (complete_checkout), on the other hand, requires the Token tier + permissions.

A quick take

This looks like the center of the agentic strategy. Shopify becomes the "orchestration layer (the conductor)," and external AIs conduct commerce via this protocol. The fact that it's an open standard rather than one company's lock-in is significant, and it feels like it's becoming the de facto common standard for the industry. What's more, implementation is surprisingly lightweight (no API key needed, callable from the browser), so the low psychological barrier to a PoC (Proof of Concept) is also a practical advantage.

B
Sponsored products using the Catalog APIComing soon / developer preview

Earn revenue from sales generated in agentic experiences.

+
Official name: Earn with paid placements (promoted placements)Source ↗
A flow diagram for sponsored products: put a product up for promotion → it appears in search → purchase → the experience developer is paid

A point that's easy to misunderstand: the name makes it sound like "merchants buy a top placement, like a listing ad," but it's actually an affiliate (performance-based) model. There are three parties.

  • The merchant = the owner of the product. They "put their products up for promotion" (this is the opt-in).
  • The agentic-experience developer = the builder of the AI page / app that compares and recommends products (e.g., something like an "omakase concierge").
  • The buyer = the person who buys a product using that experience.

When a product the merchant put up gets recommended within the developer's experience and sells, the developer who built that experience earns a commission — that's the flow. Rather than the merchant paying ad costs up front, the developer is paid only for what actually sells.

How it works (including hands-on findings)
  1. When you pass placements:["affiliate"] to search_catalog, promoted products come back mixed in with the regular (organic) search results.
  2. You can identify "this is a promoted item" by each product's placement.commission (organic ones have no placement field).
  3. A shdid (developer ID) / shclid (click ID) is appended to the URL, and a purchase within 7 days of the click is measured as a conversion → paid out monthly after KYC (identity verification).

Hands-on result: when I sent placements:["affiliate"] with a test profile, there were 0 promoted items. In other words, it seems they don't appear unless you're enrolled in the Developer Preview (invite-only).

An important constraint

"So is it a free-for-all where you can flood the results?" — apparently not. There's a relevance gate, so unrelated products don't appear. The commission rate is controlled by the merchant, and in the first place a product has to be in the catalog-search candidate set for any of this to matter (structuring product data is the prerequisite). Unlike listing ads (CPC bidding), it leans toward performance-based.

Status

Developer Preview (invite-only). It's not something ordinary merchants / developers can use right away.

A quick take

If you build "an agentic experience that compares and recommends," there's a path to monetization — it looks like the "AI version" of affiliate models on media / comparison sites. But the big prerequisite is "product data that makes it into the candidate set in the first place," so it lands back on the data-tidying story after all. Since it's currently a preview, I felt the honest approach was to introduce it in the article as a "future revenue model" and not let readers misread it as a way to make money right now.

B
The Catalog API now supports Shop sign-in

Add Shop sign-in to experiences built with the Catalog API. Personalized search is also planned.

+
Official name: Buyer-linked tokens (the top "Token" of the three auth tiers)Source ↗

What "Shop sign-in support" really is, is a mechanism called a buyer-linked token available at the top of the three auth tiers, the Token tier. That's why the source is an "authentication" page.

Tier How you identify yourself What you can do
Anonymous Attach nothing Search, cart, checkout draft. No payment finalization / order. Lowest rate limit
Signed HTTP signature Cart, checkout. No payment finalization / order. Medium rate limit
Token A token issued from the Dev Dashboard, as a Bearer Full functionality. Present a buyer-linked token for personalized search (planned). Highest rate limit
What a buyer-linked token is

Simply put, it's a "signed-in token" carrying the Shop-customer information of "who this person is" (a Shop customer = a user of accounts.shop.app, which includes Shop Pay users and numbers around 250 million worldwide). When you pass this to catalog search, the search enters a "state where it knows who it's dealing with," and can be personalized for that person. The flow to obtain one is three steps: ① get login permission from Shop → ② exchange it for a short token meant for redemption → ③ redeem it for the actual token at Shopify (a "delegation method" following the standard OAuth spec). The advantage is that you don't have to show a second login screen (the existing Shop login is carried over on the server side), and the token you obtain is valid for 60 minutes and cannot be reissued.

Important constraints (hands-on tested and cross-checked against the docs)

⚠️ A server is required: the client secret cannot be placed in the browser / mobile (a public client is not allowed). It can't be put on the current serverless demos.

⚠️ Personalized search is "coming soon": the token-acquisition flow itself is GA, but the experience where it actually changes search results is explicitly noted as not yet available (the docs are inconsistent on this, but I treated the more specific "coming soon" on the catalog side as authoritative).

A quick take

This looks like a mechanism that lets you delegate "the AI-commerce version of signed-in recommendations" to Shopify's catalog without holding any ML yourself. That said, it presupposes a server + a Dev Dashboard app, so it won't roll out to all merchants right away. For now, the realistic stance seems to be "nail down the design of the plumbing (server + app)" and prepare so you can deliver value the moment personalization launches.

A
Build experiences with the Catalog API and UCP

Various demos are live, including travel planning, similar-image search, and horoscope shopping.

+
Official name: The Spring '26 demo appsSource ↗
Building experiences: a division-of-roles diagram where AI identifies and Shopify Catalog matches to in-stock products

This is a showcase of "what kinds of experiences you can actually build with the Catalog API + UCP." Shopify officially introduces several demo apps.

Demo What it does Catalog capability used
Showroom Identifies furniture / clothing within a video frame from a TV show → presents similar in-stock products Image search + AI video recognition
All Set Pick a destination and get a ready-to-buy packing list Text search + context interpretation (intent)

An important distinction for Showroom: "identifying a lamp within a video frame" is the job of the AI's eyes (a multimodal LLM), not Shopify. Shopify's role is the part that "matches that visual identification to a real, in-stock product." That is, you don't pass a YouTube URL to Shopify; rather, you take the frame as an image and run it through image search.

The demos I actually built and published on STORE DOJO

I proved out this item on my own store. All of them call the global catalog serverlessly (directly from the browser, with text/plain).

As an honest note, in these the "finding" is done by the Shopify catalog, and the "selecting (ordering)" is done by simple queries + rules — there's no LLM judgment involved. The fact that they're still accurate is, I feel, largely down to the performance of the Shopify catalog side.

Status

Experiences you can build with discovery are implementable right now (no approval needed), and I was actually able to publish them. Completing payment inside the conversation (Checkout in more places) and personalization (Shop sign-in support) require a server + authentication.

A quick take

I came to feel that a "demo you can touch" is the strongest sales material. You can show abstract AI commerce on a page that actually works. Being buildable serverlessly — i.e., low production cost — is also an advantage. On the other hand, a "page that merely guides you" is something anyone can build and is hard to differentiate, so the value ultimately resides in the quality of your own product data and the design of the experience.

B
Image search with the Catalog API

Pass an image to the API and it returns visually similar products.

+
Official name: The like parameter of search_catalog (visual similarity search)Source ↗
Image search: a flow diagram of image → Shopify server computes similarity → similar products

If you pass the image itself to search_catalog, it returns products that look similar. You can search by image for "clothes with this vibe" or "a bag this shape" — things that are hard to put into words.

How it works (the core, confirmed by hands-on testing)
  • The parameter is catalog.like (an array, up to 2 elements). Each element is {image:{content_type, data(base64)}} (or the {id} of a known product).
  • Combine it with query (text) and it becomes multimodal search (image + words).
  • Extracting image features and computing similarity is done on Shopify's server side (a mechanism that converts an image into feature values — a sequence of numbers — and matches against them; technically these are called embeddings). That is, you don't need to hold any AI / machine learning on your side, and the base64 is merely a transmission format that replaces the image with text.

STORE DOJO's "Search by image" demo simply throws the raw image directly at the API, without going through an LLM. The fact that it still returns accurate results appears to be thanks to the visual-search performance on the Shopify catalog side. Showroom (the demo in the previous item) can be understood as adding "the AI identifying the target object from a video frame" in front of this.

Pitfalls (hands-on)

It's safer to shrink the image before sending (max 1024px, converted to JPEG). If it's too large you get a Service error (tested: 4000×4000 → shrink → base64 of about 12KB → 200 OK). To narrow down to Japan shipping and Japanese yen, the reliable approach is to re-filter the returned values on the client side with price.currency==='JPY' && availability.available.

A quick take

Being able to build a "search by photo" UX without your own ML feels like a big deal. It seems well-suited to apparel, miscellaneous goods, and interiors. Since the source of accuracy is the Shopify catalog side, in the end what matters is whether your products are loaded "visually correctly" (good images, normalized data). The path of "photo from a video / SNS / magazine → similar in-stock product" becomes viable, and there seems to be potential to digitize the in-store request "find me something like this."

B
Product lookup with the Catalog API

Get real-time price and inventory for up to 50 items per call, by product ID / URL.

+
Official name: lookup_catalog (resolving identifiers → catalog data)Source ↗
lookup: a diagram of a converter that returns price, inventory, etc. when you pass an identifier

In contrast to search_catalog (find by criteria), lookup_catalog is a converter (resolver) that "brings an already-known product up to date." Pass a product ID or a Shopify product URL and it returns the current price, inventory, variants, and purchase link. The key point is that it isn't crawling / parsing the page — it's just doing an identifier → catalog-data conversion.

Accepted identifiers (stated officially, confirmed hands-on)

What you can pass to catalog.ids (1–50 items) is gid://shopify/p/{upid} / gid://shopify/ProductVariant/{id} / an http(s) Shopify product URL (custom-domain stores are fine too).

What I confirmed "doesn't work" hands-on: ❌ a YouTube video URL (0 results, ignored) / ❌ a review-article URL (non-Shopify, 0 results) / ❌ a GTIN (a 13-digit number, 0 results; not listed in the official spec either). In other words, "pass a whole YouTube or review-article URL and extract the products inside" is not possible; only direct links to product pages are resolvable.

The data I observed in responses

Passing a product URL immediately returns price{amount,currency} / availability{available} / seller / checkout_url / condition, while unresolvable IDs go to not_found. As a currency caveat, if you fix context.address_country to JP, stores that don't ship to Japan get silently excluded (a sample of 4 → 2), so I found that for a price-checker use case the correct approach is to add no country and display each store's local currency (confirmed in the price-check demo).

Where it really shines

Rather than a human pasting a URL, its true value looks like being a behind-the-scenes API for AI agents. The AI takes a product link pasted in a review / SNS / YouTube description, converts it into structured data instantly without scraping → compares and recommends → connects to the Cart / Checkout MCP and goes all the way to "go ahead and buy it." The officially envisioned uses are also "resolving IDs from search results, or from links (deep links) that go straight to a product page" and "checking whether the products in the cart are still at the correct price and in stock."

A quick take

It's positioned as the agent's "product-identification" component. It's effective after discovery (search), or as a starting point from external links. The demo page is a "showcase that visualizes a behind-the-scenes API," and its value to humans is limited, but I found it useful as material for explaining AI integration. The point that a group of identical URLs gets merged into one product via UPID deduplication ties directly into the next item, "Rich product data."

B
Rich product data in agentic experiences

Show media, variants, listing status, and offers from multiple sellers.

+
Official name: The Global Catalog product-data structure (UPID clustering + get_product)Source ↗
A diagram showing that UPID merges multiple stores into one product, enabling lowest-price comparison

This isn't a new tool; it's a "data quality" story — that the product data the Catalog API returns carries enough information for an agent to judge, compare, and complete a purchase. The four elements listed for this item in Shopify's Editions announcement (media, variants, listing status, offers from multiple sellers) aren't mere marketing copy — they correspond directly to fields in the data the Catalog API returns (see the table below).

Element Contents Location in the data
Media Images and videos product.media[]
Variants Color, size, etc. + inventory for each product.options[] + product.variants[]
Listing status In stock or not, condition (new / used) variant.availability.available / variant.condition
Offers from multiple sellers Showing multiple stores selling the same product Within a single product consolidated by UPID, each store's variant (seller + price + checkout_url) lines up
The crux: UPID clustering (confirmed hands-on)

By the official definition, search results are "deduplicated by Universal Product ID (UPID) and include offers from multiple sellers." That is, the "same product" that stores around the world registered separately is consolidated by Shopify into one and returned. In testing too, within a single "AirPods Pro 3rd Gen" (one UPID), prices from multiple sellers lined up.

Seller Price Condition
PayMore Massapequa $179.99 New, in stock
PayMore Bustleton $199.99 New, in stock
PayMore Anaheim $279.99 New, in stock

Multiple companies' prices line up within a single product entry → the agent can compare for the lowest price right there (the catalog version of Amazon's seller list). On top of that, each product carries ML-inferred metadata (tech_specs / top_features / unique_selling_points; detailed in this article's "Structuring product data" item).

The role of get_product (the stage of assessing the candidates you found)

After finding a product via search, passing it to get_product (id required) gives you the full details of one product + variant narrowing. Using selected (the currently selected options, e.g., Color=Blue, Size=10) and preferences (the order in which to compromise; e.g., ["Color","Size"] relaxes Size first), the design lets you work through "which colors are in stock in size M?"

A quick take

In the agent era, the product page looks set to compete as "one row in a list of multiple offers." It's a structure where you're chosen on price, inventory, and the richness of your data. Since fields like top_features are ML-inferred rather than typed in by hand, the winning path ultimately comes down to the richness of the underlying data (descriptions, specs, images, taxonomy, attributes). The fact that my three demos display seller / price / availability / checkout_url is precisely a worked example of visualizing this "rich product data."

← The complete Shopify Editions Spring '26 roundup SHOPIFY SPRING '26 — EVERYWHERE EDITION ↗
* The availability conditions for each item ("coming soon," "planned," "developer preview," etc.) are subject to change. Please check each source for the latest support status.
Back to blog