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

> Competitive summary for 1–20 ASINs (Product Pricing v2022-05-01): featured buying options (who wins the featured offer, at what price), lowest-priced offers, reference prices and s

Access: **READ** · toolset amazon_sp · family sp.productPricing_2022-05-01

imilar items, per includedData. The server fills the batch uri, method and marketplaceId — pass only asin and includedData per request. Prefer it over productPricing_getItemOffersBatch when you need who holds the featured offer per segment or reference prices (WasPrice, CompetitivePriceThreshold); getItemOffersBatch returns the v0 offer list with Buy Box prices. Amazon SP-API · getCompetitiveSummary · POST /batches/products/pricing/2022-05-01/items/competitiveSummary

## Call it

MCP tool call:

```json
{
  "name": "productPricing_getCompetitiveSummary",
  "arguments": {
    "store": "myStore-US",
    "requests_": []
  }
}
```

Tool API (early access — contact us):

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

## 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. |
| `requests_` | object[] | yes | 1–20 of {asin (required), includedData (required, non-empty; Allowed: featuredBuyingOptions \| referencePrices \| lowestPricedOffers \| similarItems), marketplaceId (optional; defaults to the store's), lowestPricedOffersInputs (optional, max 5, with lowestPricedOffers only: [{itemCondition New \| Used \| Collectible \| Refurbished \| Club, offerType 'Consumer'}])}, e.g. [{"asin": "B0XXXXXXXX", "includedData": ["featuredBuyingOptions"]}]. |

## Result

- `data.ok` — the ASINs Amazon accepted (statusCode 200, no errors).
- `data.failed` — [{identifier, status, reason}] for every ASIN that failed at the transport level — statusCode not 200, a body.errors list, or no response envelope (status 'NoResponse'); notification.type is 'warning' whenever it is non-empty.
- `data.responses` — per ASIN, in request order — {status: {statusCode, reasonPhrase},
- `data.responses.body` — {asin, marketplaceId (which request this answers — competitiveSummary does not echo a request object), featuredBuyingOptions: [{buyingOptionType 'New', segmentedFeaturedOffers}], lowestPricedOffers, referencePrices: [{name, price}] (CompetitivePriceThreshold, WasPrice …), similarItems, errors}}.

## Body (Amazon schema): {requests: [CompetitiveSummaryRequest]} (1–20), each item

- asin*: string marketplaceId*: string includedData*: [featuredBuyingOptions | referencePrices | lowestPricedOffers | similarItems] (min 1) lowestPricedOffersInputs: [{itemCondition*, offerType*: Consumer}] (max 5) lowestPricedOffersInputs.itemCondition: New | Used | Collectible | Refurbished | Club method*: GET | PUT | PATCH | DELETE | POST uri*: string (6–512 chars)

## Gotchas

- This endpoint cannot confirm an ASIN exists: an unknown ASIN returns 200 with featuredBuyingOptions [] — byte-identical to a valid ASIN with no featured offer — so an empty list proves nothing and data.ok is not proof of validity. When identifier validity matters, productPricing_getPricing's data.failed says.