# Changelog of Amazon Buy Box & Price Monitor 📦 (with seller ID check) (`tagadanar/amazon-product-monitor`) Actor

- **URL**: https://apify.com/tagadanar/amazon-product-monitor/changelog.md
- **Full Actor documentation**: https://apify.com/tagadanar/amazon-product-monitor.md

## Changelog

### 2026-09-13 (later)

- **Up to 100 offers per product from September 28, 2026.** The full offer list
  becomes billed per offer ($0.50 per 1,000), and the cap rises from 30 to 100
  on that date. Until then offers stay free and capped at 30; a run that asks
  for more says so in its status. The cheapest new offer and the offer count
  stay included with every product.

### 2026-09-13

- **Fixed: European and UK prices were missing.** Amazon only shows the Buy Box
  to someone it will deliver to, so products on amazon.de, .fr, .it, .es and
  .co.uk came back with no price and no seller. Every price on those
  marketplaces is now read from inside the marketplace's own country, in the
  local currency, with local shipping.
- **Fixed: keyword searches on those marketplaces were missing prices too.**
  Searches are now priced the same way.
- **New: every seller's offer.** Turn on "Include every seller's offer" for up
  to 30 offers per product: price, list price, condition, shipping cost,
  delivery date, seller, FBA or not, and seller rating. No extra charge.
- **New on every product:** `lowestNewPrice` and its seller, `otherOffersCount`,
  `shippingPrice`, `deliveryText`, `coupon`, `fulfilledByAmazon`, and where the
  price was read (`buyBoxSource`, `priceRegion`).
- **Clearer "no price" rows.** `no-featured-offer` (sellers exist, no Buy Box),
  `no-offers` (nobody sells it right now, checked twice before it is reported),
  and `offers-unavailable` (Amazon refused this run; the row is not billed).
- **Fixed: seller check.** A seller that publishes only a shop name and a VAT
  number was reported as a name mismatch. It is now
  `vat-valid-legal-name-not-disclosed`, and `matchedName` shows who the VAT
  number belongs to.
- A product Amazon does not list on the marketplace asked for, or whose page
  could not be read, is now named in the run's status message instead of
  silently left out.
- A run that reaches its time limit stops taking new work and says what it
  skipped.

### 2026-09-08

- **Fixed: a round-dollar price could read a thousand times too low.** Same
  defect and same fix as amazon-product-scraper: `$1,500` was read as `1.50`
  because the decimal-separator rule looked only at which separator came last.
  A comma now counts as a decimal point only when one or two digits follow it.

### 0.1.1

- **Amazon's cached, price-less detail page is now retried under a second
  browser fingerprint.** Amazon answers some sessions with a complete-looking
  page whose offer block is an empty shell, identical byte-for-byte on every
  retry. Measured 2026-08-27: amazon.de served that page to one TLS
  fingerprint and the full page, with the price and the Buy Box seller, to
  another — same host, same minute. A page like that is now refetched on the
  next fingerprint instead of shipping a null price.
- Rows where even the retry came back cached are marked
  `parseStatus: "degraded-render"`, kept apart from `no-buy-box`, so a
  rendering hiccup never reads as the Buy Box changing hands. Change records
  are still computed only from `full` rows.

### 0.1.0

First release.

- Buy Box watch per ASIN on amazon.com, .co.uk, .de, .fr, .it and .es: live
  price, list price, who holds the Buy Box, who fulfils it, stock wording,
  rating, review count and Best Sellers Rank.
- Change tracking between runs, with an optional "only changed products" mode
  for scheduled watchlists.
- Search keyword mode with position, sponsored flag, price and rating per
  result.
- Seller identity verification on the European marketplaces: reads the legal
  identity Amazon publishes on the seller storefront and checks it against the
  EU VAT system, the French company register or Companies House, with a status
  and a confidence score.
- Product pages where Amazon withholds the Buy Box are marked
  `parseStatus: "no-buy-box"` instead of shipping a null price as if it were
  the real one.
