# catalogItems_searchCatalogItems (https://sellersheetai.com/docs/mcp-api/tools/catalogItems_searchCatalogItems)

> Search Amazon's live catalog by keywords or by identifiers — what shoppers see, not one seller's submission.

Access: **READ** · toolset amazon_sp · family sp.catalogItems_2022-04-01

For a known list of ASINs this is the bulk fetch: up to 20 identifiers in one call return the same per-item shape as catalogItems_getCatalogItem (the catalog limit is 2 req/s, so looping the single-item tool over 20 ASINs costs ~10 s against ~1 s here). Use catalogItems_getCatalogItem only for one ASIN. Amazon SP-API · searchCatalogItems · GET /catalog/2022-04-01/items

## Call it

MCP tool call:

```json
{
  "name": "catalogItems_searchCatalogItems",
  "arguments": {
    "store": "myStore-US"
  }
}
```

Tool API (early access — contact us):

```bash
curl -X POST https://api.sellersheetai.com/api/v1/tools/catalogItems_searchCatalogItems \
  -H "Authorization: Bearer $SELLERSHEET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"store":"myStore-US"}'
```

## Arguments

| Name | Type | Required | Description |
|---|---|---|---|
| `store` | string | yes | the store ref `<store>-<CC>` (name-country, e.g. 'myStore-US') — one of get_user_context's store_refs, verbatim. |
| `keywords` | object[] |  | up to 20 keywords, e.g. ['wireless', 'mouse'] — this OR identifiers. |
| `identifiers` | object[] |  | up to 20 product identifiers — this OR keywords. |
| `identifiersType` | string |  | the type of every value in identifiers; required with identifiers. Allowed: ASIN \| EAN \| GTIN \| ISBN \| JAN \| MINSAN \| SKU \| UPC. Allowed: ASIN \| EAN \| GTIN \| ISBN \| JAN \| MINSAN \| SKU \| UPC. |
| `includedData` | string[] |  | datasets per item; default ['summaries']. Not here: customerReviews (the customerFeedback tools) and offers (productPricing_getItemOffersBatch). Allowed: attributes \| classifications \| dimensions \| identifiers \| images \| productTypes \| relationships \| salesRanks \| summaries \| vendorDetails. Allowed: attributes \| classifications \| dimensions \| identifiers \| images \| productTypes \| relationships \| salesRanks \| summaries \| vendorDetails. |
| `brandNames` | object[] |  | keyword searches only — brandName values from data.refinements.brands of a previous search (with identifiers Amazon returns 400). |
| `classificationIds` | object[] |  | keyword searches only — browse-node ids from data.refinements.classifications, or a classificationId read from catalogItems_getCatalogItem (includedData=['classifications']). |
| `pageSize` | integer · –20 |  | items per page, 1–20 (default 10). |
| `pageToken` | string |  | the cursor from the previous call's data.nextToken; omit for the first page. |
| `sellerId` | string |  | required by Amazon when identifiersType is SKU — defaulted to the store's seller id on a seller account; a vendor passes its vendor code (orderDetails.sellingParty.partyId from vendorOrders_getPurchaseOrders). |
| `locale` | string |  | locale for localized content (e.g. 'en_US', 'fr_CA'). |
| `keywordsLocale` | string |  | keyword searches only — the keywords' locale; defaults to the marketplace's. |

## Result

- `data.numberOfResults` — total matches.
- `data.items` — [{asin, summaries, attributes, images, dimensions, identifiers, productTypes, relationships, salesRanks, classifications, vendorDetails}] — a dataset is present only when requested.
- `data.nextToken` — pass it back as pageToken; null on the last page.
- `data.refinements` — keyword searches only — {brands: [{brandName, numberOfResults}],
- `data.refinements.classifications` — [{classificationId, displayName, numberOfResults}]} to narrow the same search through brandNames / classificationIds.