search_products
Search and compare prices for 26,000+ UK electronics products across multiple retailers. Filter by brand, category, and price range to find the best deals.
Instructions
Search 26,000+ deduplicated UK electronics products across multiple retailers with price comparison. Returns summary data: title, brand, price, availability, category, purchase link, and offer_count. When offer_count > 1, the product is available from multiple retailers — call get_product to see all offers. Specs are minimal — for full technical specifications, call get_product with the product ID. Covers: Laptops, Desktops, Phones, Tablets, Headphones, Monitors, TVs, Cameras, Keyboards, Mice, Speakers, Gaming, Wearables, Printers, Networking, Storage, Audio, Drones, Cables & Chargers. All prices in GBP. IMPORTANT RULES: 1) Decompose the user's request: extract brand → brand filter, category → category filter, price → price filters. What remains is the query. Example: 'Sony headphones under £200' → brand='Sony', category='Headphones', max_price=200, query omitted. Example: 'MacBook Neo' → brand='Apple', category='Laptops', query='neo'. Example: 'Samsung QLED TV' → brand='Samsung', category='TVs', query='qled'. Example: 'Sony WH-1000XM5' → brand='Sony', category='Headphones', query='WH-1000XM5'. 2) DO NOT put brand names, product family names, full product name strings, or prices in the query — use filters. DO put differentiating identifiers: model lines, series, variants, technology descriptors, and model numbers (e.g. 'neo', 'ultra', 'oled', 'qled', 'WH-1000XM5', 's25 ultra'). Any product family name uniquely associated with a brand (e.g. MacBook→Apple, Galaxy→Samsung, ThinkPad→Lenovo) is already implied by brand+category — never put it in query. BAD: query='macbook neo' → GOOD: brand='Apple', category='Laptops', query='neo'. 3) If brand + category alone fully describe what the user wants, omit the query entirely — fewer query words gives cleaner results. 4) Always set lite=true to reduce payload size. 5) If 0 results, try a shorter/broader query or drop filters. 6) Use get_product for full specs — do not rely on search results for detailed attributes. AI USAGE PROTOCOL: For simple browsing, search with lite=true is sufficient. For spec-based queries (wattage, ports, RAM, screen size, weight, etc.), ALWAYS search first, then call get_product on the top 3-5 results and validate constraints against the full specs before recommending. Do not assume technical specs from titles alone. If specs are missing, state that explicitly. STOCK AVAILABILITY: When a product is availability: out_of_stock, do not recommend it as a purchase. Instead mention it as a notable alternative — especially if it offers a meaningful price advantage — and suggest the user check back. Example: 'This model is £X cheaper at [retailer] but currently out of stock — worth checking back if you're not in a rush.' Never silently omit out-of-stock results; surface them transparently.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Refinement terms after brand and category are extracted. Use for model lines, series names, variants, or model numbers (e.g. 'neo', 'ultra', 'oled', 'qled', 'WH-1000XM5'). DO NOT include brand names, product family names, or prices — use filters. Omit entirely if brand + category fully describe what the user wants. | |
| min_price | No | Minimum price in GBP. Use this instead of putting prices in the query. | |
| max_price | No | Maximum price in GBP. Use this instead of putting prices in the query. | |
| brand | No | Filter by brand name (exact match, case-insensitive). Use this instead of putting brand names in the query. Examples: Apple, Samsung, Sony, HP, Dell, Lenovo, Anker, Bose, LG | |
| category | No | Filter by product category. Use ONLY these exact values: Laptops, Desktops, Tablets, Phones, TVs, Monitors, Headphones, Speakers, Cameras, Keyboards, Mice, Printers, Networking, Storage, Gaming, Wearables, Drones, Audio, Cables & Chargers. NOTE: 'Smartphones' is not valid — use 'Phones'. 'Televisions' is not valid — use 'TVs'. For TVs, use query: 'smart TV' — it returns far more results than 'TV' alone. Avoid query: 'television'. | |
| lite | No | Return trimmed product objects with only essential fields (id, title, brand, price, availability, image_url, purchase_url). Always set to true unless the user specifically needs full product objects. | |
| limit | No | Maximum number of products to return (default 50, max 100) | |
| sort | No | Sort order: 'relevance' (default), 'price_asc' (cheapest first), 'price_desc' (most expensive first). Use 'price_asc' when comparing prices. |