Competitor Price Monitor – Price Drop Alerts, Any Store URL
Pricing
from $9.00 / 1,000 product snapshots
Competitor Price Monitor – Price Drop Alerts, Any Store URL
**Stateful product price & stock monitor.** Watch any product URL (Shopify, WooCommerce, custom stores) and get typed alerts each scheduled run: price moves, back-in-stock, out-of-stock, sale started/ended, variant changes. KV diffing emits ONLY what changed — plus a watchlist digest.
Pricing
from $9.00 / 1,000 product snapshots
Rating
0.0
(0)
Developer
Vitalii Bondarev
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Competitor Price Monitor — Price & Stock Change Alerts
Watch any competitor's product pages and get a clean, typed alert the moment something moves: a price drop, a restock, a sell-out, a sale starting or ending, a new or removed variant. This is a monitor, not a one-shot scrape — keep it on a schedule and each run reports only what changed since the last one, so you pay for signal, not for re-dumping the same catalogue every day.
What it does
On every scheduled run, for each product URL you give it:
- Reads the product reliably. It first tries the store's own product
endpoint (Shopify
/products/<handle>.js— clean structured data with every variant's price, SKU and in-stock flag), then falls back to JSON-LD, OpenGraph/microdata, and finally a text parse. A resilient browser handles JS-only storefronts automatically. Every snapshot carries aparse_confidenceso a degraded read is flagged, never silently mis-reported. - Compares against the previous run (state is persisted per URL in a named Key-Value store) and emits typed change events.
- Builds a watchlist digest — cheapest in-stock item, a full price matrix, stock/sale counts, and this run's change summaries — one decision-ready record.
Outputs
Three record types land in the dataset (filter by record_type):
snapshot—domain,title,price,currency,compare_at_price,in_stock,on_sale,lowest_price/highest_price,variants[](each with price / compare-at / SKU / availability),parse_confidence,extraction_method.change_event—event_type,summary,previous_value,current_value,change_pct,direction,variant. Event types:price_changed,variant_price_changed,back_in_stock,out_of_stock,sale_started,sale_ended,title_changed,variant_added,variant_removed,page_changed_unparsed. (baseline_createdis emitted on the first run of a URL and is informational, not billed as a change.)digest— one per run:cheapest_in_stock,price_matrix,in_stock_count,out_of_stock_count,on_sale_count,changes_by_type,change_summaries,notes.
Input
| Field | What it does |
|---|---|
productUrls | Product page URLs to monitor (Shopify, WooCommerce, BigCommerce, custom). |
emitDigest | Emit the one-per-run watchlist digest (default on). |
eventTypes | Restrict which change events are emitted/charged (empty = all). |
kvStoreName | Named KV store that persists state between runs — keep it constant across scheduled runs. |
forceBrowser | Always render in a browser (slower; normally auto-escalated only when needed). |
proxyConfiguration | Apify Proxy; defaults to US residential so geo-localized prices stay stable run-to-run. |
How to use it as a monitor
- Add your competitors' product URLs and run once — this bootstraps a baseline
(you'll see
baseline_createdrecords, no change events yet). - Schedule the actor (e.g. daily) with the same
kvStoreName. - From the second run on, you get only the changes — wire the
change_eventrecords into your alerting (email, Slack, a webhook on new dataset items).
Reliability note
Keep the proxy country pinned (default US). A rotating exit country can serve a different currency for the same page, which would look like a price change and re-baseline your monitor. The actor already guards against a currency flip, but a pinned country keeps the data cleanest.
Pricing
Pay-per-event: one charge per product snapshot, one per change event emitted, one per watchlist digest. Platform compute runs on your own Apify account.