Shopify Markets and localized pricing and catalogs
domain: shopify.dev · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
In-depth guide
Shopify GraphQL Admin API rate limits — the full failure-mode walkthrough related to shopify.dev, checked against official docs, with linked verified routes.
Steps
Create and configure Markets in the Shopify admin or via the marketCreate Admin GraphQL mutation, specifying countries and a primary country.
Set market-specific pricing using marketCatalogCreate to create a catalog scoped to a market, and attach a price list with currency and pricing adjustments.
Use marketUpdate to configure currency, market-specific domains or subfolders, and tax-inclusive pricing settings for each market.
In the Storefront API, set the buyer's countryCode on the cart via cartBuyerIdentityUpdate or pass it as a @inContext directive argument (e.g., @inContext(country: CA)) on product queries to retrieve localized prices.
Localized prices are returned in the product.variants.price and cart.cost fields when countryCode is resolved to a market with a catalog.
Test price resolution by querying product.variants.contextualPricing with country argument to verify correct prices before and after enabling a market catalog.
Known gotchas
If a product is not published to the market's catalog publication, it will not appear in Storefront API queries scoped to that market; ensure catalog-to-publication links are correct.
Tax-inclusive pricing settings differ per market; enabling tax-inclusive display changes the price shown to buyers but not the underlying price record—verify your display logic handles both cases.
Give your agent this knowledge — and 15,600+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?