Skip to main content

Catalog API reference

Early access

Agentic commerce is rolling out to Dev Dashboard. Sign up to be notified.

The Catalog API provides access to product data across all eligible Shopify merchants, enabling agentic commerce applications to search, discover, and retrieve detailed product information to render product details pages.

All Catalog API requests require a valid bearer token.

API keys created in the Dev Dashboard provide a client ID and secret that can be used to generate a bearer token.

POST

/auth/access_token

curl --request POST \
--url https://api.shopify.com/auth/access_token \
--header 'Content-Type: application/json' \
--data '{
"client_id": "{your_client_id}",
"client_secret": "{your_client_secret}",
"grant_type": "client_credentials"
}'

Include your token as a Authorization: Bearer {token} header on all API queries.

Learn more about building agentic commerce experiences.

GET

/global/v2/search

curl -X GET \
'https://discover.shopifyapps.com/global/v2/search?query=glossier%20lip%20balm' \
-H 'Authorization: Bearer {BEARER_TOKEN}'

Anchor to Endpoints and requestsEndpoints and requests

Catalog API endpoints are organized by resource type. You’ll need to use different endpoints depending on your agent's requirements.

All Catalog API endpoints follow this pattern: https://discover.shopifyapps.com/global/{API_VERSION}/{resource}.

The Catalog API provides two main endpoints:

  • Search: Search for products across the global Shopify Catalog
  • Lookup: Get detailed product information using a Universal Product ID (UPID)

The references and examples below document https://discover.shopifyapps.com/global/v2/search as the endpoint, which assumes Search and Lookup against the entire Shopify catalog. If you want your agents to make requests against a saved catalog you've created in Dev Dashboard, update the endpoint URLs accordingly.

Tip

For usage guidelines, see About Catalog.

Retrieve products from the Shopify Catalog using the /global/v2/search endpoint. The resource returns an array of Universal Products, each representing a high-level product grouping that might contain multiple variants or offers from different shops.

Pass a search query to retrieve products from the Shopify Catalog.

This example illustrates how to retrieve information from many products using the Search resource and the /global/v2/search endpoint. Replace {query} with the buyer's search terms and {BEARER_TOKEN} with the bearer token you generated in the Authentication section.

The resource returns an array of Universal Products, each representing a high-level product grouping that might contain multiple variants or offers from different shops.

Append additional supported parameters from the table below to the path.

queryStringRequired

Keywords for search. For example, Running Shoes

available_for_saleInt (0,1)Default: 1 (only available items)

Filter by availability.

When 1, only products available for sale are included. When 0, unavailable items are only included if they are a good match for the query.

categoriesString

Comma-delimited list of global IDs for taxonomy categories. Refer to the Shopify Standard Product Taxonomy and raw category list.

For example, for shoes, use: gid://shopify/TaxonomyCategory/aa-8.

include_secondhandInt (0,1)Default: 1 (include)

Include secondhand products.

When 1, include secondhand products in the results.

limitInteger (1-10)Default: 10

Max results to return.

max_priceDecimal

Maximum price.

min_priceDecimal

Minimum price (currency determined by ships_to). API accepts decimals.

products_limitInteger (1-10)Default: 10

The maximum number of variants to return per Universal Product.

ships_fromString

ISO country code. For example, US

ships_toStringDefault: US

An ISO 3166 country code.

shop_idsString

Filter by specific shops. For example, gid://shopify/Shop/1234 or 1234

GET

/global/v2/search

# Search the Catalog
curl -X GET \
'https://discover.shopifyapps.com/global/v2/search?query={query}' \
-H 'Authorization: Bearer {BEARER_TOKEN}'

{} Response

