Search products
search_productsSearch the canonical product catalog by free text (Hebrew or English), brand, category, or exact GTIN, and answer 'how much is X' for a SINGLE item. Also matches chain listing names. Send city or address and every hit comes back priced: fromPrice is the lowest it goes for at any storefront delivering there, so quote it as 'from ₪X across N storefronts' (pricedAtStorefronts) and never as one national price — there is no such thing here. pricedAtStorefronts=1 is one shop's price, not a market rate. normalizedUnitPrice is that same money per 100g/100ml/piece: compare on it, NOT on fromPrice, because a smaller pack is cheaper to buy and usually dearer per gram. Results come back cheapest per unit first. fromPrice is the ordinary price, never a loyalty-club or coupon rate. Without a location nothing can be priced and the price fields are absent. For a whole shopping list call optimize_delivery ONCE with query items — never price lines one by one here, and never add these prices up: they come from different storefronts and each carries its own delivery fee. After optimize_delivery priced the wrong product, call suggest_similar_products with the shopper's Hebrew words and the rejected product_id, then call optimize_delivery again with that product_id. Returns canonical products (not per-chain detail); call get_product for listings.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City name in Hebrew or English (also accepts CBS locality codes). Aliases resolve to one place — e.g. 'הרצליה', 'Herzliya', and '6400' are the same filter. May be combined with location as a disambiguation hint. | |
| gtin | No | Exact GTIN/barcode to look up. | |
| near | No | 'lat,lng' string, e.g. '32.078,34.774', to find stores near a point. | |
| brand | No | Filter by brand name, partial match. | |
| limit | No | Max results, default 20. | |
| query | No | Free text search, Hebrew or English, e.g. 'חלב תנובה' or 'olive oil'. | |
| category | No | Filter by internal category slug (l1 or l2), e.g. 'dairy'. | |
| location | No | Free-text neighborhood or address in Israel, e.g. 'נווה עמל, הרצליה'. Resolved to coordinates via cached Nominatim. Do not combine with near. | |
| store_id | No | Optional store UUID to prefer locally stocked products. | |
| radius_km | No | Search radius in km around the resolved point. Defaults to 10km when near or location is set. Ignored without a point. | |
| in_stock_only | No | When location is set, return only products with a local price. Default false. |