WooCommerce Product Feed & Catalog Monitor: Price/Stock Alerts avatar

WooCommerce Product Feed & Catalog Monitor: Price/Stock Alerts

Pricing

from $0.14 / 1,000 product checkeds

Go to Apify Store
WooCommerce Product Feed & Catalog Monitor: Price/Stock Alerts

WooCommerce Product Feed & Catalog Monitor: Price/Stock Alerts

Watch a public WooCommerce catalog. The first run saves a baseline under stateName; later runs report new products, removals, price changes, and stock flips. For scheduled competitor price and stock alerts.

Pricing

from $0.14 / 1,000 product checkeds

Rating

0.0

(0)

Developer

dheeraj kumar

dheeraj kumar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Features

Limited permissions

Share

WooCommerce Catalog Monitor

Who it's for: ecommerce teams, dropshippers, and competitor-research analysts who need to know the moment a WooCommerce store's prices, stock, or product lineup changes — without re-scraping the whole site on every check.

Track a public WooCommerce catalog over time: new products, removed products, price changes, and stock flips. No login and no browser.

Omit storeUrls to run the built-in demo (no charge). A real run needs store URLs plus a stable stateName (default woo-catalog-monitor). The first run for a store only saves a baseline and does not report changes. Later runs with the same stateName diff the live catalog. If a read stops at maxProductsPerStore, products past that cutoff are not reported as removed.

For AI agents

Call this actor through the Apify MCP server. maxChargeUsd is this actor's cap. MCP callOptions.maxTotalChargeUsd is a separate platform cap; set both before a paid call. Omit storeUrls for the demo. Sending store URLs asks for a real catalog. This is not a one-shot "what changed today" call: without a previous snapshot under stateName, the run records a baseline (baselineRun: true) and returns product rows, not change rows.

List prices (unchanged): run start $0.001, each product read $0.0002, each change $0.005. The demo is not charged. A first real run of 5 products is about $0.002 and bills no change events. A later run that finds 2 changes on those 5 products is about $0.012.

There is no compact key-value artifact. Read the dataset. Prices on product and change rows are minor units (1999 means 19.99 when currency is USD).

Demo:

{}

Fields: recordType demo-notice, then product rows (name, sku, price, currency, stock_status) and a store-summary with baselineRun true.

Baseline for a real store (no change rows this run):

{ "storeUrls": ["https://example.com"], "maxProductsPerStore": 5, "outputMode": "changes", "stateName": "example-baseline", "maxChargeUsd": 1 }

Summary fields: recordType store-summary, productsChecked, baselineRun, changesDetected, truncated.

Later diff, same stateName:

{ "storeUrls": ["https://example.com"], "maxProductsPerStore": 5, "outputMode": "changes", "stateName": "example-baseline", "maxChargeUsd": 1 }

Change fields: recordType change, changeType (new, removed, price_changed, stock_changed), name, price, oldPrice, currency, stock_status, permalink.

Full snapshot plus the diff:

{ "storeUrls": ["https://example.com"], "maxProductsPerStore": 5, "outputMode": "full", "stateName": "example-baseline", "maxChargeUsd": 1 }

Product rows (recordType product) plus any change rows. The first run is still only the baseline.

Try it in one click

Leave Store URLs empty and press Start. That runs the built-in demo catalog. Omit storeUrls, or leave it empty; either one selects the demo.

{}

What you get:

  • A demo catalog snapshot (3 sample products) with name, SKU, price and stock status — no store URL needed, and demo mode isn't charged.
  • Point Store URLs at your own WooCommerce store for the real thing: one row per new/removed/price/stock change, at $0.001 run + $0.0002/product + $0.005/change.

What it monitors

Change typeMeaning
newProduct appeared in the catalog
removedProduct disappeared from the catalog
price_changedPrice (or currency) changed — old and new values included
stock_changedStock status flipped (e.g. instock → outofstock)

Each change row carries the product name, SKU, permalink, prices, stock status, and detection timestamp. Every run also writes a store-summary row per store with counts.

Pricing — pay per event, no subscription

EventPrice
Run started$0.001 per run
Product checked$0.0002 per product read ($0.20 per 1,000)
Change detected$0.005 per new / removed / price-changed / stock-flipped product

Typical run: a 1,000-product store with 10 changes costs about $0.25 ($0.001 run + $0.20 products + $0.05 changes).

Failed stores (unsupported, private/B2B, network errors) return an error row and are not charged. Set Maximum charge per run and the actor stops cleanly before exceeding it.

Works on Apify’s Free plan — $5/mo platform usage, no credit card required to try. Actor event prices above are unchanged.

Example input

{
"storeUrls": ["https://your-store.com"],
"maxProductsPerStore": 1000,
"outputMode": "changes",
"stateName": "woo-catalog-monitor",
"maxChargeUsd": 5
}

