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 (keyed; the free lane carries the 30-day views), 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) or null. 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). 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 (no live scrape on Walmart). COST free lane 1 of 30 daily queries, cache only, and returns the snapshot + 30-day views (the full history streams, bsr_history, offer_history and live scrapes need an API key (plans from $19/mo) — the response's locked block lists exactly what a key unlocks). Keyed: 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; history_only=true returns just the history series 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.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| asin | Yes | 10-character Amazon ASIN, or a numeric Walmart item ID when country=walmart. Provide either asin or gtin. | |
| gtin | No | 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. | |
| mode | No | 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. The no-signup free lane is cache-only: mode=live returns an error asking for an API key (from $19/mo) (do not offer a live scrape to a keyless caller); with a key, live/auto scrape normally. | auto |
| track | No | Answer AND track (paid plans): after this answer the ASIN is pinned into our hot lane, which re-reads its all-offers 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. | |
| country | No | 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. | us |
| interval | No | With track=true: how often the lane re-reads the all-offers page (1h = 24 snapshots a day). | 4h |
| bsr_history | No | 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 | No | 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). | |
| include_used | No | 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. | |
| max_age_days | No | How old a cached observation may be before mode=auto triggers a live scrape. | |
| offer_history | No | 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_points | No | 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). | |
| history_sellers | No | 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. |