Shopify

Get Shopify product

Get one Shopify product with its variants, images, collections, SEO, and stock detail where the store exposes it.

GET/v1/shopify/products/{handle}
1credit
x-api-keystringheader

API key (`sfk_...`)

Parameters
4
handlestringrequiredpath

The product handle, as it appears in its URL.

min 1 chars · max 255 chars · pattern: ^[^\s/?#]+$

storestringrequiredquery

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.

datalookupStatus
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

datastore
string

The store host that was requested.

The product when found; null otherwise.

dataproductid
string

Numeric product id as a string.

dataproductgid
stringnullable

The store's global product id; null when the store does not publish it for this row.

dataproducthandle
string

Product handle.

dataproducturl
stringnullable

Product page URL.

dataproducttitle
string

Product title.

dataproductvendor
stringnullable

Vendor.

dataproductproductType
stringnullable

Product type.

Tags.

dataproducttags[]
stringoptional
dataproductavailableForSale
booleannullable

Whether any variant is available.

dataproductupdatedAt
stringnullable

Last update, ISO 8601 UTC.

Lowest and highest variant price.

An amount and its currency.

dataproductpriceRangeminamount
numbernullable

The amount as a decimal number.

dataproductpriceRangemincurrency
stringnullable

ISO 4217 currency code, e.g. `USD`.

An amount and its currency.

dataproductpriceRangemaxamount
numbernullable

The amount as a decimal number.

dataproductpriceRangemaxcurrency
stringnullable

ISO 4217 currency code, e.g. `USD`.

Lowest and highest compare-at price.

An amount and its currency.

dataproductcompareAtPriceRangeminamount
numbernullable

The amount as a decimal number.

dataproductcompareAtPriceRangemincurrency
stringnullable

ISO 4217 currency code, e.g. `USD`.

An amount and its currency.

dataproductcompareAtPriceRangemaxamount
numbernullable

The amount as a decimal number.

dataproductcompareAtPriceRangemaxcurrency
stringnullable

ISO 4217 currency code, e.g. `USD`.

The main image; null when the product has none.

dataproductfeaturedImageid
stringnullable

Image id; null when the store does not publish it for this row.

dataproductfeaturedImageurl
stringnullable

Image URL.

dataproductfeaturedImagealtText
stringnullable

Alt text the merchant set.

dataproductfeaturedImagewidth
integernullable

Pixel width.

dataproductfeaturedImageheight
integernullable

Pixel height.

Variants the image belongs to; empty when not given.

dataproductfeaturedImagevariantIds[]
stringoptional
dataproductdescription
stringnullable

Description as plain text.

dataproductdescriptionHtml
stringnullable

Description as HTML; null when empty.

dataproductisGiftCard
booleannullable

Whether it is a gift card.

dataproductcreatedAt
stringnullable

Created, ISO 8601 UTC.

dataproductpublishedAt
stringnullable

Published, ISO 8601 UTC.

dataproducthasOnlyDefaultVariant
boolean

True when the product has one variant titled `Default Title`.

The standard taxonomy category.

dataproductcategoryid
stringnullable

Shopify taxonomy id; null when the answer omits it.

dataproductcategoryname
stringnullable

Taxonomy name.

The merchant's meta tags.

dataproductseotitle
stringnullable

SEO title.

dataproductseodescription
stringnullable

SEO description.

Product options.

dataproductoptions[]id
stringnullable

Option id where given.

dataproductoptions[]name
string

Option name.

Option values.

dataproductoptions[]values[]
stringoptional

Colour swatches where the store publishes them.

dataproductoptions[]swatches[]value
string

Option value.

dataproductoptions[]swatches[]color
stringnullable

Hex colour where the merchant set one.

All variants, up to 250.

dataproductvariants[]id
string

Variant id.

dataproductvariants[]title
stringnullable

Variant title, e.g. `8`.

dataproductvariants[]sku
stringnullable

SKU.

dataproductvariants[]barcode
stringnullable

GTIN/EAN/UPC barcode.

dataproductvariants[]createdAt
stringnullable

Created, ISO 8601 UTC.

dataproductvariants[]updatedAt
stringnullable

Updated, ISO 8601 UTC.

dataproductvariants[]available
booleannullable

Whether it is for sale.

dataproductvariants[]currentlyNotInStock
booleannullable

Out of stock but still sellable, e.g. back-order.

Price.

dataproductvariants[]priceamount
numbernullable

The amount as a decimal number.

dataproductvariants[]pricecurrency
stringnullable

ISO 4217 currency code, e.g. `USD`.

Compare-at price; null when not on sale.

dataproductvariants[]compareAtPriceamount
numbernullable

The amount as a decimal number.

dataproductvariants[]compareAtPricecurrency
stringnullable

ISO 4217 currency code, e.g. `USD`.

The selected option values.

dataproductvariants[]options[]name
string

Option name, e.g. `Size`.

dataproductvariants[]options[]value
string

Option value.

Weight.

dataproductvariants[]weightvalue
numbernullable

Weight in the store's unit.

dataproductvariants[]weightunit
stringnullable

Unit, e.g. `POUNDS` or `lb`.

dataproductvariants[]requiresShipping
booleannullable

Needs shipping.

dataproductvariants[]taxable
booleannullable

Taxable.

dataproductvariants[]inventoryQuantity
integernullable

Exact stock count where the store exposes it; null when it does not.

dataproductvariants[]inventoryPolicy
stringnullable

`deny` or `continue` where the store exposes it.

dataproductvariants[]inventoryManagement
stringnullable

`shopify` or null where the store exposes it.

The variant's own image; null when none.

dataproductvariants[]imageid
stringnullable

Image id; null when the store does not publish it for this row.

dataproductvariants[]imageurl
stringnullable

Image URL.

dataproductvariants[]imagealtText
stringnullable

Alt text the merchant set.

dataproductvariants[]imagewidth
integernullable

Pixel width.

dataproductvariants[]imageheight
integernullable

Pixel height.

Variants the image belongs to; empty when not given.

dataproductvariants[]imagevariantIds[]
stringoptional

Quantity rules; null when the store does not publish them.

dataproductvariants[]quantityRulemin
integernullable

Minimum quantity.

dataproductvariants[]quantityRulemax
integernullable

Maximum quantity.

dataproductvariants[]quantityRuleincrement
integernullable

Step size.

dataproductvariants[]taxCode
stringnullable

Tax code where set.

Unit price where the merchant sells by measure.

dataproductvariants[]unitPriceamount
numbernullable

The amount as a decimal number.

dataproductvariants[]unitPricecurrency
stringnullable

ISO 4217 currency code, e.g. `USD`.

Unit-price measurement where set.

dataproductvariants[]unitPriceMeasurementmeasuredType
stringnullable

What is measured.

dataproductvariants[]unitPriceMeasurementquantityUnit
stringnullable

Quantity unit.

dataproductvariants[]unitPriceMeasurementquantityValue
numbernullable

Quantity value.

dataproductvariants[]unitPriceMeasurementreferenceUnit
stringnullable

Reference unit.

dataproductvariants[]unitPriceMeasurementreferenceValue
numbernullable

Reference value.

Subscription plans this variant sells under.

The subscription plan.

dataproductvariants[]sellingPlanAllocations[]sellingPlanid
string

Selling plan id.

dataproductvariants[]sellingPlanAllocations[]sellingPlanname
stringnullable

Selling plan name.

Product images, up to 250.

dataproductimages[]id
stringnullable

Image id; null when the store does not publish it for this row.

dataproductimages[]url
stringnullable

Image URL.

dataproductimages[]altText
stringnullable

Alt text the merchant set.

dataproductimages[]width
integernullable

Pixel width.

dataproductimages[]height
integernullable

Pixel height.

Variants the image belongs to; empty when not given.

dataproductimages[]variantIds[]
stringoptional

Images, video and 3D media.

dataproductmedia[]id
stringnullable

Media id.

dataproductmedia[]type
stringnullable

`IMAGE`, `VIDEO`, `EXTERNAL_VIDEO` or `MODEL_3D`.

dataproductmedia[]alt
stringnullable

Alt text.

dataproductmedia[]previewUrl
stringnullable

Preview image URL.

dataproductmedia[]width
integernullable

Preview width.

dataproductmedia[]height
integernullable

Preview height.

dataproductmedia[]position
integernullable

Position.

Video or 3D sources; empty for images.

dataproductmedia[]sources[]url
string

Video or 3D source URL.

dataproductmedia[]sources[]mimeType
stringnullable

Source MIME type.

dataproductmedia[]embedUrl
stringnullable

External video embed URL where the store publishes one.

dataproductmedia[]host
stringnullable

External video host where the store publishes one.

Collections the product is in.

dataproductcollections[]id
stringnullable

Collection id; null when the answer omits it.

dataproductcollections[]handle
string

Collection handle.

dataproductcollections[]title
stringnullable

Collection title.

Subscription groups.

dataproductsellingPlanGroups[]id
stringnullable

Selling plan group id; null when the group has no id of its own.

dataproductsellingPlanGroups[]name
stringnullable

Group name.

Group options.

dataproductsellingPlanGroups[]options[]name
string

Option name.

dataproductsellingPlanGroups[]options[]position
integernullable

Position.

Option values.

dataproductsellingPlanGroups[]options[]values[]
stringoptional

Plans in the group.

dataproductsellingPlanGroups[]plans[]id
string

Plan id.

dataproductsellingPlanGroups[]plans[]name
stringnullable

Plan name.

dataproductsellingPlanGroups[]plans[]description
stringnullable

Plan description.

dataproductsellingPlanGroups[]plans[]recurringDeliveries
booleannullable

Whether deliveries recur.

Plan options.

dataproductsellingPlanGroups[]plans[]options[]name
string

Option name.

dataproductsellingPlanGroups[]plans[]options[]position
integernullable

Position.

dataproductsellingPlanGroups[]plans[]options[]value
string

Option value.

dataproductrequiresSellingPlan
booleannullable

Whether it can only be bought on a plan.

dataproducttemplateSuffix
stringnullable

The theme template the merchant assigned; null when not published.

datavariantsTruncated
boolean

True when the product has more than 250 variants.

dataimagesTruncated
boolean

True when the product has more than 250 images.

datamediaTruncated
boolean

True when the product has more than 50 media items.

datastockAvailable
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.

datawarnings[]
stringoptional

Metadata describing the request and billing outcome.

metarequestId
string

Unique request identifier for tracing this API call.

min 1 chars

metacreditsCharged
integer

Credits charged for this request.

≥ 0

metaversion
string

Public API version that served the response.

one of: v1

Code example

curl "https://api.socialfetch.dev/v1/shopify/products/mens-wool-runners?store=www.allbirds.com" \
  -H "x-api-key: YOUR_API_KEY"

Responses

One Shopify product with its detail.