Multiple barcodes are live - what’s the supported API approach for production apps?

We really appreciate Shopify’s APIs and the flexibility they give app developers. The new multiple-barcode feature is a welcome improvement, and we’d love to support it in our app!

However, the timing is a little challenging. Merchants can already add up to 20 barcodes per variant and understandably expect those barcodes to work in their installed apps.


In our app, searching by a secondary barcode currently returns no results.

While investigating, we found:

  • The 2026-07 and 2026-10 public Admin API schemas expose only the single barcode field.
  • The public unstable schema includes ProductVariant.barcodes, with value and type fields.
  • That new field doesn’t appear in the documentation, and Shopify recommends unstable for early testing rather than production apps.

Could you clarify:

  1. What’s the supported approach for production apps to read and search secondary barcodes today?
  2. Does the existing barcode: search filter match all associated barcodes?
  3. When will barcodes be documented and available in a stable API version?

It would be really helpful to have stable API support - or clear transition guidance - alongside merchant-facing releases like this. It’s difficult to explain the gap when merchants can already see and use the feature.

Thanks for the improvement and for helping us support it properly!

Hey, @Angelina_Prokopeva,

On the stable API versions (2026-07, 2026-10), ProductVariant.barcode only returns the primary barcode, and the barcodes connection with value and type fields is only on unstable. So there’s no way to read the full barcode list on a stable API today.

On the search side, the barcode: filter on the products query already matches all barcodes on a variant, not just the primary. I tested this on a live store with a UPC primary and an EAN secondary, and searching barcode:<the-secondary-value> on the stable 2026-04 API returned the product. For now, the existing barcode: filter is your best option for barcode search on stable, and it works today.

For the barcodes field landing in a stable version, we don’t have a confirmed date yet. The next stable release is 2026-10 on October 1, although it’s not yet there. Keep an eye on the developer changelog for when it’s added to an official release.

For context, this gap is expected behavior with versioned APIs. Stable versions are guaranteed not to change for their supported lifetime, which means they’re locked to the features available at their release date. unstable is where in-progress changes land, and features can be added or removed at any time with no guarantee of release. When a merchant-facing feature ships between API release cycles, it won’t appear in a stable API version until the next quarterly release at the earliest.

I’ll be sure to share your feedback on how these gaps can make it difficult to explain to merchants though. That’s really great feedback.

@KyleG-Shopify thanks for testing it!

Could you please test productVariants endpoint if it works on your end, something like:

productVariants(first: 50, query: "(barcode:"811071032179" OR barcode:"123456789012" )")

This exact approach worked before. We are using product variants since the barcode is assigned to the variant level.

@KyleG-Shopify Thanks, that clarifies the versioning side.

My concern is really the release sequencing. Multiple barcodes are already live for merchants, while production apps on stable API versions can search by secondary barcode on the product level but still can’t read the full barcode list for a variant.

Also, the developer changelog is tagged 2026-10, even though ProductVariant.barcodes isn’t in the current 2026-10 schema and, as you mentioned, there’s no confirmed stable release date yet. That makes the current API availability a bit unclear.

It would be helpful if merchant-facing features like this either shipped with stable API support or the changelog clearly documented the temporary limitation for production apps.

I’ll add to this. We too were challenged by a store today that asked for multiple barcode support. Releasing to production without a supporting API is very frustrating to not only the apps, but also to the stores that use them. It sets the false narrative that we can support things that are live and we simply cannot due to Shopify not releasing app support alongside with store support.

Hey, this connection is available in the release candidate schema now.

@Doug_P I appreciate the challenges you have shared as well. Since product releases don’t always align with the versioned API, it does create these gaps. We are listening to your feedback.

Hi @KyleG-Shopify we are migration our live app to 2026-10 API version and it is amazing that Shopify included barcodes connection in the release!

But I have another question, does Shopify plan to add query search on productVariants level to support multiple barcodes? Since barcodes are defined on productVariants level.

productVariants(first: 50, query: "(barcode:"<ALTERNATIVE_BARCODE>")")

In my test as for today it does not return productVariants searched by alternative barcode.

Using product level to search for alternative barcodes is challenging with 2048 variants for every product. Searching 500 barcodes will hit query limit and will cause pagination and throttling error, Iterating through all potential 2048 variants for 500 products.

Hey @Angelina_Prokopeva, I ran a quick test here, and this was working for me. This is an example of the request I sent for a product variant that has 2 barcodes:

query {
  productVariants(first: 50, query: "barcode:\"abcdefgh\"") {
    nodes { id barcode }
  }
}

Could you add Shopify-Search-Query-Debug: 1 to your request headers to see how your query is being parsed?

Hi @KyleG-Shopify just double-checked. It does return correctly: alternative barcodes search in query: on productVariants level.

It was my fault with not correct testing. Sorry for “false alarm”!

Thank you very much for your time and attention!