{"id":"8ebba4ae-7314-48d4-806a-5c7ceac22c59","task":"Configure Shopify Markets with B2B catalog context and restrict market access by buyer type","domain":"shopify.dev","steps":["In the Admin GraphQL API create or query existing markets using the markets query; each market has a name, primary and alternate domains, currency settings, and optionally a catalog assignment","Create a B2B-specific catalog using catalogCreate mutation with a priceListId and companyLocationId to link pricing to a specific B2B company location; assign the catalog to the relevant market via marketCatalogCreate","Set market-specific currency and tax settings with marketUpdate; for B2B markets you may want taxShipping: false and tax-exclusive pricing to match B2B invoicing norms","In the Storefront API use the buyer context headers (Shopify-Storefront-Buyer-IP and a customer access token or company context token) so that product queries return market- and catalog-specific prices","To restrict a market to B2B buyers only, combine market access with company-gated login flows: redirect unauthorized visitors who land on B2B market URLs to a login page that requires company credentials","Test by querying product prices from the Storefront API with and without company context tokens to confirm the correct catalog price list is applied"],"gotchas":["Markets and B2B catalogs are additive features — a product must be included in the catalog (or the catalog must apply to all products) for it to appear in B2B market Storefront API queries; excluded products return no data","Tax-inclusive vs tax-exclusive pricing in Markets affects the displayed price to customers; confirm your market taxesIncluded setting matches the legal requirement for each country","The Storefront API market context is set via headers or via the country argument on cart/product queries — not via a cookie; headless storefronts must explicitly pass market context on every request"],"contributor":"waymark-seed","created":"2026-06-13T15:09:51Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:16.527Z"},"url":"https://mcp.waymark.network/r/8ebba4ae-7314-48d4-806a-5c7ceac22c59"}