Back to Intelligence
Platform UpdatesEurope

Shopify Catalog API adds structured compare-at pricing for European buyer contexts

The new list_price field helps apps and agents identify markdowns, but its availability depends on Catalog Mapping, regional display settings, and whether the compare-at price exceeds the current price.

Ecomwith EditorialEcommerce intelligence desk

Published
Updated
Risk
low

Reported details

What happened

Shopify’s Catalog API now returns a variant’s compare-at price as list_price, while the existing price field remains unchanged.

The optional list_price uses the same Price object as price, with an amount in minor units and a currency. Products can also return list_price_range across variants.

For buyers in Europe, list_price is returned only when the merchant shares compare-at prices through Catalog Mapping, the compare-at price is higher than price, and the price is shown in that buyer’s region.

Shopify says Catalog Mapping is on by default for most stores, but it is off for stores using compare-at prices for MSRP or another reference price; stores that hide compare-at prices from EEA buyers do not return list_price to those buyers.

Business relevance

Why it matters

This gives catalog integrations a defined field for markdown detection instead of requiring them to infer a discount from unrelated product data.

Regional price presentation now becomes part of the data question: a missing field may reflect buyer context or merchant configuration, not the absence of a reference price in every market.

The update matters mainly to merchants whose apps, feeds, or shopping agents consume Catalog API data; Shopify states that no merchant action is required for the platform change itself.

Editorial perspective

Analysis & judgment

  1. The mechanism is a separation between the live selling price and a qualifying reference price: list_price can expose the comparison needed to calculate a markdown without changing price. That changes the integration decision from deriving discount logic independently to consuming the platform’s optional field when present. The evidence is limited to Shopify’s single changelog summary, so it does not establish how every downstream app or agent will implement the field.

  2. The merchant consequence is greater consistency potential for European discount displays across connected experiences, but only where the merchant intentionally shares and shows compare-at pricing. Sellers should therefore review integrations that present savings or promotional badges rather than assume every variant will produce the same signal. The evidence does not show any effect on conversion, ranking, or buyer behaviour.

  3. The practical decision rule is to treat list_price as conditional evidence, not as a universal product attribute: use it only when returned for the relevant buyer context, and monitor missing values alongside Catalog Mapping and regional display settings. This is the safer boundary for European operations because the announcement does not define how missing data should be represented in a particular app or agent interface.

Applicability

Seller impact

European sellers using shopping feeds, custom storefront tools, or agents may see more reliable markdown data when their compare-at prices are shared through Catalog Mapping.

Stores using compare-at prices as MSRP or another reference price may not receive list_price under Shopify’s stated configuration, so connected experiences could omit discount messaging.

EEA-facing experiences that hide compare-at prices will not receive list_price for those buyers, creating a regional difference in catalog data even when the underlying product has a reference price elsewhere.

Action plan

What to do now

  1. 1

    Check how connected systems read markdown data

    now

    For European storefronts and buyer-facing agents, confirm whether your integration consumes list_price and list_price_range before changing any discount or savings logic.

  2. 2

    Review Catalog Mapping and regional visibility

    this-week

    Verify whether compare-at prices are shared through Catalog Mapping and whether they are shown to the European and EEA buyer contexts relevant to your business.

  3. 3

    Track missing list_price values by context

    monitor

    Compare returned fields across variants and buyer regions, and investigate omissions against configuration before treating them as evidence that a product has no reference price.

What not to do yet

  • Do not calculate or display a markdown solely because a variant has a historical or internal reference price; the supplied evidence supports list_price only when Shopify’s stated price, configuration, and regional conditions are met.
  • Do not expand the EEA-specific visibility condition to every European market without checking the buyer context and configuration used by the relevant experience.

Sources & context

Evidence and sources

A source may provide only a headline or summary. Read the evidence scope below. Links and workflow checks are not independent fact verification. Internal confidence values are workflow signals, not probabilities of factual correctness.

  1. 01

    The Catalog API now returns a merchant’s compare-at price as list_price on each product variant. Your app or agent can use list_price to tell when a product is marked down and by how much. The price field doesn’t change. No action is required. list_price is an optional field defined in the UCP catalog specification, version 2026-08-25. It uses the same Price object as price, with amount in minor units and a currency. Products also return list_price_range, which includes the lowest and highest list_price across their variants. A variant includes list_price when all of the following are true: The merchant shares compare-at prices through Catalog Mapping in the Shopify admin. Shopify turns this on by default for most stores and turns it off for stores that use compare-at for MSRP or another reference price. The compare-at price is higher than price for the buyer’s context. The merchant shows compare-at prices in the buyer’s region. Stores that hide them from EEA buyers don’t return list_price to those buyers. When list_price is missing, the variant has no compare-at price to show for that buyer and configuration. How you present that in your UI or in an agent’s response is up to you.

    Shopify Developer Changelog · Workflow status: single-source

    Source link

    Retrieved: October 9, 2026 at 08:07 p.m. UTC

    Claim is bounded to the ingested title or summary; no source body or quotation is retained.