If you are an AI agent, LLM, or automated tool, a clean markdown version of this page is available at https://www.socialfetch.dev/docs/api/v1/shopify/products/handle/get.mdx.
min 1 chars · max 255 chars · pattern: ^[^\s/?#]+$
store*stringrequiredquery
The store's domain, for example `allbirds.com`, `www.allbirds.com` or `weareallbirds.myshopify.com`. A full URL is accepted and reduced to its host. Only public storefront hosts are accepted.
countrystringoptionalquery
ISO 3166-1 alpha-2 country used for prices, currency and language, e.g. `GB`. Default: the store's own market.
languagestringoptionalquery
Two-letter language code, e.g. `EN`. Default: the store's own language.
Response fields
163
Endpoint-specific response payload.
data.lookupStatus
string
`found` on success; `not_found` when it does not exist or is not a Shopify store; `private` when the storefront is password-protected; `restricted` when the store is paused or frozen.
one of: found, not_found, private, restricted
data.store
string
The store host that was requested.
The product when found; null otherwise.
data.product.id
string
Numeric product id as a string.
data.product.gid
stringnullable
The store's global product id; null when the store does not publish it for this row.
data.product.handle
string
Product handle.
data.product.url
stringnullable
Product page URL.
data.product.title
string
Product title.
data.product.vendor
stringnullable
Vendor.
data.product.productType
stringnullable
Product type.
Tags.
data.product.tags[]
stringoptional
data.product.availableForSale
booleannullable
Whether any variant is available.
data.product.updatedAt
stringnullable
Last update, ISO 8601 UTC.
Lowest and highest variant price.
An amount and its currency.
data.product.priceRange.min.amount
numbernullable
The amount as a decimal number.
data.product.priceRange.min.currency
stringnullable
ISO 4217 currency code, e.g. `USD`.
An amount and its currency.
data.product.priceRange.max.amount
numbernullable
The amount as a decimal number.
data.product.priceRange.max.currency
stringnullable
ISO 4217 currency code, e.g. `USD`.
Lowest and highest compare-at price.
An amount and its currency.
data.product.compareAtPriceRange.min.amount
numbernullable
The amount as a decimal number.
data.product.compareAtPriceRange.min.currency
stringnullable
ISO 4217 currency code, e.g. `USD`.
An amount and its currency.
data.product.compareAtPriceRange.max.amount
numbernullable
The amount as a decimal number.
data.product.compareAtPriceRange.max.currency
stringnullable
ISO 4217 currency code, e.g. `USD`.
The main image; null when the product has none.
data.product.featuredImage.id
stringnullable
Image id; null when the store does not publish it for this row.
data.product.featuredImage.url
stringnullable
Image URL.
data.product.featuredImage.altText
stringnullable
Alt text the merchant set.
data.product.featuredImage.width
integernullable
Pixel width.
data.product.featuredImage.height
integernullable
Pixel height.
Variants the image belongs to; empty when not given.
data.product.featuredImage.variantIds[]
stringoptional
data.product.description
stringnullable
Description as plain text.
data.product.descriptionHtml
stringnullable
Description as HTML; null when empty.
data.product.isGiftCard
booleannullable
Whether it is a gift card.
data.product.createdAt
stringnullable
Created, ISO 8601 UTC.
data.product.publishedAt
stringnullable
Published, ISO 8601 UTC.
data.product.hasOnlyDefaultVariant
boolean
True when the product has one variant titled `Default Title`.
The standard taxonomy category.
data.product.category.id
stringnullable
Shopify taxonomy id; null when the answer omits it.
data.product.category.name
stringnullable
Taxonomy name.
The merchant's meta tags.
data.product.seo.title
stringnullable
SEO title.
data.product.seo.description
stringnullable
SEO description.
Product options.
data.product.options[].id
stringnullable
Option id where given.
data.product.options[].name
string
Option name.
Option values.
data.product.options[].values[]
stringoptional
Colour swatches where the store publishes them.
data.product.options[].swatches[].value
string
Option value.
data.product.options[].swatches[].color
stringnullable
Hex colour where the merchant set one.
All variants, up to 250.
data.product.variants[].id
string
Variant id.
data.product.variants[].title
stringnullable
Variant title, e.g. `8`.
data.product.variants[].sku
stringnullable
SKU.
data.product.variants[].barcode
stringnullable
GTIN/EAN/UPC barcode.
data.product.variants[].createdAt
stringnullable
Created, ISO 8601 UTC.
data.product.variants[].updatedAt
stringnullable
Updated, ISO 8601 UTC.
data.product.variants[].available
booleannullable
Whether it is for sale.
data.product.variants[].currentlyNotInStock
booleannullable
Out of stock but still sellable, e.g. back-order.
Price.
data.product.variants[].price.amount
numbernullable
The amount as a decimal number.
data.product.variants[].price.currency
stringnullable
ISO 4217 currency code, e.g. `USD`.
Compare-at price; null when not on sale.
data.product.variants[].compareAtPrice.amount
numbernullable
The amount as a decimal number.
data.product.variants[].compareAtPrice.currency
stringnullable
ISO 4217 currency code, e.g. `USD`.
The selected option values.
data.product.variants[].options[].name
string
Option name, e.g. `Size`.
data.product.variants[].options[].value
string
Option value.
Weight.
data.product.variants[].weight.value
numbernullable
Weight in the store's unit.
data.product.variants[].weight.unit
stringnullable
Unit, e.g. `POUNDS` or `lb`.
data.product.variants[].requiresShipping
booleannullable
Needs shipping.
data.product.variants[].taxable
booleannullable
Taxable.
data.product.variants[].inventoryQuantity
integernullable
Exact stock count where the store exposes it; null when it does not.
data.product.variants[].inventoryPolicy
stringnullable
`deny` or `continue` where the store exposes it.
data.product.variants[].inventoryManagement
stringnullable
`shopify` or null where the store exposes it.
The variant's own image; null when none.
data.product.variants[].image.id
stringnullable
Image id; null when the store does not publish it for this row.
data.product.variants[].image.url
stringnullable
Image URL.
data.product.variants[].image.altText
stringnullable
Alt text the merchant set.
data.product.variants[].image.width
integernullable
Pixel width.
data.product.variants[].image.height
integernullable
Pixel height.
Variants the image belongs to; empty when not given.
data.product.variants[].image.variantIds[]
stringoptional
Quantity rules; null when the store does not publish them.
The theme template the merchant assigned; null when not published.
data.variantsTruncated
boolean
True when the product has more than 250 variants.
data.imagesTruncated
boolean
True when the product has more than 250 images.
data.mediaTruncated
boolean
True when the product has more than 50 media items.
data.stockAvailable
boolean
True when the store exposes stock levels in this answer, so `inventoryQuantity` and `inventoryPolicy` are populated where it does. False means those fields are null for this answer, not that stock is zero.
Notes about the answer, e.g. a requested market the store does not price in and the market it used instead.
data.warnings[]
stringoptional
Metadata describing the request and billing outcome.
meta.requestId
string
Unique request identifier for tracing this API call.