Amazon Buy Box Monitor & Tracker - Seller, Price, Fulfilment
Pricing
from $0.005 / actor run started
Amazon Buy Box Monitor & Tracker - Seller, Price, Fulfilment
Check who wins the Amazon buy box for a list of ASINs on 15 marketplaces: featured offer price, seller, who ships it, delivery promise, stock and every other buying option on the page. For sellers, brands and repricing teams who track buy box ownership over time.
Pricing
from $0.005 / actor run started
Rating
0.0
(0)
Developer
SR
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
14 days ago
Last modified
Categories
Share
Amazon Buy Box Monitor & Tracker
Check who wins the Amazon buy box on any list of ASINs. This Amazon buy box monitor returns the featured offer's price, the merchant selling it, who fulfils it, the delivery promise, stock, and every alternative buying option pinned on the product page, so sellers and brands can track buy box ownership over time.
No login or customer API key is required. It reads the ordinary product page an anonymous shopper sees on any of 15 marketplaces, using the selected marketplace and its local language.
What the Amazon buy box monitor returns
- The buy box winner, as
sold_byandships_from, which is the pair that tells you whether Amazon itself, the brand, or a third-party reseller owns the sale - Every alternative buying option, not just the winner. New, used and renewed rows each come back with their own price, seller, condition, delivery promise and returns policy
- A
page_statethat explains itself. A product with no offer is not the same as a variation parent waiting for a size to be chosen, which is not the same as a Prime Video title that has an ASIN but nothing to buy. Six named states instead of a silent empty row - Price in the marketplace's own currency, so the figures match that marketplace. The original currency symbol remains available, alongside the ISO currency code in
currency_code scraped_aton every row, so consecutive runs build the time series that makes buy box data worth anything- Delivery and fastest-delivery promises, parsed per option, which is usually the reason a more expensive seller is winning
- Labels understood in nine languages, so
sold_byis populated on amazon.de and amazon.co.jp rather than only on the English sites - Unchanged pay-per-event pricing. $0.005 per run plus $0.0045 per delivered ASIN; missing or blocked ASINs incur no ASIN charge
Why monitor the Amazon buy box
The buy box decides the sale. A shopper who presses Add to Cart buys from whoever holds it, and on a contested listing that can change several times a day as sellers reprice against each other. If you sell on Amazon, losing it is a revenue event you want to know about in minutes. If you are a brand, an unfamiliar name in sold_by is how you find out someone is reselling your product without permission.
Amazon publishes none of this through an API you can point at a competitor's listing. The Selling Partner API answers questions about your own account, not about the market, and the buy box winner is a rendering decision made on the product page itself. Reading that page is the only way to see it.
What almost every existing tool gets wrong is treating the answer as a snapshot. A single check tells you who holds the buy box right now, which is close to useless. The value is in the series: who held it yesterday, at what price, and what changed when they lost it. That is why this actor returns a timestamp on every row and is built for small, frequent, cheap runs rather than one big sweep.
How to track the Amazon buy box in four steps
- Paste your ASINs, or full Amazon product URLs, into
asins. URLs are reduced to their ASIN automatically. - Choose the
marketplace, for examplecom,co.ukorde. The ASIN has to exist on that site. - Run it once and look at the Buy box table view: ASIN, title, price, currency, seller, fulfilment, stock, page state and timestamp side by side.
- Add an Apify schedule (hourly for contested listings, daily for a catalogue check) and send the dataset to a spreadsheet, a webhook or your own database. Comparing
sold_bybetween two runs gives you every buy box change.
Input
| Field | Type | Required | Default | What it does |
|---|---|---|---|---|
asins | array | yes | no default; prefill ["B0DJGDC3BD"] | ASINs or full Amazon product URLs. URLs are reduced to their ASIN |
marketplace | select | no | com | Which Amazon site and local currency |
limit | integer | no | 50 | ASINs per run, 1 to 200 |
retries | integer | no | 4 | Retry attempts per product |
Supported values for marketplace: com, co.uk, de, fr, it, es, nl, se, pl, ca, com.au, com.mx, com.br, in, co.jp.
Example input:
{"asins": ["B0DJGDC3BD", "B09B8V1LZ3", "B07FZ8S74R"],"marketplace": "com","limit": 50,"retries": 4}
Output
Each ASIN becomes one dataset row. The main fields:
| Field | Type | Meaning |
|---|---|---|
asin | string | The Amazon product identifier that was checked |
url | string | Product URL on the chosen marketplace |
marketplace | string | Which Amazon site the row came from |
title | string | Product title |
page_state | string | buybox, select_variant, see_all_buying_options, unavailable, not_a_product or no_buybox |
num_options | integer | How many buying options the page pinned |
price | number | Featured offer price as a number |
price_text | string | Featured offer price exactly as Amazon rendered it |
currency | string | Currency symbol of the featured offer |
condition | string | Condition of the featured offer: new, used or renewed |
sold_by | string | Merchant that wins the featured offer |
ships_from | string | Who fulfils the featured offer |
availability | string | Availability line as Amazon phrases it |
in_stock | boolean | Whether the availability line reads as in stock |
delivery | string | Standard delivery promise |
fastest_delivery | string | Fastest delivery promise Amazon offers |
returns | string | Returns policy shown with the offer |
max_quantity | integer | Maximum quantity the buy box allows |
add_to_cart | boolean | Whether an add-to-cart control is present |
buying_options | array | Every buying option on the page, each with label, condition, price, price_value, currency, delivery, delivery_location, availability, seller, returns, payment, gift options, quantity, cart and buy-now flags, is_selected, index and features |
scraped_at | string | UTC timestamp of the check |
country, currency_code | string | ISO country and ISO currency code of the marketplace |
source, fetched_at, product_id, offers_count | mixed | Source name, fetch time, the ASIN again and the number of offers |
Amazon buy box output example
This is a real response obtained on 2026-10-03. The original fields remain present. Extra fields include source, fetched_at, product_id, offers_count, country and currency_code; currency retains Amazon's displayed symbol. The default key-value store also contains summary and per-ASIN errors when needed.
{"asin": "B0DJGDC3BD","url": "https://www.amazon.com/dp/B0DJGDC3BD","marketplace": "com","title": "Amazon Fire TV Stick HD (newest model), free & live TV, Alexa Voice Remote, powered by the TV, effortless setup, find shows faster with Alexa+","page_state": "buybox","num_options": 1,"price": 15.99,"price_text": "$15.99","currency": "$","condition": "new","sold_by": "Amazon.com","ships_from": "Amazon.com","availability": "In Stock","in_stock": true,"delivery": "FREE delivery Wednesday, October 7 on orders shipped by Amazon over $35","fastest_delivery": "Or Prime members get FREE delivery Tomorrow, October 3 . Order within 2 hrs 25 mins . Join Prime","returns": "FREE 30-day refund/replacement","max_quantity": 2,"add_to_cart": true,"buying_options": [{"label": "","condition": "new","price": "$15.99","price_value": 15.99,"currency": "$","delivery": "FREE delivery Wednesday, October 7 on orders shipped by Amazon over $35","fastest_delivery": "Or Prime members get FREE delivery Tomorrow, October 3 . Order within 2 hrs 25 mins . Join Prime","delivery_location": "Delivering to Cleveland 44120 - Update location","availability": "In Stock","in_stock": true,"ships_from": "Amazon.com","sold_by": "Amazon.com","returns": "FREE 30-day refund/replacement","payment": "Secure transaction","gift_options": "","max_quantity": 2,"add_to_cart": true,"buy_now": true,"is_selected": true,"index": 0,"features": {"Shipper / Seller": "Amazon.com","Returns": "FREE 30-day refund/replacement","Payment": "Secure transaction"}}],"scraped_at": "2026-10-03T00:04:24Z","country": "US","currency_code": "USD","source": "amazon-buybox","fetched_at": "2026-10-03T00:04:24Z","product_id": "B0DJGDC3BD","offers_count": 1}
Use cases
Knowing within the hour that you lost the buy box. Schedule your own ASINs hourly and alert when sold_by changes away from you. The row also carries the winning price, so the alert tells you not just that you lost it but by how much you were undercut, which is the number you need before you reprice.
Finding unauthorised sellers on your own listings. Run your catalogue weekly and collect the distinct values of sold_by per ASIN. Anyone in that set who is not you and not an authorised distributor is a problem you cannot see from Seller Central. buying_options widens the net further, because it lists sellers who are visible on the page without holding the buy box.
Watching a competitor's pricing. Their ASINs, your schedule. Because price is a number and scraped_at is a timestamp, two weeks of runs is a price history nobody sells you. ships_from tells you whether they are on FBA, which is usually what decides who wins at equal price.
Cross-market price comparison. The same ASIN on com, co.uk and de returns three rows with three currencies, each priced as that market actually sees it. Running the same list against several marketplaces is the cleanest way to find where a product is mispriced.
Feeding a repricer or a dashboard. The output is flat enough to load straight into Google Sheets, BigQuery or a BI tool. in_stock, price and sold_by are the three columns most repricing rules need.
Amazon buy box tracker compared with the alternatives
| Option | Whose listings | What you get | Cost model |
|---|---|---|---|
| Seller Central and the Selling Partner API | Only your own account | Buy box eligibility and your own offers | Free, but blind to competitors and to listings you do not sell on |
| Subscription buy box tracking tools | Usually your own catalogue | Alerts and dashboards inside their app | Monthly plan, often tiered by ASIN count |
| Manual checks in a browser | Any | One page at a time, no history | Your time |
| This actor | Any ASIN on 15 marketplaces | Winner, price, fulfilment, delivery and all buying options as data, with a timestamp | Pay per run and per ASIN delivered, nothing per month |
If you want a finished alerting app, a subscription tool is the shorter path. If you want the raw buy box data in your own sheet, database or workflow, for your listings and anyone else's, this actor is built for that.
Pricing
Two events retain the existing price: run_start costs $0.005 once per run, and asin costs $0.0045 per delivered product row ($4.50 per 1,000 rows, plus the single run fee). The start fee also applies to empty runs. ASINs that do not resolve or remain blocked incur no ASIN charge. A real product page without a buy box is still a delivered row and is charged once. Non-paying Apify users receive at most ten rows per run; paying users can request up to 200 ASINs.
Examples at these prices:
- One run of 100 ASINs: $0.005 + 100 × $0.0045 = $0.455
- 50 ASINs once a day for 30 days: 30 × ($0.005 + $0.225) = $6.90
- 20 contested ASINs every hour for 30 days: 720 × ($0.005 + $0.09) = $68.40
Limits and gotchas
- Not every ASIN is a retail product. Prime Video, Kindle and Music titles have ASINs and answer on
/dp/, but there is nothing to buy. Those come back aspage_state: not_a_productrather than an empty buy box. - A variation parent pins nothing until a size or colour is chosen. Those return
page_state: select_variant. Pass the child ASIN of the specific variant you care about. page_state: see_all_buying_optionsmeans Amazon showed no featured offer at all, only a link to the offer listing. That is a real market state, usually a listing with no seller meeting the buy box criteria.- An ASIN is marketplace-specific. A US ASIN often does not resolve on amazon.co.uk, and the run says
asin_not_foundfor it rather than returning an empty row. - Each row is one full product page, over a megabyte, so a 200-ASIN run can take minutes. The actor continues automatically until its selected limit is reached or its run budget is exhausted; incomplete results carry a warning.
- Buy box ownership changes intraday. A daily run tells you much less than an hourly one. The actor is priced for frequent small runs for exactly this reason.
FAQ
Can I see who has the Amazon buy box without an API key? Yes. The featured offer is rendered on the ordinary product page for anonymous visitors, and that is what this actor reads. There is no credential field in the input.
Does it show sellers who do not have the buy box?
Yes, in buying_options, which carries every buying option Amazon pins on the product page with its own seller, price and condition. For the complete third-party offer list behind the "other sellers" panel you would need an offer-listing scraper; this returns what the page itself shows.
Why does my ASIN come back with no price?
Check page_state. It will say whether the product is a variation parent, has no featured offer, is unavailable, or is not a retail product at all. That field exists so you never have to guess.
Which marketplaces are supported? Fifteen: com, co.uk, de, fr, it, es, nl, se, pl, ca, com.au, com.mx, com.br, in and co.jp. The selected marketplace determines which product page and currency are returned.
How do I track buy box changes over time?
Schedule the run and store asin, sold_by, price and scraped_at. A change in sold_by between two runs is a buy box flip, and the price difference tells you what it cost.
What is the Amazon buy box price?
It is the price of the featured offer, the one the Add to Cart button buys. In this actor that is price as a number and price_text exactly as shown, together with the seller who wins at that price.
Do I pay for ASINs that are not found? No. ASINs that do not resolve, or that stay blocked after the retries, are not charged. Only the $0.005 run fee applies to every run.
Can I pass Amazon URLs instead of ASINs? Yes. Any product URL that contains an ASIN is reduced to that ASIN before the check.
Related Actors
- Amazon Bestsellers Scraper — ranked products across 15 Amazon marketplaces
- EAN to ASIN Converter — turn a barcode into an Amazon ASIN
- Google Shopping Scraper — offers from every merchant for an EAN or SKU