Shopify’s Global Catalog REST API stops serving traffic on November 2, 2026. If an app or agent you use still calls it, every request fails after that date. The replacement is Global Catalog MCP, which implements the Universal Commerce Protocol (UCP).
Most merchants never call this API directly. But the Global Catalog is the layer agents use to search products across Shopify stores, so it decides how your catalog and prices reach them.
What Shopify announced
Shopify’s developer changelog, posted October 9, 2026, says the REST API was deprecated in April 2026 and stops serving traffic on November 2. After that, all requests to https://discover.shopifyapps.com/global/... fail, including requests against saved catalogs.
The four endpoints affected, and their replacements on https://catalog.shopify.com/api/ucp/mcp:
GET /global/v2/searchβsearch_catalogGET /global/v2/p/{upid}andGET /global/v2/p/by-variant/{vid}βget_productPOST /global/v2/lookupβlookup_catalog(batches of up to 50)
Per the same post, every request must include meta.ucp-agent.profile with the agent’s profile URL. Saved catalogs are queried by passing catalog.catalog_id. Authentication does not change: bearer tokens from Dev Dashboard client credentials keep working.
What it means for a merchant
- You do not need to act on your storefront. The change is on the developer side of the Catalog.
- Ask your app vendors. If a third-party shopping app, feed tool or agent integration was built on the REST API, confirm it has moved to the MCP before November 2.
- A broken integration is silent for shoppers. An agent that cannot query the catalog simply returns other stores’ products.
Compare-at prices now reach agents as list_price
A second changelog entry, also dated October 9, says the Catalog API now returns a merchant’s compare-at price as list_price on each variant. It is defined in the UCP catalog specification, version 2026-08-25. The price field does not change.
A variant gets list_price only when all of these hold:
- The merchant shares compare-at prices through Catalog Mapping in the Shopify admin. Shopify turns this on by default for most stores, and off for stores that use compare-at for MSRP or another reference price.
- The compare-at price is higher than
pricefor the buyer’s context. - The store shows compare-at prices in the buyer’s region. Stores that hide them from EEA buyers do not return
list_priceto those buyers.
Check what your compare-at field means. If it holds an MSRP rather than a former price, agents could read it as a markdown, which is why Shopify switches the default off in that case. For the wider question of price accuracy, see real-time price and stock for AI shopping agents.
Where this fits
This is the second Shopify migration to UCP this year, after the Storefront MCP cart tools move. The pattern is consistent: legacy endpoints are removed on a fixed date, and the UCP tools are the supported path.
FAQ
When does the Shopify Global Catalog REST API stop working?
It stops serving traffic on November 2, 2026, according to Shopify’s developer changelog. Requests to discover.shopifyapps.com/global/... fail after that, including requests against saved catalogs.
What replaces the Global Catalog REST API?
Global Catalog MCP at https://catalog.shopify.com/api/ucp/mcp, which implements UCP. It offers search_catalog, lookup_catalog and get_product in place of the search, lookup and by-variant endpoints.
Does a Shopify merchant have to do anything?
Not on the storefront. Merchants should confirm that any app or agent integration they use has migrated, and check that their compare-at price means “former price”, since the Catalog now exposes it to agents as list_price when Catalog Mapping shares it.
Sources
- Shopify developer changelog, Global Catalog REST API stops serving traffic on November 2, 2026 (October 9, 2026)
- Shopify developer changelog, Catalog API now returns compare-at prices as list_price (October 9, 2026)
Agents can only buy what they can query: AgentReady audits the transaction, and the catalog call is where it starts.