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

WooCommerce Product Feed & Catalog Monitor: Price/Stock Alerts

Pricing

from $5.00 / 1,000 change detecteds

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

WooCommerce Product Feed & Catalog Monitor: Price/Stock Alerts

Your catalog changes daily: prices move, stock flips, products appear and vanish. This monitor records a baseline of any WooCommerce store catalog, then diffs the live catalog on every scheduled run and reports exactly what changed: new products, removed products, price changes, stock flips.

Pricing

from $5.00 / 1,000 change detecteds

Rating

0.0

(0)

Developer

dheeraj kumar

dheeraj kumar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

WooCommerce Catalog Monitor

Track any WooCommerce store's catalog over time: new products, removed products, price changes, and stock flips — read from the store's public WooCommerce Store API. No scraping, no browser, no proxies, nothing to break when a site redesigns.

Run it once to record a baseline, then schedule it (daily, hourly — your call). Every scheduled run diffs the live catalog against the last snapshot and pushes one row per change. The first run for a store never charges for changes.

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 (no public Store API, 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.

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 API returns 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

  • The store must expose the public WooCommerce Store API (/wp-json/wc/store/v1/products). The vast majority of WooCommerce stores do — it's on by default. Private, password-protected, and B2B stores are reported as unsupported, not charged.
  • Prices come from the store's own API in its own currency.
  • Polite by design: sequential requests, small delays between pages.

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.

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