account_balance
ChatGPTReport the account's plan, remaining quota and trial status. Call this when the user asks how much they have left, and before proposing a large analysis so you can warn them if the balance will not cover it. This endpoint is not billed and does not consume quota.
compare_to_competitor
ChatGPTCompare two specific stores item by item, with the price gap on each product. Setting position='above' answers 'which of my products are more expensive than theirs' in a single call — far cheaper than exporting both assortments and diffing them. Billed by volume, roughly 2 quota units per page.
list_brands
ChatGPTFind brands in the catalogue and how many products each one has. Use this to resolve a brand name before calling products_by_brand or stores_by_brand, which need the brand spelled exactly as stored. Costs 1 quota unit.
list_departments
ChatGPTList every department and category in the catalogue, with product counts. Call this before using the department or category filter on any other tool: those filters match stored values exactly, so a guessed label silently returns nothing. Cheap (1 quota unit) and stable — the taxonomy rarely changes.
list_stores
ChatGPTList monitored supermarkets and, crucially, their store_id. This is the entry point for every store-level analysis: store_assortment, store_competitors, store_competitiveness, store_price_position, pricing_opportunities and compare_to_competitor all require a store_id, and none of them accept a store name. Start here whenever the user names a retailer. Costs 1 quota unit.
price_history
ChatGPTTrack how a product's price moved over time, market-wide and per store. Answers 'is this getting more expensive' and 'when did the competition drop their price'. The market series carries the median, minimum and maximum per period with outliers already excluded. The window caps at 180 days upstream, with history starting in April 2026, so a request for more is served the widest window available. Costs 1 quota unit.
pricing_opportunities
ChatGPTList repricing opportunities, ranked by how far each item sits from the market. The most directly actionable tool in this server: it answers 'what should I reprice this week' in one call, splitting products into margin upside, competitive risk, and comfortably positioned. Billed by volume, roughly 2 quota units per page.
product_by_ean
ChatGPTShow one product's price and stock across every monitored store. This is the direct answer to 'how much does X cost and where is it cheapest'. Returns market-wide statistics plus the per-store breakdown — by default every store carrying the product, since the cost is a flat 1 unit no matter how many. Filter by state or city when the user only cares about one region, or set store_limit to rank a shortlist; there is no need to paginate by state to see full coverage.
products_by_brand
ChatGPTList a brand's products with price dispersion and availability per item. cv_percent is the coefficient of variation: high values mean the same product sells at very different prices across stores, which is where pricing action usually is. The brand name must match exactly — resolve it with list_brands. Costs 1 quota unit per page.
search_catalog
ChatGPTBrowse the product catalogue with price and availability aggregates. Use this to find products matching a description and to read their EANs, which product_by_ean and price_history require. Brand, category and department are exact matches — resolve them with list_brands and list_departments first. Costs 1 quota unit per page.
store_assortment
ChatGPTExport one store's full product assortment, page by page. Billed by volume: about 2 quota units per 250 rows. Page size is capped well below the API's own limit, so prefer several small pages over one large export, and stop as soon as the user's question is answered rather than paginating to the end by reflex.
store_competitiveness
ChatGPTScore how a store's prices compare against each competitor, product by product. Returns, per competitor, how many items are priced below, level with, or above them, the median price gap, and a 0-100 competitiveness index. This is the diagnostic behind 'am I expensive, and against whom'. Billed at 1 quota unit per competitor analysed, so keep limit small unless the user asks for a full sweep.
store_competitors
ChatGPTFind the stores whose assortment overlaps most with a reference store. Run this before store_competitiveness to decide who is actually worth comparing against. Billed at 1 quota unit per competitor found, with no upper bound on the count — lowering min_overlap_percent widens the result set and the bill together, so start high and loosen only if too few competitors come back.
store_price_position
ChatGPTRank a store's products against the market median, one row per product. Each item comes back with the market's minimum, median and maximum price and where this store sits relative to them. Note this endpoint has no pagination upstream — the row count is the whole request — and it is billed by volume, so the ceiling applied here is what keeps a single call from costing dozens of units. For a ranked shortlist of what to act on, prefer pricing_opportunities.
stores_by_brand
ChatGPTShow which stores carry a brand, and how well each one sells it. This is the distribution view an industry account asks for: coverage by store and region, average price, and a 0-100 health score combining availability and price consistency. Costs 1 quota unit.