# 🔎 Fix: ERR_IDENTIFIER_REQUIRED (use ids=)

> The Data API reads identifiers only from the ids parameter. Here is the one-line fix.

*Published: 2026-10-12 | Updated: 2026-10-12 | Source: https://shopsavvy.com/help/data-api-err-identifier-required*

---

## Quick fix

Put your identifiers in the `ids` query parameter, comma-separated, whatever their type:

```
GET https://api.shopsavvy.com/v1/products?ids=611247373064,B07GV2S1GS
```

`GET /v1/products/reviews` is the one exception: it takes a single `id`.

## Why this happens

The API returns HTTP 400 with `ERR_IDENTIFIER_REQUIRED` when a request has no identifiers in `ids`. Parameters named `barcode=`, `upc=`, `asin=` or `url=` are not read, so a request like `/v1/products?upc=611247373064` looks empty to the API. Barcodes, ASINs, URLs, model numbers and ShopSavvy product IDs all go in the same `ids` list, and you can mix them.

## Other fixes

- URL-encode product URLs and product names before putting them in `ids`.
- Send up to 100 identifiers per request; more returns `ERR_INVALID_PARAMS`.
- Errors never cost credits: `meta.credits_used` is 0 on every error response.

## Related errors

- `ERR_INVALID_PARAMS`: a parameter is malformed or over a limit.
- `ERR_PRODUCT_NOT_FOUND`: identifiers were sent but none matched a product.

Full reference: [Data API errors](https://shopsavvy.com/data/documentation/errors).

---