docs / shopify
Shopify Store API
Shopify Store API
base /shopify/v16 endpoints
post
/shopify/v1/products1 creditPaginated product catalog from any public Shopify store: title, vendor, variants, prices, inventory status, tags, and images.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| store | required | — | Shopify store domain or URL (e.g. allbirds.com or https://shop.example.com) — works for ANY Shopify-powered store. |
| page = 1 | optional | 1– | Page number (1, 2, 3…). |
| limit = 50 | optional | 1–250 | Items per page (1–250; larger values are capped at 250). |
| max_items | optional | 1– | Auto-walk pages until this many items are collected (overrides single-page mode; recommended when using filters). |
| vendor | optional | — | Only products whose vendor/brand contains this text (filter, post-fetch). |
| product_type | optional | — | Only products whose type contains this text (filter, post-fetch). |
| tags | optional | — | Only products carrying at least one of these tags (comma-separated or a list; filter, post-fetch). |
| title_contains | optional | — | Only products whose title contains this text (filter, post-fetch). |
| sku_contains | optional | — | Only products with a variant SKU containing this text (filter, post-fetch). |
| min_price | optional | 0– | Only products priced at or above this (store currency; post-fetch). |
| max_price | optional | 0– | Only products priced at or below this (store currency; post-fetch). |
| only_on_sale = false | optional | — | Only products with at least one discounted variant. |
| only_in_stock = false | optional | — | Only products with at least one available variant. |
| new_arrivals_days | optional | 1– | Only products published within the last N days. |
post
/shopify/v1/product1 creditFull detail for a single Shopify product by its handle (URL slug) or product page URL: title, vendor, variants, prices, images, and inventory.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| store | required | — | Shopify store domain or URL (e.g. allbirds.com or https://shop.example.com) — works for ANY Shopify-powered store. |
| handle | required | — | Product handle — the slug in the product URL (…/products/<handle>); a full product URL also works. |
post
/shopify/v1/collections1 creditPaginated list of public collections from a Shopify store: collection id, title, handle, description, and cover image.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| store | required | — | Shopify store domain or URL (e.g. allbirds.com or https://shop.example.com) — works for ANY Shopify-powered store. |
| page = 1 | optional | 1– | Page number (1, 2, 3…). |
| limit = 50 | optional | 1–250 | Items per page (1–250; larger values are capped at 250). |
| max_items | optional | 1– | Auto-walk pages until this many items are collected (overrides single-page mode; recommended when using filters). |
post
/shopify/v1/collection_products1 creditPaginated products within a specific Shopify collection — same product shape as the products action, filterable and sortable.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| store | required | — | Shopify store domain or URL (e.g. allbirds.com or https://shop.example.com) — works for ANY Shopify-powered store. |
| handle | required | — | Collection handle — the slug in the collection URL (…/collections/<handle>); take it from the collections action. A full collection URL also works. |
| sort_by | optional | relevance · price-ascending · price-descending · created-descending · best-selling · title-ascending | Requested ordering — passed to the store's collection endpoint, but MANY stores ignore it (theme-dependent); ordering is not guaranteed. Aliases like priceAsc/newest are also accepted. |
| page = 1 | optional | 1– | Page number (1, 2, 3…). |
| limit = 50 | optional | 1–250 | Items per page (1–250; larger values are capped at 250). |
| max_items | optional | 1– | Auto-walk pages until this many items are collected (overrides single-page mode; recommended when using filters). |
| vendor | optional | — | Only products whose vendor/brand contains this text (filter, post-fetch). |
| product_type | optional | — | Only products whose type contains this text (filter, post-fetch). |
| tags | optional | — | Only products carrying at least one of these tags (comma-separated or a list; filter, post-fetch). |
| title_contains | optional | — | Only products whose title contains this text (filter, post-fetch). |
| sku_contains | optional | — | Only products with a variant SKU containing this text (filter, post-fetch). |
| min_price | optional | 0– | Only products priced at or above this (store currency; post-fetch). |
| max_price | optional | 0– | Only products priced at or below this (store currency; post-fetch). |
| only_on_sale = false | optional | — | Only products with at least one discounted variant. |
| only_in_stock = false | optional | — | Only products with at least one available variant. |
| new_arrivals_days | optional | 1– | Only products published within the last N days. |
post
/shopify/v1/search1 creditPredictive product search across a Shopify store: returns matching products with title, price, variants, and image.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| store | required | — | Shopify store domain or URL (e.g. allbirds.com or https://shop.example.com) — works for ANY Shopify-powered store. |
| query | required | — | What to search for in the store. |
| limit = 10 | optional | 1–250 | Results per page (1–250; larger values are capped at 250). |
| page = 1 | optional | 1– | Page number (1, 2, 3…). |
| max_items | optional | 1– | Auto-walk pages until this many items are collected (overrides single-page mode; recommended when using filters). |
| vendor | optional | — | Only products whose vendor/brand contains this text (filter, post-fetch). |
| product_type | optional | — | Only products whose type contains this text (filter, post-fetch). |
| tags | optional | — | Only products carrying at least one of these tags (comma-separated or a list; filter, post-fetch). |
| min_price | optional | 0– | Only products priced at or above this (store currency; post-fetch). |
| max_price | optional | 0– | Only products priced at or below this (store currency; post-fetch). |
| only_on_sale = false | optional | — | Only products with at least one discounted variant. |
| only_in_stock = false | optional | — | Only products with at least one available variant. |
post
/shopify/v1/store_info1 creditBasic metadata for a Shopify store: store name, domain, platform confirmation, and raw meta fields.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| store | required | — | Shopify store domain or URL (e.g. allbirds.com or https://shop.example.com) — works for ANY Shopify-powered store. |
Example request · products
curl -X POST https://api.reefapi.com/shopify/v1/products \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"store":"allbirds.com","limit":5}'Response shape
{
"ok": true,
"data": { /* the result */ },
"meta": {
"latency_ms": 240,
"record_count": 12,
"completeness_pct": 100
},
"error": null
}