Amazon Product Monitoring Scraper - Change Alerts by ASIN avatar

Amazon Product Monitoring Scraper - Change Alerts by ASIN

Pricing

from $8.00 / 1,000 products

Go to Apify Store
Amazon Product Monitoring Scraper - Change Alerts by ASIN

Amazon Product Monitoring Scraper - Change Alerts by ASIN

Watch Amazon products and searches on a schedule and get only what changed since the last run - price, availability, sales rank or Buy Box seller. Already-seen products come back free, so a quiet re-run is nearly free. Mix ASINs and search URLs in one feed.

Pricing

from $8.00 / 1,000 products

Rating

0.0

(0)

Developer

Blackcube

Blackcube

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

11 hours ago

Last modified

Share

Amazon Product Data Suite  •  7 Actors, one codebase, one product billed once
Amazon Product Scraper API
ASIN, Search, Bestsellers, Price
Amazon ASIN Lookup Scraper API
Product Data by ASIN
Amazon Price Tracker API
Monitor Price Changes by ASIN
Amazon Product Monitoring Scraper
➤ You are here
Amazon Sales Rank Tracker API
BSR Monitoring by ASIN
Amazon New Releases Scraper API
Newest Products by Category
Amazon Category Products Scraper API
Browse Node Listings

More from this account: YouTube Transcript Suite · Website Contact & Email Suite · Career Site & ATS Jobs Suite · Google News Suite · Keyword Research Suite · Shopify Store Intelligence Suite · eBay Data Suite · Amazon Reviews Suite · Reddit · Meta Ad Library · Vinted · Trustpilot Review Intelligence Suite · App Store & Google Play Reviews Suite · Etsy Research Suite · YouTube Comments Intelligence Suite · Telegram Channel Intelligence Suite · Business Reviews Suite · Google Trends Suite · Polymarket Order Book · Nordic Marketplaces Suite · Google Sheets Suite · TikTok Suite · Snapchat Suite · LinkedIn Public Data Suite · Instagram Suite · Contact Validation Suite · Google Maps Suite · X / Twitter

The Amazon product data suite — 7 Actors, one engine

Watch Amazon products on a schedule and get a row only when something actually changed. Unchanged products come back free, so a daily or hourly feed costs almost nothing.

A run that finds nothing costs nothing. There is no run-start fee, error and coverage rows are free, and on a schedule a product is billed only when it has actually changed.

⭐ Why this one

A daily or hourly Amazon feed only makes sense if it does not re-bill you for prices that did not move. This one remembers what it delivered and, on a re-run, charges only for products whose watched fields — price, availability, sales rank, Buy Box seller — actually changed. Everything unchanged comes back as a free row, so a quiet re-run costs almost nothing, and each billed row names exactly which field moved.

Free text like the title is left out of the change test by default, so a seller re-wording a listing never re-bills you. The same engine returns the whole product when you want it — full price, BSR, Buy Box, variants and the rest.

🎯 Use cases

  • Repricing — track a catalogue of ASINs and react the moment a competitor's price or Buy Box changes.
  • Competitor watch — pull a rival's search rankings, Best Sellers and new arrivals on a schedule.
  • Buy Box tracking — see who holds the Buy Box on each ASIN, whether Amazon fulfils it, and when it flips.
  • Catalogue enrichment — turn a list of ASINs into full product records with price, BSR, star breakdown, variants and images.

🚀 Recipes

Watch a list of ASINs, bill only what moved

Put this on a schedule. Only products whose watched fields changed since the last run are billed.

{
"inputs": ["B0CHX3QBCH", "B07XLTPC5L", "0735211299"],
"onlyChangedSinceLastRun": true,
"changeFields": ["price","availability","salesRank","buyBoxSeller"],
"stateName": "my-watch"
}

Two feeds that track separately

Give each schedule its own feed name and they remember independently.

{ "inputs": ["B0CHX3QBCH"], "onlyChangedSinceLastRun": true, "stateName": "competitors" }

Cap the spend on a busy day

{ "inputs": ["B0CHX3QBCH", "B07XLTPC5L"], "onlyChangedSinceLastRun": true, "maxCostUsd": 1 }

A bad ASIN never costs you

An ASIN that does not exist comes back as a free row saying so — no charge, and the rest of your list still runs.

{ "inputs": ["B0CHX3QBCH", "B0ZZZZZZZZ"] }

