productsCount with limit:null not working in 2024-07 API but works in 2025-07 - Why?

I’m experiencing inconsistent behavior with the productsCount GraphQL query when using limit: null across different API versions.

Working Query (API 2025-07):

graphql

query {
  productsCount(limit: null, query: "status:ACTIVE") {
    count
    precision
  }
}

Result with 2025-07: Returns exact count with precision: "EXACT"

Same Query (API 2024-07): Returns capped count at 10,000 with precision: "AT_LEAST"

Steps to Reproduce

  1. Use GraphQL endpoint: https://shop-name.myshopify.com/admin/api/2024-07/graphql.json
  2. Execute the productsCount query with limit: null and any query filter
  3. Result: Count is capped at 10,000 despite using limit: null
  4. Switch to API version 2025-07
  5. Execute same query
  6. Result: Returns actual count without cap

Expected Behavior

According to the documentation, limit: null should remove the 10,000 default limit regardless of API version. The behavior should be consistent across API versions.

Actual Behavior

  • 2024-07: limit: null is ignored when using query filters, still caps at 10,000
  • 2025-07: limit: null works as documented

Questions

  1. Is this a known bug in the 2024-07 API version?
  2. Was there a specific fix implemented in 2025-07 that addresses this issue?
  3. Are there any breaking changes between these versions that affect productsCount?
  4. Should we expect this behavior to be backported to earlier API versions?

Environment

  • API Versions tested: 2024-07 vs 2025-07
  • Query: GraphQL productsCount with query filters
  • Access scope: read_products

Any insights would be greatly appreciated!

Hey,

This is expected behaviour as the API was updated.
There’s more info here and in the changelog

Thank you for the response about the API update. However, I’m seeing a documentation inconsistency that I’d like clarification on.

Current Documentation Issue

The official Shopify GraphQL Admin API documentation for 2024-10 still states:

limit (Int): The upper bound on count value before returning a result. Use null to have no limit.

This suggests that limit: null should work in the 2024-10 version, but based on your response, this functionality was updated in later versions.

My Testing Results

  • 2024-07: limit: null doesn’t work (capped at 10,000)
  • 2024-10: limit: null doesn’t work (capped at 10,000)
  • 2025-07: limit: null works as documented

Yes I believe this was a bug/issue in older api versions.

I would recommend updating to the current api version and keeping up to date when new ones come out each quarter

Thanks @JordanFinners and hi all :waving_hand:

Jordan is on point, just wanted to confirm that prior to 2025-07 this was an issue in older API versions. Essentially, in API versions 2024-07 and 2024-10: The limit: null parameter is being ignored when other query filters are present, defaulting to the 10,000 cap. This has been fixed going forward though, like Jordan mentioned, as always our recommendation is to use the current API version.

Hope this extra context helps a bit :slight_smile: