---
title: >-
  Catalog API now returns compare-at prices as list_price - Shopify developer
  changelog
description: >-
  Shopify’s developer changelog documents all changes to Shopify’s platform.
  Find the latest news and learn about new platform opportunities.
source_url:
  html: >-
    https://shopify.dev/changelog/posts/catalog-api-now-returns-compare-at-prices-as-list_price
  md: >-
    https://shopify.dev/changelog/posts/catalog-api-now-returns-compare-at-prices-as-list_price.md
metadata:
  effectiveApiVersion: ''
  affectedApi: []
  primaryTag:
    displayName: Catalog
    handle: catalog
  secondaryTag:
    displayName: Update
    handle: update
  indicatesActionRequired: false
  createdAt: '2026-10-02T13:47:09-04:00'
  postedAt: '2026-10-09T11:05:00-04:00'
  updatedAt: '2026-10-09T15:31:27-04:00'
  effectiveAt: '2026-10-05T17:00:00-04:00'
---

October 9, 2026

# Catalog API now returns compare-at prices as `list_price`

DateOctober 9, 2026

FlagsUpdate

SurfacesCatalog

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](https://ucp.dev/2026-08-25/specification/shopping/catalog/#variant). It uses the same `Price` object as `price`, with `amount` in minor units and a `currency`. [Products also return `list_price_range`](https://ucp.dev/2026-08-25/specification/shopping/catalog/#product), 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.

Learn how `list_price` appears in [Global Catalog responses](https://shopify.dev/docs/agents/catalog/global-catalog).
