I am trying to query products from our demo store with all filters set to "Any" but am not getting any results

I can see that 45 products should be available in the catalog backend says all synced but can’t see any products. What am I doing wrong?

Request JSON

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "search_catalog",
    "arguments": {
      "meta": {
        "ucp-agent": {
          "profile": "https://shopify.dev/ucp/agent-profiles/2026-04-08/valid-with-capabilities.json"
        }
      },
      "catalog": {
        "query": "Bag",
        "pagination": {
          "limit": 10
        },
        "filters": {
          "price": {
            "min": 0,
            "max": 1000000
          },
          "shop_ids": [
            "80380231894"
          ],
          "available": false
        }
      }
    }
  }
}

And response JSON:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "structuredContent": {
      "ucp": {
        "version": "2026-04-08",
        "capabilities": {
          "dev.ucp.shopping.catalog.search": [
            {
              "version": "2026-04-08",
              "spec": "https://ucp.dev/2026-04-08/specification/catalog",
              "schema": "https://ucp.dev/2026-04-08/schemas/shopping/catalog_search.json"
            }
          ],
          "dev.ucp.shopping.catalog.lookup": [
            {
              "version": "2026-04-08",
              "spec": "https://ucp.dev/2026-04-08/specification/catalog",
              "schema": "https://ucp.dev/2026-04-08/schemas/shopping/catalog_lookup.json"
            }
          ],
          "dev.shopify.catalog.global": [
            {
              "version": "2026-04-08",
              "spec": "https://shopify.dev/docs/agents/catalog/global-catalog",
              "schema": "https://shopify.dev/ucp/schemas/2026-04-08/shopify_catalog_global.json",
              "extends": [
                "dev.ucp.shopping.catalog.search",
                "dev.ucp.shopping.catalog.lookup"
              ],
              "requires": {
                "protocol": {
                  "min": "2026-04-08"
                }
              }
            }
          ]
        },
        "status": "success"
      },
      "products": [],
      "messages": [],
      "pagination": {
        "has_next_page": false,
        "total_count": 0
      }
    }
  }
}

Shop: esx2yz-d5.myshopify.com

What program is shown in your screenshot? What Shopify API is accepting JSON-RPC?

Hi @farid

If you change "available": false to available: true, or just omit the field entirely (it defaults to true) - are you seeing the expected results?

Thanks for the suggestion, @Liam-Shopify, but changing it to true or false doesn’t affect the output.

Thanks for checking @farid

If you run this are you seeing products returning (and not from your store)?

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "search_catalog",
    "arguments": {
      "meta": { "ucp-agent": { "profile": "https://shopify.dev/ucp/agent-profiles/2026-04-08/valid-with-capabilities.json" } },
      "catalog": { "query": "bag", "context": { "currency": "USD" }, "pagination": { "limit": 10 } }
    }
  }
}

@Liam-Shopify I think main issue is that my products are not in the Catalog while Agentic app says they are in the catalog.

Is there a way to check if product of this store is in global catalog?

ID: 80380231894

Thanks Liam. Your exact call returns ~410 results for me too, but only because it is unscoped: every result is from other merchants. The moment I scope the identical request to my store it returns 0:

  • filters.shop_ids: ["80380231894","63561498727"] → 0
  • saved_catalog_slug: "01kwcj2aw1knkw0ttr1s2yhwhp" → 0
  • Tried queries: bag, bandana, gemstone ring, lace-up boots, and the exact phrase your dashboard suggests (“Kujten bandana for adults”). Adding context.currency: USD changed nothing.

Meanwhile my store’s Agentic page shows “Agentic Storefronts active, 45 products synced, 45 available in Shopify Catalog,” yet the store’s own “how you might rank” tool says “Your products did not show up in the top 10 results” for those same queries. So synced/eligible products are not surfacing in catalog search. Is this expected cold-start ranking for a new store, or an ingestion-to-search gap, and what makes synced products actually rank/surface?

I don’t think this is a ranking or ingestion issue: your products are in the catalog, but catalog search resolves a buyer shipping destination and only returns products that ship to that country, and the default buyer context is US. If your store’s products don’t ship to the US, a US-context search returns 0 even though everything shows synced/eligible.

Try setting the shipping destination explicitly to your store’s market. Add a ships_to filter (and/or context.address_country) for the country you actually sell to:

"context": { "address_country": "FR" },
"filters": { "ships_to": { "country": "FR" } }

Currency won’t change this; shipping destination is the lever. If your products show up once you set that, the “synced but not surfacing” behavior is the geo/buyer-context default rather than anything wrong with your catalog sync.

Amazing @Liam-Shopify this is solved the problem. Thanks a lot :folded_hands:

Interesting, I was assuming the “Anywhere” filter should show all options.

Glad this helped Farid! Let us know if you run into any other issues :slight_smile: