storestringrequired
Domain or URL of a public Shopify store, e.g. allbirds.com or https://kith.com. A store on its own domain is addressed by that domain.
https://api.sandbase.ai/v1/api/shopify/productsList the products of any public Shopify store by its domain, a page at a time, with title, vendor, type, tags, price range, sale price, stock, images, options and every variant's SKU, price and stock. Filter by vendor, type, tag, title, SKU, price, sale, stock or recent arrivals. A domain that is not a public Shopify store comes back not found.
Your output will appear here
Complete the inputs, then click Run.
List the products of any public Shopify store by its domain, a page at a time, with title, vendor, type, tags, price range, sale price, stock, images, options and every variant's SKU, price and stock. Filter by vendor, type, tag, title, SKU, price, sale, stock or recent arrivals. A domain that is not a public Shopify store comes back not found.
curl -X POST "https://api.sandbase.ai/v1/run" \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "shopify/products", "limit": 10, "store": "allbirds.com"}'
The result is returned in outputs[0].data. Lookups that find nothing fail with a not-found error.
| Name | Type | Required | Description |
|---|---|---|---|
store | string | Yes | Domain or URL of a public Shopify store, e.g. allbirds.com or https://kith.com. A store on its own domain is addressed by that domain. |
limit | integer | No | Products the store is asked for per page (1-250, default 50). The filters below are applied to that page, so a filtered page can hold fewer, even none while hasMore is true. |
maxPrice | number | No | Only products priced at or below this, in the store's currency. |
minPrice | number | No | Only products priced at or above this, in the store's currency. |
onlyInStock | boolean | No | Only products with at least one variant in stock. Default false. |
onlyOnSale | boolean | No | Only products with at least one discounted variant. Default false. |
page | integer | No | 1-based page of the store's product list. Each page is billed as one request. Default 1. |
productType | string | No | Only products whose product type contains this text, e.g. "Shoes". |
publishedWithinDays | integer | No | Only products published to the store within the last this many days. |
skuContains | string | No | Only products with a variant whose SKU code contains this text. |
tags | array | No | Only products carrying at least one of these tags. |
titleContains | string | No | Only products whose title contains this text. |
vendor | string | No | Only products whose vendor (brand) contains this text. |
Billed at the actual cost of each call, about $0.00085 per request. A call can cost more when the first data source fails and another one answers. Failed calls and lookups that find nothing are not charged.
Start building
Platform API endpoint with unified authentication and usage tracking.
# The quoted heredoc keeps Unicode and shell metacharacters unchanged.
result=$(curl --fail-with-body --silent \
-X POST "https://api.sandbase.ai/v1/api/shopify/products" \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'SANDBASE_JSON'
{
"page": 1,
"limit": 10,
"store": "allbirds.com",
"onlyOnSale": false,
"onlyInStock": false
}
SANDBASE_JSON
)
printf '%s\n' "$result"Set your SandBase API key in your server environment. Requests use Bearer authentication.
export SANDBASE_API_KEY="YOUR_API_KEY"Keep your key on the server. Do not expose it in browser code.
storestringrequiredDomain or URL of a public Shopify store, e.g. allbirds.com or https://kith.com. A store on its own domain is addressed by that domain.
pageinteger1-based page of the store's product list. Each page is billed as one request.
Default: 1
tagsarrayOnly products carrying at least one of these tags.
limitintegerProducts the store is asked for per page (1-250, default 50). The filters below are applied to that page, so a filtered page can hold fewer, even none while hasMore is true.
Default: 50
vendorstringOnly products whose vendor (brand) contains this text.
maxPricenumberOnly products priced at or below this, in the store's currency.
minPricenumberOnly products priced at or above this, in the store's currency.
onlyOnSalebooleanOnly products with at least one discounted variant.
Default: false
onlyInStockbooleanOnly products with at least one variant in stock.
Default: false
productTypestringOnly products whose product type contains this text, e.g. "Shoes".
skuContainsstringOnly products with a variant whose SKU code contains this text.
titleContainsstringOnly products whose title contains this text.
publishedWithinDaysintegerOnly products published to the store within the last this many days.
Saved example response for this API; no live request is made when viewing it.
No saved response has been published. Run the API in Playground to inspect its response.
Explore more
| API | Price | Response |
|---|---|---|
Shopify Store ProductsThis API Shopify | From $0.00085 per call | JSON |
Shopify | From $0.00085 per call | JSON |
Shopify | From $0.00085 per call | JSON |
Shopify | From $0.00085 per call | JSON |
Questions
Send a POST request to https://api.sandbase.ai/v1/api/shopify/products with your SandBase API key in the Authorization header (Bearer) and the parameters as a JSON body. You can also try it in the Playground on this page without writing code.
From $0.00085 per call, billed from your SandBase balance. You are only charged for calls you make; there is no subscription.
Required: store (string). Optional: page (integer), tags (array), limit (integer), vendor (string), maxPrice (number) and minPrice (number) and 6 more. The Parameters table and the Playground on this page list every field.
A JSON response returned in the same HTTP request (synchronous).
No. Shopify Store Products runs through SandBase, so one SandBase API key covers this endpoint and every other API and model in the catalog. You do not need to apply for Shopify API access separately.