# Shopify Store Products API

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

Source: https://www.sandbase.ai/apis/shopify/products
API reference: https://www.sandbase.ai/apis/shopify/products#api

## Facts

- Provider: Shopify
- Type: Data API
- Endpoint: `POST https://api.sandbase.ai/v1/api/shopify/products`
- Price: From $0.00085 per call
- Capabilities: api, shopify, ecommerce, product data
- Billing: pay per use from one SandBase balance; no provider account or subscription needed

## Call it

`POST https://api.sandbase.ai/v1/api/shopify/products` with `Authorization: Bearer $SANDBASE_API_KEY` and the parameters as a JSON body.

| Parameter | Type | Required | Allowed values |
| --- | --- | --- | --- |
| `store` | string | yes |  |
| `page` | integer | no |  |
| `tags` | array | no |  |
| `limit` | integer | no |  |
| `vendor` | string | no |  |
| `maxPrice` | number | no |  |
| `minPrice` | number | no |  |
| `onlyOnSale` | boolean | no |  |
| `onlyInStock` | boolean | no |  |
| `productType` | string | no |  |
| `skuContains` | string | no |  |
| `titleContains` | string | no |  |
| `publishedWithinDays` | integer | no |  |

## FAQ

### How do I use the Shopify Store Products API?

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.

### How much does the Shopify Store Products API cost?

From $0.00085 per call, billed from your SandBase balance. You are only charged for calls you make; there is no subscription.

### What parameters does the Shopify Store Products API accept?

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.

### What does the Shopify Store Products API return?

A JSON response returned in the same HTTP request (synchronous).

### Do I need a Shopify developer account or API key?

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.

## README

### Shopify Store Products API

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.

#### Request

```bash
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.

#### Parameters

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

#### Pricing

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.
