# Open prices shop basket comparison

Which of these two shops is cheaper on what they both sell? Needs location a and location b.

Which of these two shops is cheaper on what they both sell? For every product priced at both shops: barcode, name and the latest price, date and discount flag on each side, plus the basket total for each shop and both shops' details. Get ids from open-prices/locations or open-prices/nearby-shops. Totals cover all shared products even when the list is cut (busy shops share thousands); narrow with dates. Latest prices can be months apart and product_name can be empty. 404 for an unknown shop.

- Tool ID: `open-prices/compare-shops`
- Name in the catalog: Open Prices shop basket comparison
- Provider: [Open Prices](/providers/open-prices.md)
- Capability: [Product catalogs & food data](/tools/ecommerce/product-catalogs.md)
- Price: no charge per call
- Authentication: an authorised Agentik workspace is required for execution, including zero-price tools.

## Pricing contract

No charge per call. A workspace is still needed so your agent can call it.


```json
{
  "model": "per_call",
  "amountUsd": 0
}
```

## Complete input schema


```json
{
  "type": "object",
  "properties": {
    "location_a": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100000000,
      "description": "First Open Prices location id, e.g. 3"
    },
    "location_b": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100000000,
      "description": "Second Open Prices location id, e.g. 400"
    },
    "date_from": {
      "type": "string",
      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
      "description": "Only prices on or after this date, e.g. '2026-01-01'"
    },
    "date_to": {
      "type": "string",
      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
      "description": "Only prices on or before this date, e.g. '2026-11-01'"
    },
    "discounted": {
      "type": "boolean",
      "description": "true keeps only discounted prices, false only regular prices, e.g. false"
    }
  },
  "required": [
    "location_a",
    "location_b"
  ],
  "additionalProperties": false
}
```

## Published example

This is the provider tool’s published example. Replace example values with the user’s requested inputs, respecting the schema; do not execute an example merely to test a connection.


```json
{
  "tool_id": "open-prices/compare-shops",
  "input": {
    "location_a": 3,
    "location_b": 400
  }
}
```

## Execute and retrieve

Inspect again before execution, explain the price and obtain the required authority. Use MCP run_tool or POST /v1/run with this tool ID, valid input and an idempotency key. Save the returned run ID and follow the actual state. If Agentik answers that the tool is temporarily unavailable, do not retry it blindly; use discovery to propose an alternative.

A partial or uncertain result can still have consumed provider resources. Consult [billing](/docs/billing.md), [idempotency](/docs/idempotency.md) and [asynchronous results](/docs/async.md).

Licence: ODbL 1.0 (Open Prices and OpenStreetMap data).

Attribution: Prices from Open Prices by Open Food Facts contributors (prices.openfoodfacts.org), ODbL.

[Provider documentation](https://prices.openfoodfacts.org/api/docs)

[REST inspection](https://api.agentik.cc/v1/tools/open-prices/compare-shops) · [OpenAPI](/openapi.json) · [Connection guide](/connect.md)

---

[HTML page](/providers/open-prices/compare-shops) · [Agent index](/llms.txt)
