---
title: "Lays 2 to 5 listings from earlier search results side by side in `comparison`: each listing's price and currency, and its rating, shipping and features where the retailer source supplies them (many listings carry none)"
method: POST
path: "/api/agent/products/compare_products"
---

# Lays 2 to 5 listings from earlier search results side by side in \`comparison\`: each listing's price and currency, and its rating, shipping and features where the retailer source supplies them (many listings carry none)

`POST /api/agent/products/compare_products`

## Request

- Base URL: `https://wem3.ai`
- URL: `https://wem3.ai/api/agent/products/compare_products`
- Auth: none declared

Lay 2-5 search-result listings side by side: price, and rating, shipping and features where the source supplies them. Each item is a listing's provider + product_id.

## Request body

- object
  - `products` object[], required: 2 to 5 listings, each with `provider` and `product_id` as given in a search result.
    - `provider` string, required
    - `product_id` string, required

## Response `200`

Tool result. `success: false` means the tool ran and reported a problem.

- object
  - `success` boolean, required
  - `data` object: Shape depends on the tool. Search-style results carry `products`, an optional `catalogMatch` of identity-resolved offers, and `filtered`, a count by reason of the weak matches withheld — report that count rather than implying the search was exhaustive.
  - `error` string

## Other responses

- `400`: Unknown tool or a malformed body.
- `429`: Burst or daily quota exhausted. Respect `retry-after` — retrying sooner cannot succeed.
- `500`: Unexpected server error.

---

[API](https://skmtc.dev/wem3/apis/wem-price-compare-api.md) · [All operations](https://skmtc.dev/wem3/apis/wem-price-compare-api/llms.txt) · [OpenAPI document](https://skmtc.dev/wem3/apis/wem-price-compare-api/revisions/52e5c33c3f39?raw)
