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

Cost: from 2 credits (2 per product found (missing and unreadable handles and failed requests are free)). Docs: https://scrapercompany.com/docs/reference/shopify-products-batch

Up to 50 products. A repeated handle is read once. Each found
product is billed at 2 credits. A missing handle is a per-row
`not_found` and is not billed. A handle that could not be read is a
per-row `unavailable` and is not billed. When every handle is missing
the call is not billed. When every handle is unavailable, the call is
503.

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.
- `handles` (array of string; required; min items 1, max items 50): Product handles, at most 50.

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)
