Storefront GraphQL API returns no filters

We have implemented some logic with the Storefront GraphQL API to retrieve the filters of a collection. This works till somewhere today, now the “fillters” are empty in the response. The products are returned correct. We are using the following GraphQL query.

query getCollectionById($first: Int!, $cursor: String, $collectionId: ID!, $sortKey: ProductCollectionSortKeys!, $reverse: Boolean!, $filters: [ProductFilter!]) {
  collection(id: $collectionId) {
    title
    description
    handle
    products(
      first: $first
      after: $cursor
      sortKey: $sortKey
      reverse: $reverse
      filters: $filters
    ) {
      nodes {
        id
        handle
        title
        variants(first: 1) {
          nodes {
            id
            title
          }
        }
      }
      filters {
        id
        label
        type
        values {
          id
          count
          label
          input
        }
      }
    }
  }
}

Are there any known issues with the GraphQL filters?

1 Like

I don’t have the solution, but I am just here to affirm that there is some issues with the filter currently. When checking the collection frontend of multiple stores, the filter is completely missing.

The very weird thing, is that it only happens on select users. I could personally not get the issue - but others who notified me could.

But that is probably due to some very hard caching.

1 Like

This is also happening to our own storefront logics. We cannot retreive any filters through Storefront API.

Exactly the same issue, we are not retrieving any filters through the same request. Might need someone from Shopify Team to check the issue.

Hi all, this was a platform-side issue that started March 5th and affected Storefront API collection filters for a subset of users and regions.

The root cause was a code change that was too aggressive, resulting in empty filters arrays. This has since been fully rolled back and the issue should be resolved.

Can you confirm filters are returning as expected on your end now? If you’re still seeing empty results, let me know (share an affected x-request-id header) and I can investigate further. Thanks for flagging this with us!

2 Likes

@Donal-Shopify This issue seems to have popped back up, slightly… but only when querying from localhost. My production and stage deployments, and testing in the GraphQL app, all seem to be working fine… but on local, I get an empty filters array.

Related to: Storefront API returns empty collection.products.filters when using fetch in Node.js, but works correctly with curl

Filters are missing again for our live production stores today (4/7/26)

This problem has recurred today.

Sorry for the delayed follow-up here. The April 7 recurrence coincides with a re-deployment of the traffic classification feature that originally caused the March 5 issue. That second attempt also produced false positives and was rolled back the same evening.

@noahmason, the localhost vs production discrepancy you noticed is directly related. The platform evaluates incoming Storefront API requests and can treat certain traffic patterns differently, which affects whether filters are computed. Requests from local development environments appear to be classified differently than those coming through cloud providers like Vercel or Cloudflare. Several developers confirmed the same pattern in the thread you linked.

The team is working on a refined approach to avoid these false positives for legitimate headless storefront requests. If either of you is still seeing empty filters, share an x-request-id from a failing request and I can trace it on our end. Thanks again for raising the issue with us!