AI & Agentic Commerce

Shopify Global Catalog REST API Shuts Down Nov 2: Move to MCP

By CartStack Team4 min read

The Shopify Global Catalog REST API stops serving traffic on November 2, 2026, and the replacement is Global Catalog MCP, which implements the Universal Commerce Protocol (UCP). If an agent, app or script still calls discover.shopifyapps.com/global/..., those requests will fail after that date, including requests against saved catalogs. This guide maps each REST call to its MCP tool and lists what to change in your requests. Checked against Shopify’s shutdown announcement, the Global Catalog MCP documentation and the Catalog API reference.

Cover graphic for the Shopify Global Catalog REST API shutdown and MCP migration
Three MCP tools replace the REST endpoints, with an agent profile on every request.

What Is Being Shut Down

Shopify deprecated the Global Catalog REST API in April 2026. The affected endpoints are search, product lookup by Universal Product ID (UPID), variant lookup and bulk lookup. All of them live under https://discover.shopifyapps.com/global/{API_VERSION}/{resource}. After November 2, 2026 they fail, so any product discovery built on them needs to move.

Map Each REST Call to an MCP Tool

Global Catalog MCP is hosted at https://catalog.shopify.com/api/ucp/mcp and follows the UCP catalog specification. It has three tools.

  • search_catalog replaces search. It searches across Shopify merchants by text, image or product IDs, with filters for availability, shipping destination and origin, price in minor units, condition, shop, taxonomy attributes, rating, price tier and category. Results use cursor pagination with a limit from 1 to 50 (default 10) and go up to 1,000 results deep. total_count is only an estimate.
  • get_product replaces single-product and variant lookups. It returns full details and availability, accepts selected option choices and a preferences list that sets the order in which options are relaxed when no exact match exists, and reports per-option available and exists signals.
  • lookup_catalog replaces bulk lookup. It resolves 1 to 50 identifiers to current catalog data, and unresolved IDs come back in messages with the code not_found.

Identifiers can be gid://shopify/p/{upid}, gid://shopify/ProductVariant/{id} or Shopify product URLs.

What to Change in Your Requests

  • Send your agent profile. Every request must include meta.ucp-agent.profile, a URL pointing to your agent’s UCP profile.
  • Declare capabilities. The profile must declare dev.ucp.shopping.catalog.search, dev.ucp.shopping.catalog.lookup and dev.shopify.catalog.global. An extension without its base capability is pruned during negotiation.
  • Replace saved catalog endpoints. Pass the catalog ID as catalog.catalog_id. The docs describe catalog.saved_catalog_slug as a deprecated alias.
  • Keep your auth. Shopify says authentication is unchanged, so bearer tokens generated from Dev Dashboard client credentials still work.
  • Use the new schemas. Update your parsing to the UCP catalog request and response shapes, not the old REST payloads.
  • Add a buyer token for personalization. Personalized search_catalog results need a buyer-linked token with the dev.ucp.shopping.catalog.search:read scope.

To test before you migrate, Shopify points to the Shopify AI Toolkit and the ucp catalog search command in the UCP CLI.

Our Analysis: How to Finish Before November 2

Find every caller first. Search your repositories, workers and agent configs for discover.shopifyapps.com. Callers hidden in cron jobs and prompt templates are the ones that fail silently after the cutoff.

Write one adapter. Instead of editing each call site, wrap catalog access in one function that returns your own product shape, then implement it on top of search_catalog, get_product and lookup_catalog. That keeps the next protocol change to a single file.

Do not trust result counts. total_count is an estimate and search stops at 1,000 results, so do not build exports or exact counters on it.

Plan for the profile. The UCP agent profile is new work if your integration never had one. Our guide to UCP agent profiles and trust tiers explains how the profile is used, and getting your catalog ready for AI agents covers the merchant side of the same ecosystem.

FAQ about the Global Catalog Shutdown

When does the REST API stop? November 2, 2026, according to Shopify’s announcement.

What replaces it? Global Catalog MCP at catalog.shopify.com/api/ucp/mcp, using the UCP catalog specification.

Do I need new credentials? Shopify says authentication is unchanged and existing Dev Dashboard bearer tokens still work.

Is the product page for the Catalog API enough to migrate? No. It marks the REST API as deprecated and points you to the MCP tools, but it has no step-by-step migration. Use the announcement and the MCP documentation together.