# Shopify products: `POST /v1/retail/shopify/products`

Cost: from 9 credits (3 with `limit` 50 or less (the default), 9 for a larger page (an empty page and failed requests are free)). Docs: https://scrapercompany.com/docs/reference/shopify-products

One page of the public product catalog. Prices are the store's own
currency. `quantity` is present only when the store publishes a stock
count; this list feed does not. A page keeps at most 100 variants and
25 images per product. `variants_omitted` and `images_omitted` count
what was left off. Price and stock still use every variant. Past
25,000 products the walk continues through collection feeds. When
another page exists, `next_cursor` is the cursor for it. An empty
page is not billed.

Request body (JSON):

- `store` (string; required; min length 1, max length 300): Public store address, a domain or an https URL (allbirds.com).
- `market` (string | null; optional): Market code echoed on the answer. It does not change the currency the store publishes.
- `locale` (string | null; optional): Locale path prefix the store publishes, such as en or en-ca.
- `limit` (integer; optional; default 50; min 1, max 250): Products on this page. 50 or fewer costs 3 credits; a larger page costs 9.
- `page` (integer; optional; default 1; min 1, max 10000): 1-based page, when not using cursor.
- `cursor` (string | null; optional; max length 2000): Opaque cursor from a previous page.

Base URL: `https://api.scrapercompany.com`. Auth: send your key in the `x-api-key` header. A failed request (4xx or 5xx) or an empty result costs 0 credits.

- [Full API reference as one Markdown file](https://scrapercompany.com/llms-full.txt)
- [OpenAPI spec](https://scrapercompany.com/openapi.json)