Example output (one row per change)

Prices are in the store currency's minor units (e.g. cents), exactly as the store reports them.

{
"recordType": "change",
"store": "https://your-store.com",
"storeUrl": "https://your-store.com",
"productId": "1234",
"changeType": "price_changed",
"name": "Ceramic Mug - 12oz",
"sku": "MUG-12",
"price": 1650,
"regular_price": 1650,
"sale_price": 1650,
"oldPrice": 1400,
"currency": "USD",
"oldCurrency": "USD",
"stock_status": "instock",
"is_in_stock": true,
"permalink": "https://your-store.com/product/ceramic-mug-12oz",
"detectedAt": "2026-10-16T09:00:00+00:00"
}

Input

  • Store URLs — one or more WooCommerce store URLs, e.g. https://competitor-store.com.
  • Max products per store (default 1,000) — caps catalog reads and your per-run cost.
  • Output mode — Changes only (one row per change; best for monitoring) or Full catalog snapshot (every product).
  • Snapshot store name — the named key-value store holding baselines. Keep it constant across scheduled runs; change it to start a fresh baseline.
  • Maximum charge per run (USD) (default $5) — hard spending cap.

Requirements and limits

  • Works with the large majority of public WooCommerce stores. Private, password-protected, and B2B stores are reported as unsupported, not charged.
  • Prices are reported in the store's own currency.
  • Polite by design: light, paced reads, far lighter on the store than page-by-page scraping.

Use it from code

curl -X POST "https://api.apify.com/v2/acts/dheerajitbhu~woocommerce-catalog-monitor/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"storeUrls": ["https://competitor-store.com"], "outputMode": "changes"}'
from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("dheerajitbhu/woocommerce-catalog-monitor").call(run_input={
"storeUrls": ["https://competitor-store.com"],
"outputMode": "changes",
})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
if row.get("recordType") == "change":
print(row["changeType"], row["name"], row.get("permalink"))

Schedule it in Apify with a daily (or hourly) schedule and a fixed snapshot store name — each run then reports only what changed since the last one.

Integrations

This actor runs on the Apify platform, so it connects to the tools you already use without custom code:

  • Make, Zapier, n8n — trigger a run on a schedule or webhook, and feed new/removed/price/stock-change rows straight into your workflow using Apify's integrations for each tool.
  • Google Sheets — push each run's change rows to a spreadsheet with the Apify Google Sheets integration, so a non-technical teammate can watch prices without opening the dashboard.
  • Slack / email — get notified when a scheduled run finds changes (or fails) via Apify's built-in Slack and email integrations.
  • API, Python, and JavaScript clients — call it programmatically with the Apify API or the apify-client / apify-client-js libraries (see "Use it from code" above).
  • MCP / AI agents — expose this actor as a callable tool to Claude, Cursor, or any MCP-compatible agent through the Apify MCP server, so an agent can schedule checks and read back changes on its own.

Run it on a schedule

Suggested frequency: daily for most competitor tracking, hourly during sales events or for fast-moving stock. You're only charged for changes, so frequent runs stay cheap.

To set it up: save your input as a Task in Apify Console, then add a Schedule. Send results where you work with Apify integrations: Google Sheets, Slack or email notifications, webhooks, Make / Zapier / n8n, or straight into an AI agent through the Apify MCP server. A run that can't get data is marked failed, so your alerts fire.

FAQ

Is this legal? Is the data public? Yes. It reads only the public catalog data the store shows any visitor — no private or password-protected pages are accessed. You're responsible for using the data in line with each store's terms.

Do I need a login or API keys? No. No account, login, or API key is required for the store you're monitoring. You only need your own Apify account to run the actor.

How often should I schedule it? Daily is a good default for most catalogs; hourly works for fast-moving sales or stock-sensitive stores. The first run for a store only records a baseline and doesn't report changes — every run after that reports (and charges for) what changed since the last run.

What does a run cost? Pay per event: $0.001 per run, $0.0002 per product checked, $0.005 per change detected. A 1,000-product store with 10 changes costs about $0.25 per run. Set Maximum charge per run to cap spend.

Does it need a proxy? No. It reads public catalog data efficiently, so no proxy is needed.

What happens if a store blocks it or can't be read? The store is reported as unsupported/failed in an error row, and it is not charged. This includes private, password-protected, and B2B-only stores.

How do I get support or report a bug? Open an issue on this actor's Issues tab on Apify (apify.com/dheerajitbhu/woocommerce-catalog-monitor/issues) and we'll follow up there.

Feedback

If the data helped, a short rating on the Reviews tab helps others find this actor. Something broke or missing a field? Open an issue on the Issues tab — we aim to reply within 24 hours.

Built and maintained by Integration Yard (dheerajitbhu).

Independent tool. Not affiliated with or endorsed by WooCommerce / Automattic. Use monitored data in line with each store's terms.