product
Full dossier for ONE known product: its current snapshot plus its observed history. USE WHEN the user has a specific ASIN, Walmart item ID, product link, or a product_id returned by shopping or search, and asks about price history, historical prices, price changes, 30-day history, stock history, seller history, buy-box history, historical analysis, 'analyse this product', 'is this a good buy', 'has the price moved/dropped', 'who is selling this', 'is it in stock'. This is the ONLY tool that returns history: shopping and search return current values, so any historical question about a product they listed comes here. DON'T USE to discover products from a keyword (use shopping) or to pull a filtered list (use search). RETURNS current price, BSR, rating, review count, stock, buy-box seller and seller count, plus an observed_at freshness stamp, full price_history and stock_history back to first observation, change events tagged with the buy-box seller at each change, the current all-seller offer table with 30-day buy-box days (each seller row carries fulfillment AMZ/FBA/FBM and delivery days), a fulfillment block (buy-box AMZ/FBA/FBM, offer counts, whether Amazon sells and holds the buy box, buy-box delivery days and dispatch latency), the bought-past-month badge (measured aggregate buyer behavior, not an estimate), brand stats, and since 2026-09-27: dimensions (item weight + package size as printed plus parsed metric weight_g / *_cm), deal_history (list price, savings and coupon/promotion text as segments of consecutive observations, with a current view), bought_past_month_history (the badge over time; null = page seen without a badge), rating_history (rating_count + rating per observed day with ratings_gained_30d/90d), and variation_coverage (the variation matrix as last seen with, per child, whether we track it and its latest 30-day price - current state, not history). With offer_history=true every per-seller point also carries that day's shipping cost, fba and prime, and the answer carries buybox_price_history (2026-10-09): the lowest buy-box price of every observed day, oldest first, each point labelled source offers (our offer observations, every Amazon marketplace, from 2026-04-17) or daily_snapshot (the legacy daily snapshot, Amazon US back to Nov 2023) - the deepest price series we hold; a gap between two dates is a stretch we did not observe. Since 2026-10-14 every Amazon answer also carries buybox_price_points_hot: every all-offers-page observation of the last 30 days, newest last, {ts, price, seller, seller_id, fulfillment, offer_count} - sub-daily for ASINs in our hot lane, which refreshes popular and customer-polled ASINs every few hours (null when none; history_only carries it too) - and tracking: the lane's state for the ASIN (hot, interval_min, last_fetched_at, read = which page it reads) or null. Since 2026-10-29 every Amazon answer also carries bsr_points_hot: every sales-rank reading of the last 30 days, newest last, {observed_at, bsr, bsr_category, bsr_leaf, bsr_leaf_category}, one per product-page read that showed a rank (bsr_history keeps one per day; null when none; history_only carries it too). Since 2026-10-15 Amazon answers carry buybox_condition (new | used | null = no featured offer; with buybox_condition_source product_page | offers_page and buybox_condition_detail: the pinned offer's condition text, used_only_buybox, or the used storefront's name - Amazon Resale / Amazon Warehouse win the buy box like any seller and read as Amazon retail before), buybox_state (what the lane's newest all-offers read saw: in_stock | no_buybox | out_of_stock, with buybox_state_observed_at and stock_state_source when it decided stock_state; stock_state, in_stock and out_of_stock always agree), and on LIVE answers variation_status (page_is_sibling | page_is_other | null) + page_asin when Amazon served another ASIN's page for the one asked (cache answers: null); unit_price on LIVE answers = Amazon's per-unit price of price where the page prints one ({symbol, value, currency, raw, per}; null otherwise); with full_offers, offers_complete (false = the offers pages stopped part-way, offers_partial_reason says why). Amazon answers also carry the observed product-page content, the byline (authors[] with role_norm author/narrator/illustrator/editor/translator + author for books, audiobooks, music; 2026-09-29), the book/media format (format, format_norm, and formats[]: every format of the book, each its own ASIN with price and membership subscription_price, plus family_asin; 2026-09-30) block: description (with description_source), feature_bullets, images, breadcrumbs, variations with variation_count and parent_asin, stamped content_observed_at — content_observed_at:null with empty arrays means the content crawl has not captured this ASIN yet, never 'this product has no description/gallery'. For the ~17% of the catalog with no overall rank (media, books, niche items), bsr_leaf and bsr_leaf_category carry the best category rank instead. Every response carries a data_source field naming the marketplace the numbers were observed on (e.g. 'amazon US marketplace — observed listings') — attribute prices to that source when presenting them; they are marketplace listings, not manufacturer or site-wide prices. MARKETPLACES us, uk, de, ca, au, fr, it, es, jp, mx, br, walmart. Walmart takes a numeric item ID (or gtin= with the item's UPC) and returns the intelligence blocks plus its listing content: image_url, description, breadcrumbs, highlights (spec name/value pairs), warnings, upc, rating/review_count, was_price, in_stock, and shipping_cost per seller; mode=live reads the walmart.com page now (2 credits, typically 8-15 s, one page: the cheapest other seller is not fetched; location names the store it was priced for) and mode=auto serves our record when observed within max_age_days, else reads live. COST paid plans only: the user signs in with their Logimu account or passes an API key (the no-signup lane has the shopping tool only). 0.5 credits from cache with everything included - bsr_history and offer_history too, no extra charge since 2026-10-10 - and 1 for a live scrape (2 on Walmart); history_only=true returns just the history series (rank, offers, buy-box price, rating_history) for 0.05 credit. Misses and partial scrapes are never billed; a miss may return a hint (found on another marketplace, or retry with mode=live). SELLER FEEDBACK (2026-09-18): every response carries seller_ratings - one entry per seller the answer names (current offers, cheapest new/used, buy-box holder and, with offer_history, every historical seller) with seller_positive_pct, seller_feedback_count, seller_rating and observed_at from a nightly seller-feedback table; offer_history.sellers[] rows carry the same fields directly. Amazon's own offers have no feedback. Not billed.
Schema valid · SHA-256 d0618e0e6c48…
View input schema
{
"type": "object",
"properties": {
"asin": {
"type": "string",
"description": "10-character Amazon ASIN, or a numeric Walmart item ID when country=walmart. Provide either asin or gtin."
},
"gtin": {
"type": "string",
"description": "GTIN / UPC / EAN barcode (12, 13 or 14 digits; punctuation and leading zeros are tolerated), resolved to an ASIN in the requested marketplace. USE WHEN the user gives a barcode instead of an ASIN — scanned off a package, from a supplier sheet, or copied from a listing. A barcode can legitimately map to several ASINs; the best match is returned and the rest are listed in gtin_matches. Never billed when the barcode is unknown to us."
},
"country": {
"type": "string",
"enum": [
"us",
"uk",
"de",
"ca",
"au",
"fr",
"it",
"es",
"jp",
"mx",
"br",
"walmart"
],
"default": "us",
"description": "Marketplace to look the product up in. Amazon: us, uk, de, ca, au, fr, it, es, jp, mx, br. walmart = Walmart US (United States only). Pick the marketplace matching the user's country or locale when known (a German user -> de, a Canadian user -> ca); default us."
},
"mode": {
"type": "string",
"enum": [
"cache",
"live",
"auto"
],
"default": "auto",
"description": "cache = stored observation only; live = force an on-demand scrape (Amazon only, takes a few seconds); auto = serve cache when fresher than max_age_days, otherwise scrape."
},
"max_age_days": {
"type": "integer",
"default": 30,
"description": "How old a cached observation may be before mode=auto triggers a live scrape."
},
"include_used": {
"type": "boolean",
"default": false,
"description": "Include used, refurbished, open-box and collectible offers in current_sellers (default false keeps the new-condition list). Every seller row always carries condition (the marketplace's own label) and condition_class (new, used_like_new, used_very_good, used_good, used_acceptable, used, refurbished, open_box, collectible, unknown); current_sellers always carries used_offer_count, lowest_new (the cheapest new offer - the list is buy-box first, not price-sorted) and lowest_used (the cheapest second-hand offer) even without opting in. With offer_history it returns one series per seller+condition_class. Cached, live and historical data alike; not billed extra."
},
"offer_history": {
"type": "boolean",
"default": false,
"description": "Attach the buy-box owner timeline and per-seller daily price series (US buy-box depth back to Dec 2024) plus buybox_price_history, the lowest buy-box price of every observed day (Amazon US back to Nov 2023). Amazon marketplaces only; needs a paid-plan API key (from $19/mo). Included in the record, no extra credits."
},
"history_sellers": {
"type": "integer",
"default": 10,
"minimum": 1,
"maximum": 50,
"description": "With offer_history: how many of the most-observed sellers carry a point series (default 10, max 50). Every observed seller is always listed as a summary row with points_total."
},
"history_points": {
"type": "integer",
"default": 500,
"minimum": 1,
"maximum": 20000,
"description": "With offer_history: points per series, the most recent N observed days (default 500, max 20,000). Wider series are included too, no extra credits (offer_history.points_extra still reports the points beyond the default 10 x 500)."
},
"bsr_history": {
"type": "boolean",
"default": false,
"description": "Attach the full per-category BSR rank history (era-tagged daily points back to Oct 2023 for US; legacy top-100 segments are flagged censored). Amazon marketplaces only; needs a paid-plan API key (from $19/mo). Included in the record, no extra credits."
},
"history_only": {
"type": "boolean",
"default": false,
"description": "Return ONLY the stored history series - bsr_history, offer_history and buybox_price_history - with no snapshot, content or seller table, for 0.05 credit. USE WHEN the user tracks price or rank over time for many products and does not need the current listing. Amazon marketplaces only, served from stored observations (mode=live is refused); needs a paid-plan API key (from $19/mo)."
},
"track": {
"type": "boolean",
"default": false,
"description": "Answer AND track (paid plans): after this answer the ASIN is pinned into our hot lane, which re-reads its all-offers page (or, with read=product_page, its product page) every `interval` for 30 days and adds every read to buybox_price_points_hot - the same as the track_product tool. No extra credits (the plan's daily tracked-snapshot allowance is drawn); the answer is served even when the tracking is refused and its `track` block says why. Amazon only."
},
"interval": {
"type": "string",
"enum": [
"1h",
"2h",
"4h",
"12h",
"24h"
],
"default": "4h",
"description": "With track=true: how often the lane re-reads the product (1h = 24 snapshots a day)."
},
"read": {
"type": "string",
"enum": [
"offers",
"product_page"
],
"default": "offers",
"description": "With track=true (2026-10-29): offers (default) re-reads the all-offers page; product_page re-reads the product page and its offers page, so every reading's sales rank lands in bsr_points_hot. A product-page read draws 2 snapshots of the allowance."
}
},
"required": [
"asin"
]
}