> ## Documentation Index
> Fetch the complete documentation index at: https://enrichment-docs.verzla.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Products by SKU

> POST /api/enrichment/products/skus

<Info>**`POST /api/enrichment/products/skus`** · Scope: `catalog:read`</Info>

Look up specific products by SKU. The SKU list is sent in the request body. See the
[guide](/enrichment/fetching-products#fetch-by-sku).

<Note>
  This endpoint uses a `GET` with a JSON body. Some HTTP clients strip bodies from `GET` requests —
  if yours does, configure it to send the body explicitly (e.g. curl's `-d` sets the method to
  `POST` unless you add `-X GET`).
</Note>

## Request body

<ParamField body="skus" type="string[]" required>
  1–50 SKUs to look up. An empty list is rejected; more than 50 is rejected.
</ParamField>

```bash theme={null}
curl -X POST https://api.verzla.com/api/enrichment/products/skus \
  -H "X-Api-Client-Key: sk_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{ "skus": ["ABC-123", "ABC-124", "XYZ-900"] }'
```

## Response `200`

Same envelope as [Get products](/api-reference/get-products). Because this is a direct lookup rather
than a true page, the pagination fields are nominal: `page` is `1`, `pageSize` echoes the number of
SKUs requested, `totalElements` is the number of products found, and `totalPages` is `1`.

```json theme={null}
{
  "items": [
    { "id": 90210, "sku": "ABC-123", "name": "Cordless Impact Driver", "...": "..." }
  ],
  "page": 1,
  "pageSize": 3,
  "totalElements": 1,
  "totalPages": 1
}
```

<Info>
  Unknown SKUs are simply omitted — there is no per-SKU "not found" entry. Diff the returned `sku`
  values against what you requested to detect misses.
</Info>

## Errors

| Status | When                                                                |
| ------ | ------------------------------------------------------------------- |
| `400`  | Empty `skus` list ("You need to provide a list of product numbers") |
| `400`  | More than 50 SKUs ("More than 50 items requested.")                 |
| `401`  | Missing or invalid API key                                          |
| `403`  | Key lacks `catalog:read`                                            |