📥 Input

FieldWhat it does
inputsASINs, product URLs, search phrases, category URLs, or Best Sellers / New Releases / Movers & Shakers list URLs. Mix them freely.
marketplaceWhich Amazon a bare ASIN or search is read on — 19 marketplaces. URLs carry their own.
languageEnglish on every marketplace, or each marketplace in its native language.
maxItemsPerInput / maxItemsTotalHow many products or list rows to return, per input and for the whole run.
maxPagesPerSearchHow deep to page a search or category.
fetchProductDetailsRead each list row from its product page and bill it as a product — never as both.
includeVariants / fetchVariantDetailsList variant ASINs on the product, and optionally fetch each as its own row.
onlyChangedSinceLastRun / stateName / changeFieldsMonitoring: bill only products whose watched fields changed; name the feed; choose the fields.
maxCostUsdA hard spend ceiling for the run.
monthlyPassCharge one 30-day pass ($29.00) instead of paying per row. Charged once, right before the first row would be billed; never renewed silently.

No proxy settings. Unblocking is handled and priced in. You never configure infrastructure.

🌍 Marketplaces

Bare ASINs and searches are read on the marketplace you pick; any URL you paste carries its own. Supported: amazon.com (US), .co.uk (UK), .de (Germany), .fr (France), .it (Italy), .es (Spain), .ca (Canada), .com.au (Australia), .in (India), .co.jp (Japan), .com.mx (Mexico), .nl (Netherlands), .se (Sweden), .pl (Poland), .com.br (Brazil), .sg (Singapore), .ae (UAE), .sa (Saudi Arabia) and .com.tr (Turkey). amazon.com, .co.uk and .de are verified against captured pages; the other 16 share the same page layouts and are supported best-effort — open an issue if one misbehaves. The same ASIN on .com, .co.uk and .de comes back in one language and one schema, so a multi-market catalogue is filterable without a cleanup pass — and the price is always in that marketplace's own currency: a page served in another currency is refused as a free error row, never billed.

📊 Measured coverage

Rivals claim coverage; this publishes it, and every number below is a floor the test suite asserts over real captured pages.

FieldCoverage on in-stock product pagesNotes
Title, ASIN, price100%Price always in the marketplace's own currency.
Star rating + full 5-to-1 breakdown100%The per-star percentages, not just the average.
Ratings count100%The exact number behind the average.
Buy Box seller100%With the seller id when the offer is third-party; the fulfiller where the page prints it.
Main image100%Plus every gallery image the page embeds, hi-res where Amazon has one.
Variant ASINs + named optionspresent on variation productsColour, size, style — the child ASINs and their labels.
Best Sellers Rank per categorypresent where Amazon prints itEvery category the product ranks in, not just the top one.

An out-of-stock product has no price on the page, so price comes back null — never a stale or guessed value. In general a field Amazon does not print comes back null, because a fabricated price or rank silently corrupts whatever you filter on.

📤 Output

RowWhat it is
productOne product: ASIN, marketplace, title, brand, price and currency, list price and discount, availability, Buy Box seller and fulfiller, star rating with the full 5-to-1 breakdown, ratings count, bought-in-past-month, bullet points, description, images, variant ASINs, breadcrumb categories, Best Sellers Rank per category, date first available, dimensions, weight and the product-details table.
list-itemOne row of a search, category or ranked list: position, rank, ASIN, title, price, currency, rating, ratings count, sponsored flag and image.
unchangedFree. Monitoring: a product that has not changed since the last run.
coverageFree. Per input: pages read, items found and billed, whether the walk reached the end, and if not, exactly what stopped it.
errorFree. Anything that could not be read, with a stable reason. Nothing you typed is dropped in silence.

💰 Pricing

Pay per product. Failures are free and there is no run-start fee.

EventFREEBRONZESILVERGOLDPLATINUMDIAMOND
product$16.00$13.30$10.10$8.00$7.50$6.90
list item$6.40$5.30$4.00$3.20$3.00$2.80
monthly pass (optional, 30 days)$58.00$48.33$36.32$29.00$27.54$24.61

Prices are per 1,000, except the monthly pass, which is a flat price charged once. Your tier is your Apify plan.