[
{
"id": "gid://shopify/p/abc123XYZ789defGHI456jk",
"title": "Classic Crewneck Sweatshirt",
"description": "A comfortable everyday sweatshirt with a classic fit and soft cotton-polyester blend.",
"lookupUrl": "https://discover.shopifyapps.com/global/v2/p/abc123XYZ789defGHI456jk",
"media": [
{
"url": "https://cdn.shopify.com/s/files/1/0000/0001/0002/files/classic-crewneck.webp?v=1700000001",
"altText": "Classic Crewneck Sweatshirt"
}
],
"options": [
{
"name": "Color",
"values": [
{
"value": "Heather Gray"
}
]
},
{
"name": "Size",
"values": [
{
"value": "Medium"
}
]
}
],
"priceRange": {
"min": {
"amount": 4500,
"currency": "USD"
},
"max": {

Anchor to Search response schemaSearch response schema

The Search endpoint returns an array of UniversalProduct objects. Each object contains product information optimized for discovery and browsing.

Some fields are generated using machine learning and are marked with Inferred in the documentation. These fields may not always be present or may have varying accuracy depending on the available product data.

Response type
UniversalProduct[]

Anchor to The UniversalProduct resourceThe UniversalProduct resource

Represents a high-level product grouping that may contain multiple variants or offers from different shops.

attributesHash[]Inferred

Array of product attributes as name-value pairs.

descriptionstringInferred

Detailed product description.

idstring

Unique identifier for the universal product.

For example, gid://shopify/p/1UT1zYWaL8WeTNCllgUbsM

lookupUrlstring

URL for subsequent calls to the Lookup endpoint.

mediaMedia[]

Product media from the top-ranked variant. Currently returns images only.

optionsProductOption[]Inferred

Array of product options/variants.

priceRangePriceRange

Price range from the top-ranked variant.

ratingRating

Universal product rating information.

techSpecsstring[]Inferred

Array of technical specifications.

titlestring

Product title from the top-ranked variant.

topFeaturesstring[]Inferred

Array of top product features.

uniqueSellingPointstringInferred

The unique selling point for the product.

variantsVariant[]

Array of product variants.

{} UniversalProduct

{
"id": "gid://shopify/p/abc123XYZ789defGHI456jk",
"title": "Classic Crewneck Sweatshirt",
"description": "A comfortable everyday sweatshirt.",
"lookupUrl": "https://discover.shopifyapps.com/global/v2/p/abc123XYZ789defGHI456jk",
"media": [
{
"url": "https://cdn.shopify.com/s/files/classic-crewneck.webp",
"altText": "Classic Crewneck Sweatshirt"
}
],
"options": [
{
"name": "Color",
"values": [{ "value": "Heather Gray" }]
},
{
"name": "Size",
"values": [{ "value": "Medium" }]
}
],
"priceRange": {
"min": { "amount": 4500, "currency": "USD" },
"max": { "amount": 5500, "currency": "USD" }
},
"variants": [
{
"id": "gid://shopify/ProductVariant/2000000000001?shop=10000000001",
"productId": "gid://shopify/Product/1000000000001",
"displayName": "Classic Crewneck - Heather Gray / Medium",
"availableForSale": true,
"price": { "amount": 4500, "currency": "USD" },
"options": [
{ "name": "Color", "value": "Heather Gray" },
{ "name": "Size", "value": "Medium" }
],
"shop": {
"id": "gid://shopify/Shop/10000000001",
"name": "Mock Shop",
"permanentDomain": "mock-shop.myshopify.com"
},
"lookupUrl": "https://discover.shopifyapps.com/global/v2/p/abc123"
}
],
"rating": { "rating": 4.5, "count": 120 }
}

Anchor to The Variant resourceThe Variant resource

Represents a specific product variant with pricing, availability, and checkout information.

availableForSaleboolean

Whether the variant is available for purchase.

checkoutUrlstring

Direct checkout URL for this variant.

displayNamestring

Display name for the variant.

eligibleForNativeCheckoutboolean

Whether the variant supports native checkout. This field is not returned by default and requires opt-in from Shopify.

idstring

Unique variant identifier.

lookupUrlstring

URL for looking up this variant.

mediaMedia[]

Media for this variant. Currently returns images only.

optionsVariantOption[]

Array of options for this variant.

pricePrice

Price information for this variant.

productIdstring

ID of the parent product.

ratingRating

Rating information for this variant.

secondhandbooleanInferred

Whether the variant is secondhand.

shopShop

Shop offering this variant.

variantUrlstring

URL for the variant's product page.

{} Variant

{
"id": "gid://shopify/ProductVariant/2000000000001?shop=10000000001",
"productId": "gid://shopify/Product/1000000000001",
"displayName": "Classic Crewneck - Heather Gray / Medium",
"availableForSale": true,
"price": { "amount": 4500, "currency": "USD" },
"media": [
{
"url": "https://cdn.shopify.com/s/files/variant.webp",
"altText": "Heather Gray variant"
}
],
"options": [
{ "name": "Color", "value": "Heather Gray" },
{ "name": "Size", "value": "Medium" }
],
"shop": {
"id": "gid://shopify/Shop/10000000001",
"name": "Mock Shop",
"onlineStoreUrl": "https://mock.shop",
"permanentDomain": "mock-shop.myshopify.com"
},
"variantUrl": "https://mock.shop/products/crewneck?variant=2000000000001",
"checkoutUrl": "https://mock.shop/cart/2000000000001:1",
"eligibleForNativeCheckout": true,
"rating": { "rating": 4.8, "count": 24 },
"secondhand": false,
"lookupUrl": "https://discover.shopifyapps.com/global/v2/p/abc123"
}

Represents the shop offering the product. In Search responses, Shop contains only basic information.

idstring

Unique shop identifier. For example, gid://shopify/Shop/54623456

namestring

Shop name.

onlineStoreUrlstring

Shop page URL.

permanentDomainstring

Shop's permanent domain. For example, mock-shop.myshopify.com. This field is null if the client is not opted in to receive eligibleForNativeCheckout.

{} Shop

{
"id": "gid://shopify/Shop/10000000001",
"name": "Mock Shop",
"onlineStoreUrl": "https://mock.shop",
"permanentDomain": "mock-shop.myshopify.com"
}

Anchor to The ProductOption resourceThe ProductOption resource

Represents a product option like Size or Color.

namestring

Option name. For example, Color or Size

valuesOptionValue[]

Array of possible values for this option.

{} ProductOption

{
"name": "Color",
"values": [
{ "value": "Heather Gray" },
{ "value": "Navy" }
]
}

Anchor to The OptionValue resourceThe OptionValue resource

Represents a product option value. In Search responses, OptionValue contains only the value.

valuestring

Option value, configured by the merchant. For example, US5.5

{} OptionValue

{
"value": "Heather Gray"
}

Anchor to The PriceRange resourceThe PriceRange resource

Represents the minimum and maximum prices for a product or collection of variants.

maxPrice

Maximum price in the range.

minPrice

Minimum price in the range.

{} PriceRange

{
"min": { "amount": 2999, "currency": "USD" },
"max": { "amount": 4999, "currency": "USD" }
}

Retrieve details of a single UniversalProduct.

This example illustrates how to retrieve detailed information for a single product using the UniversalProduct resource and the /global{API_VERSION}/p/{upid} endpoint. Replace {upid} with the Universal Product ID for the product of interest and {bearer_token} with the bearer token you generated in the Authentication section.

Use this endpoint to retrieve comprehensive variant information, including availability and option filtering.

Anchor to [object Object], Retrieve detailed information about a Universal Product
GET
Retrieve detailed information about a Universal Product

Retrieve details of a single UniversalProduct.

This example illustrates how to retrieve detailed information for a single product using the UniversalProduct resource and the /global{API_VERSION}/p/{upid} endpoint. Replace {upid} with the variant ID of a previous Search query or more generally the Universal Product ID for the product of interest and {bearer_token} with the bearer token you generated in the Authentication section.

Use this endpoint to retrieve comprehensive variant information, including availability and option filtering.

Variant selection behavior

If no variant matches the passed option filters, a relaxation of filters occurs to select the closest matching variant. If no match is found, the rightmost option filter is dropped until a match is found. The selectionState field in the response indicates whether the variant is a match (exact match) or fallback (relaxed match).

_gsidString

Reference to the Catalog Search which generated the URL. Optional, and pre-populated in Catalog Search Results.

For example, xuUi3kiX3Fzt

available_for_saleInt (0,1)Default: 1 (only available items)

Filter by availability.

When 1, only products available for sale are included in the result. When 0, unavailable items are included if they're a good match for the query.

include_secondhandInt (0,1)Default: 1 (include)

Include secondhand products.

When 1 include secondhand products in the result, not that only secondhand products will appear in the results.

limitInteger (1-100)Default: 10

Maximum number of results to return.

max_priceDecimal

Maximum price (currency determined by ships_to). API accepts decimals.

min_priceDecimal

Minimum price (currency determined by ships_to). API accepts decimals.

option.{name}String

Option for inclusive and exclusive filtering. Filter products by appending option.{NAME}={VALUE} to the URL. Multiple options can be included per request. Different option keys are combined using AND logic. This affects the selected variant on onlineStoreUrl and checkoutUrl.

For example, option.color=red&option.material=steel

option_preferencesString

Comma-delimited list of option names. If no variant matches passed filters, a relaxation of filters occurs to select the closest matching variant. If no match is found, the rightmost option filter is dropped until a match is found.

For example, color, material

queryString

Keywords for search. For example, Running Shoes

ships_fromString

An ISO 3166 country code. For example, US

ships_toStringDefault: US

An ISO 3166 country code.

shop_idsString

Filter by specific shops. For example, gid://shopify/Shop/1234 or 1234

variant_idInt

Preselect this product variant. For example, 46731565826293

GET

/global/v2/p/{upid}

# Retrieve details about an individual product.
curl -X GET \
'https://discover.shopifyapps.com/global/v2/p/{d}' \
-H 'Authorization: Bearer {BEARER_TOKEN}'

{} Response

{
"id": "gid://shopify/p/abc123XYZ789defGHI456jk",
"description": "A comfortable everyday sweatshirt with a classic fit and soft cotton-polyester blend.",
"options": [
{
"name": "Color",
"values": [
{
"value": "Heather Gray",
"availableForSale": true,
"exists": true
}
]
},
{
"name": "Size",
"values": [
{
"value": "Medium",
"availableForSale": true,
"exists": true
}
]
}
],
"selectedOptions": [
{
"name": "Color",
"value": "Heather Gray"
},
{
"name": "Size",
"value": "Medium"
}
],
"rating": { "rating": 4.5, "count": 128 },
Note

The schema returned by the Universal Product ID query (Catalog Lookup) is the same returned by the Catalog Search, except for the UniversalProduct's url param, which is omitted.

Use options to pre-select variants.

By specifying options, you can ensure that the relevant variant is selected when users are redirected to onlineStoreUrl and checkoutUrl.

For example, consider product gid://shopify/p/def456GHI789jklMNO123pq which has multiple color and size options.

Using the request's option params, a color and size combination of Navy/Large can be specified. The returned payload's onlineStoreUrl and checkoutUrl will pre-select these options for the user.

Variant selection behavior

If no variant exists with the combination of options that were requested, a relaxation of option filters will occur to find the next best variant. The parameter option_preferences can be used to decide the order in which options are relaxed.

{} Response

{
"id": "gid://shopify/p/def456GHI789jklMNO123pq",
"title": "Premium Pullover Hoodie",
...
"options": [
{
"name": "color",
"values": [
"Heather Gray",
"Navy",
"Black",
"Forest Green",
"Burgundy",
"Charcoal",
"Oatmeal",
"White"
]
},
{
"name": "size",
"values": [
"Small",
"Large"
]
}
],
...
}
GET

/global/v2/p/{uid}

curl --location 'https://discover.shopifyapps.com/global/v2/p/def456GHI789jklMNO123pq?ships_to=US&ships_from=US&available_for_sale=1&min_price=25.00&max_price=75.00&query=hoodie&_gsid=xyz789abc123&option.color=Navy&option.size=Large' \
--header 'Authorization: Bearer API_TOKEN'

{} Response

{
"id": "gid://shopify/p/def456GHI789jklMNO123pq",
"description": "A cozy pullover hoodie with kangaroo pocket and drawstring hood.",
...
"variants": [
{
"id": "gid://shopify/ProductVariant/2000000000002?shop=10000000001",
"productId": "gid://shopify/Product/1000000000002",
"displayName": "Premium Pullover Hoodie - Navy / Large",
"productDescription": "A cozy pullover hoodie...",
...
"variantUrl": "https://mock.shop/products/premium-pullover-hoodie?variant=2000000000002&_gsid=xyz789abc123",
"checkoutUrl": "https://mock.shop/cart/2000000000002:1?_gsid=xyz789abc123&payment=shop_pay",
"price": {
...
},
...
},
...
}

Anchor to Lookup response schemaLookup response schema

The Lookup endpoint returns a single UniversalProduct object with comprehensive product details for building product detail pages.

Some fields are generated using machine learning and are marked with Inferred in the documentation. These fields may not always be present or may have varying accuracy depending on the available product data.

Response type
UniversalProduct

Anchor to The UniversalProduct resourceThe UniversalProduct resource

Represents a high-level product grouping that may contain multiple variants or offers from different shops.

attributesAttribute[]Inferred

Array of product attributes.

descriptionstringInferred

Detailed product description.

featuredVariantIdstring

The ID of the featured variant for this product.

featuredVariantMediaMedia[]

Media for the featured variant. Currently returns images only.

idstring

Unique identifier for the universal product.

For example, gid://shopify/p/1UT1zYWaL8WeTNCllgUbsM

optionsProductOption[]Inferred

Array of product options/variants.

ratingRating

Universal product rating information.

selectedOptionsVariantOption[]

Array of selected variant options.

statusStatus

Product status information.

techSpecsstring[]Inferred

Array of technical specifications.

topFeaturesstring[]Inferred

Array of top product features.

uniqueSellingPointstringInferred

The unique selling point for the product.

variantsVariant[]

Array of product variants. Default: 5.

{} UniversalProduct

{
"id": "gid://shopify/p/abc123XYZ789defGHI456jk",
"description": "A comfortable everyday sweatshirt.",
"featuredVariantId": "gid://shopify/ProductVariant/2000000000001",
"featuredVariantMedia": [
{
"url": "https://cdn.shopify.com/s/files/variant.webp",
"altText": "Featured variant"
}
],
"options": [
{
"name": "Color",
"values": [
{ "value": "Heather Gray", "availableForSale": true, "exists": true },
{ "value": "Navy", "availableForSale": false, "exists": true }
]
}
],
"selectedOptions": [
{ "name": "Color", "value": "Heather Gray" }
],
"status": null,
"variants": [
{
"id": "gid://shopify/ProductVariant/2000000000001",
"productId": "gid://shopify/Product/1000000000001",
"displayName": "Classic Crewneck - Heather Gray",
"productDescription": "A comfortable everyday sweatshirt.",
"availableForSale": true,
"price": { "amount": 4500, "currency": "USD" },
"shop": {
"id": "gid://shopify/Shop/10000000001",
"name": "Mock Shop",
"permanentDomain": "mock-shop.myshopify.com",
"privacyPolicy": { "url": "https://checkout.shopify.com/..." },
"refundPolicy": { "url": "https://checkout.shopify.com/..." }
}
}
],
"rating": { "rating": 4.5, "count": 120 }
}

Anchor to The Variant resourceThe Variant resource

Represents a specific product variant with pricing, availability, and checkout information.

availableForSaleboolean

Whether the variant is available for purchase.

checkoutUrlstring

Direct checkout URL for this variant.

displayNamestring

Display name for the variant.

eligibleForNativeCheckoutboolean

Whether the variant supports native checkout. This field is not returned by default and requires opt-in from Shopify.

idstring

Unique variant identifier.

mediaMedia[]

Media for this variant. Currently returns images only.

pricePrice

Price information for this variant.

productDescriptionstring

Description of the parent product.

productIdstring

ID of the parent product.

ratingRating

Rating information for this variant.

secondhandbooleanInferred

Whether the variant is secondhand.

shopShop

Shop offering this variant.

variantUrlstring

URL for the variant's product page.

{} Variant

{
"id": "gid://shopify/ProductVariant/2000000000001",
"productId": "gid://shopify/Product/1000000000001",
"displayName": "Classic Crewneck - Heather Gray",
"productDescription": "A comfortable everyday sweatshirt.",
"availableForSale": true,
"price": { "amount": 4500, "currency": "USD" },
"media": [
{
"url": "https://cdn.shopify.com/s/files/variant.webp",
"altText": "Heather Gray variant"
}
],
"shop": {
"id": "gid://shopify/Shop/10000000001",
"name": "Mock Shop",
"onlineStoreUrl": "https://mock.shop",
"permanentDomain": "mock-shop.myshopify.com",
"privacyPolicy": { "url": "https://checkout.shopify.com/..." },
"refundPolicy": { "url": "https://checkout.shopify.com/..." },
"shippingPolicy": { "url": "https://checkout.shopify.com/..." },
"termsOfService": { "url": "https://checkout.shopify.com/..." }
},
"variantUrl": "https://mock.shop/products/crewneck?variant=2000000000001",
"checkoutUrl": "https://mock.shop/cart/2000000000001:1",
"eligibleForNativeCheckout": true,
"rating": { "rating": 4.8, "count": 24 },
"secondhand": false
}

Represents the shop offering the product. In Lookup responses, Shop includes policy information.

idstring

Unique shop identifier. For example, gid://shopify/Shop/54623456

namestring

Shop name.

onlineStoreUrlstring

Shop page URL.

permanentDomainstring

Shop's permanent domain. For example, mock-shop.myshopify.com. This field is null if the client is not opted in to receive eligibleForNativeCheckout.

privacyPolicyPolicy

Shop's privacy policy.

refundPolicyPolicy

Shop's refund policy.

shippingPolicyPolicy

Shop's shipping policy.

termsOfServicePolicy

Shop's terms of service.

{} Shop

{
"id": "gid://shopify/Shop/10000000001",
"name": "Mock Shop",
"onlineStoreUrl": "https://mock.shop",
"permanentDomain": "mock-shop.myshopify.com",
"privacyPolicy": {
"url": "https://checkout.shopify.com/10000000001/policies/privacy.html"
},
"refundPolicy": {
"url": "https://checkout.shopify.com/10000000001/policies/refund.html"
},
"shippingPolicy": {
"url": "https://checkout.shopify.com/10000000001/policies/shipping.html"
},
"termsOfService": {
"url": "https://checkout.shopify.com/10000000001/policies/terms.html"
}
}

Anchor to The ProductOption resourceThe ProductOption resource

Represents a product option like Size or Color.

namestring

Option name. For example, Color or Size

valuesOptionValue[]

Array of possible values for this option.

{} ProductOption

{
"name": "Color",
"values": [
{ "value": "Heather Gray", "availableForSale": true, "exists": true },
{ "value": "Navy", "availableForSale": false, "exists": true }
]
}

Anchor to The OptionValue resourceThe OptionValue resource

Represents a product option value. In Lookup responses, OptionValue includes availability information.

availableForSaleboolean

Whether a variant with this option is available for sale.

existsboolean

Whether a variant with this option exists.

valuestring

Option value, configured by the merchant. For example, US5.5

{} OptionValue

{
"value": "Heather Gray",
"availableForSale": true,
"exists": true
}

Anchor to The Attribute resourceThe Attribute resource

Represents a product attribute with a name and array of values.

namestring

Attribute name.

valuesstring[]

Array of attribute values.

{} Attribute

{
"name": "Fabric",
"values": ["Cotton", "Polyester"]
}

Indicates the state of the requested UPID or variant, including whether it was redirected, expired, or fell back to a different selection.

requestedFiltersstring

Indicates if the requested filters caused a fallback. Value: fallback

requestedIdstring

Indicates if the requested product ID was redirected or expired. Values: redirected, expired

requestedVariantIdstring

Indicates if the requested variant caused a fallback. Value: fallback

{} Status

{
"requestedId": "redirected",
"requestedVariantId": null,
"requestedFilters": null
}

Represents a shop policy document.

urlstring

URL to the policy document.

{} Policy

{
"url": "https://checkout.shopify.com/10000000001/policies/privacy.html"
}

The following resources are identical in both Search and Lookup responses.

Represents product media. Currently returns images only.

altTextstring

Alt text for the media.

urlstring

URL of the media asset.

{
"url": "https://cdn.shopify.com/s/files/1/0/0/products/sneaker.jpg",
"altText": "White running sneaker side view"
}

Represents a monetary value with currency.

amountinteger

The price amount in the smallest currency unit (e.g., cents for USD).

currencystring

The three-letter ISO 4217 currency code (e.g., USD, EUR).

{
"amount": 12999,
"currency": "USD"
}

Represents product or variant rating information.

countinteger

The total number of ratings.

ratingnumber

The average rating value.

{
"rating": 4.5,
"count": 128
}

Anchor to The VariantOption resourceThe VariantOption resource

Represents a selected option for a specific variant.

namestring

The name of the option (e.g., Color, Size).

valuestring

The selected value for this option (e.g., Blue, Medium).

{
"name": "Color",
"value": "Heather Gray"
}

Anchor to Status and error codesStatus and error codes

All API queries return HTTP status codes that can tell you more about the response.

200 OK

The request was successful.

400 Bad Request

The request contains invalid parameters. Check the errors object in the response for details.

401 Unauthorized

The bearer token is missing or invalid.

404 Not Found

The requested product (UPID) was not found.

429 Too Many Requests

Rate limit exceeded. Wait before retrying.

{} Sample error responses

{
"errors": {
"limit": ["must be greater than or equal to 1"],
"max_price": ["must be greater than 0"],
"categories": {
"0": ["must be a Shopify Taxonomy category identifier"]
}
}
}
{
"error": "Unauthorized"
}
{
"errors": {
"product": [
"Not found"
]
}
}