The Global Catalog REST API, deprecated in April 2026, will stop accepting traffic on November 2, 2026. After that, all requests will fail, including those for saved catalogs. The migration target is Global Catalog MCP, which implements the Universal Commerce Protocol (UCP).
https://discover.shopifyapps.com/global/... — all requests to it will fail, including requests for saved catalogs.
https://catalog.shopify.com/api/ucp/mcp provides it. Use the UCP catalog tools search_catalog / lookup_catalog / get_product .
Base URL: https://discover.shopifyapps.com/global/...
GET /global/v2/searchGET /global/v2/p/{upid}GET /global/v2/p/by-variant/{vid}POST /global/v2/lookupEndpoint: https://catalog.shopify.com/api/ucp/mcp(Universal Commerce Protocol implementation)
search_catalogSearch products across all Shopify merchants.Filters, pagination, and buyer contextare supported.
lookup_catalogLook up products and variants by identifier inbatches.up to 50 per request.
get_productGet full product details, withvariant selectionandavailability signalsincluded.
| Use case | REST (shut down) | UCP tool | Key arguments |
|---|---|---|---|
| Search | GET /global/v2/search |
search_catalog | Filters, pagination, buyer context |
| Product lookup | GET /global/v2/p/{upid} |
get_product | gid://shopify/p/{upid} as input |
| Lookup from a variant | GET /global/v2/p/by-variant/{vid} |
get_product | gid://shopify/ProductVariant/{id} as input |
| Batch lookup | POST /global/v2/lookup |
lookup_catalog | Up to 50 items per request |
| Saved catalogs | Saved catalog endpoint URL | Common to all tools | Pass the ID as catalog.catalog_id parameter |
Following the mapping table above, switch each REST call to its corresponding tool.
catalog.shopify.com/api/ucp/mcp as the destination. Include meta.ucp-agent.profile(the agent profile URL) in every request.
Instead of the saved catalog URL, usecatalog.catalog_id and pass the ID.
Update your app so requests and responses match the UCP catalog schema.
You can still generate a bearer token from client credentials in the Dev Dashboardand use it.
Shopify AI Toolkit , or useUCP CLI to run ucp catalog search and try out the tools.
After the shutdown date, discover.shopifyapps.com/global/... requests toAll requests will fail. Saved catalogs are no exception. With less than a month between the announcement and the shutdown, take inventory of your call sites first.
get_product accepts gid://shopify/p/{upid} or gid://shopify/ProductVariant/{id} . You'll need to convert the upid / vid values you passed as REST path variables into GID strings.
meta.ucp-agent.profile : include your agent profile URLon every request. Add it in your shared HTTP client wrapper so no request misses it.
get_product merged into oneProduct ID and variant ID lookups now go through the same tool. It also returns variant selection and inventory signals, so the calling code needs less branching. For bulk lookups, use lookup_catalog(up to 50 items per call) and plan to split requests into chunks.
Bearer tokens are still issued from Dev Dashboard client credentials.Changes are limited to the endpoint URL, the tool call format, and the UCP request/response schemas. Saved catalogs are no longer specified by endpoint URL but by catalog.catalog_id . Include this in your schema changes as well.
discover.shopifyapps.com/global → list every use of the 4 endpoints → give the client a migration plan that replaces them with UCP tools, following the mapping table.catalog.catalog_id , so search for hardcoded URLs as well.search_catalog(search with buyer context) and get_product(variant selection and inventory signals) as agent tools.meta.ucp-agent.profile . Check the behavior with the Shopify AI Toolkit or ucp catalog search before designing.lookup_catalog callsPOST /global/v2/lookup and single-item lookup calls.lookup_catalog . Only where details are needed, supplement with get_product .