On the Gold plan, 1,000 products cost $8.00. A product row is priced above the category on purpose: every product page is read from inside the marketplace's own country so the price is in its own currency — the unblocking that makes that possible is most of what a row costs to serve — and each row carries the BSR, the star breakdown and the Buy Box seller that cheaper scrapers leave empty. There is no captcha solver to buy on top. With onlyChangedSinceLastRun on, a scheduled re-run over unchanged products costs $0.00 — a product whose watched fields did not move comes back as a free unchanged row instead of being re-billed. With it off, every run bills every row it delivers.

The monthly pass is for heavy schedules: turn Monthly pass on and the run charges $29.00 once on this listing, right before the first row would be billed; for the next 30 days every run you start with it on delivers products and list rows without per-row charges. It pays for itself above roughly 3,600 products a month — about 120 a day at $8.00 per 1,000 — and it is never charged on a run that delivers nothing and never renewed silently: after 30 days it is charged again only when you run with it on.

Free vs paid Apify plan: this Actor runs on the free plan. The free plan's $5 monthly credit covers about 312 products or 781 list rows at the FREE-tier price; beyond that you need a paid plan, as with every Store Actor.

⏰ Run it on a schedule

Set a cron — 0 * * * * (hourly) — and leave onlyChangedSinceLastRun on. Because already-delivered products are never charged again, a quiet run costs close to nothing and a busy one bills only what moved. That is what makes a daily watch rational instead of a bill you cancel after a week.

❓ FAQ

How do I get Amazon product data by ASIN?

Put the ASIN — or several, one per line — in inputs, pick a marketplace, and run it. Each comes back as one full product row: price, availability, Buy Box, star breakdown, sales rank, variants and images.

How do I track an Amazon price over time?

Put the ASINs on a schedule with onlyChangedSinceLastRun on. A product is billed only when a watched field changes since the last run — by default price, availability, sales rank or Buy Box seller; unchanged products come back free. Sales rank moves on most products every few hours, so drop salesRank from changeFields if you only want price events. Add maxCostUsd to cap a busy day.

What is the monthly pass and when is it worth it?

An optional flat price for heavy schedules. Turn Monthly pass on and the run charges $29.00 once, right before the first row would be billed; for the next 30 days every run of this listing you start with it on delivers products and list rows with no per-row charges. It is never charged on a run that delivers nothing and never renews on its own — after 30 days it is charged again only when you run with it on. It pays for itself above roughly 3,600 products a month, about 120 a day; below that, pay per row.

Does Amazon have a product API?

Amazon's own Product Advertising API is gated behind an affiliate account with sales requirements and returns a limited set of fields. This Actor needs no account and returns the full page — Buy Box, the star breakdown, BSR per category and variants — for any public ASIN, search or list.

How many pages of Amazon search results can I scrape?

As many as the search actually returns — there is no fixed page cap here. Set maxPagesPerSearch to the depth you want. For a whole category, point it at the category or Best Sellers URL instead, which is the more complete route.

Do I need a proxy or a captcha solver?

No. Unblocking is handled and priced into the per-row fee. There is no proxy field to configure and no captcha solver to buy.

Why is the price in the wrong currency on some other scrapers?

Because they read the page from wherever their network happens to exit, and Amazon then shows an export price. This Actor always reads each marketplace from its own country, so the price and currency match the marketplace you asked for.

How do I scrape Amazon Best Sellers, New Releases or Movers & Shakers?

Paste the list URL into inputs. You get all 100 ranks across the two pages — the ones the page prints in full, plus the rest as rank and ASIN, clearly flagged rather than padded with guesses. Turn on fetchProductDetails to read every ranked row as a complete product.

Can I get the Buy Box seller and whether Amazon fulfils it?

Yes. Every product row carries the Buy Box seller, its seller id when the offer is third-party, and whether the item ships from Amazon — the fields you need to tell an FBA offer from a merchant-fulfilled one.

How do I export Amazon product data to CSV, Excel or JSON?

Every run's dataset exports to CSV, Excel, JSON, XML or HTML from the Storage tab, or through the Apify API. The dataset ships with ready-made views for products, list rows, changes and the coverage report.

What happens when an ASIN does not exist or a page is blocked?

You get a free error row naming the reason, and the rest of your input still runs. Nothing you typed is dropped in silence, and a run that returns nothing costs nothing.

🔗 Looking for Amazon reviews?

Reviews live in a separate suite, so this one stays focused on product data:

⚖️ Unofficial

This is an independent tool and is not affiliated with, endorsed by or sponsored by Amazon. It reads only publicly available pages. "Amazon" is used here only to describe what the tool reads.

🛟 Support

Something not working, or a marketplace you want checked? Open an issue on the Issues tab — it is read and answered. If the Actor does what you needed, a rating on the listing helps more than you would think.

Looking for everything at once? → Amazon Product Scraper API

Use it from n8n, MCP, the API or a schedule

Built to be called by a workflow, not only from the Store form. The Actor is vonsensey/amazon-product-monitoring-scraper-api; every snippet below sends {}, which runs the defaults shown on the form — replace it with your own input.

n8n

Install the Apify community node (@apify/n8n-nodes-apify under Settings → Community Nodes, or search "Apify" on n8n Cloud). Add Apify → Run Actor with Actor vonsensey/amazon-product-monitoring-scraper-api and your input JSON, then Apify → Get Dataset Items on the run's defaultDatasetId and pipe the rows anywhere. For scheduled runs, the On new Apify Event trigger fires when a run of this Actor finishes.

MCP (Claude, Cursor, VS Code, any MCP client)

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=vonsensey/amazon-product-monitoring-scraper-api",
"headers": {
"Authorization": "Bearer <YOUR_APIFY_TOKEN>"
}
}
}
}

Your agent then calls vonsensey/amazon-product-monitoring-scraper-api as a tool with the same input the form takes and reads the dataset back.

REST API (one call, rows in the response)

curl -X POST "https://api.apify.com/v2/acts/vonsensey~amazon-product-monitoring-scraper-api/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" -d '{}'

Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("vonsensey/amazon-product-monitoring-scraper-api").call(run_input={})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row)

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('vonsensey/amazon-product-monitoring-scraper-api').call({});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Make, Zapier, LangChain, CrewAI

The Apify app in Make and Zapier has a Run an Actor module: pick vonsensey/amazon-product-monitoring-scraper-api. In LangChain and CrewAI the Apify tool wrappers take the same Actor id. A daily schedule needs nothing but the Console: Schedules → Create → this Actor → cron, and the dataset fills on its own.

Run it without configuring anythingMonitor Amazon products for changes, a ready-made example you can start as-is or copy.

Use cases

  • Reprice against the competition. Track a catalogue of ASINs and react the moment a rival's price or Buy Box seller changes — billed only for the products that actually moved.
  • Watch a competitor's catalogue. Their search rankings, Best Sellers and new arrivals on a schedule, with the full 5-to-1 star breakdown behind every average.
  • Track the Buy Box. See who holds the Buy Box on each ASIN, whether Amazon fulfils it, and when it flips — the fields an FBA-vs-merchant decision needs.
  • Enrich a catalogue. Turn a list of ASINs into full product records — price, BSR per category, star breakdown, variants and images — in one marketplace-correct currency.

Run it on a schedule

A one-off pull answers a question; a schedule answers it every day without you. Open Schedules in the Apify Console, point a cron at this Actor, and the dataset keeps filling on its own — no server, no cron box, no babysitting. Everything here is built to be re-run: you are billed per product delivered, and the FAQ below says exactly what a scheduled run that finds nothing new costs.

FAQ

How do I get Amazon product data by ASIN?

Put the ASIN — or several, one per line — in the input, pick a marketplace, and run it. Each comes back as one full product row: price, availability, Buy Box, star breakdown, sales rank, variants and images. No account and no Amazon API key needed.

Does a scheduled re-run charge me again for products that did not change?

No. With monitoring on, a product is billed only when a watched field — price, availability, sales rank or Buy Box seller — has moved since the last run. Unchanged products come back as a free row, which is what makes a daily or hourly watch rational rather than a bill you cancel.

Why do other Amazon scrapers return prices in the wrong currency?

Because they read the page from wherever their network exits and Amazon then shows an export price. This suite always reads each marketplace from its own country, so the price and currency match the marketplace you asked for — the "wrong price" bug, fixed.

Do I need a proxy or a captcha solver?

No. Unblocking is handled and priced into the per-row fee. There is no proxy field to configure anywhere in the suite and no captcha solver to buy.


Something wrong, or a field you need that is missing? Open an issue on the Issues tab — it is read and it gets fixed. If this saved you time, a rating on the Store page helps the next person find it.