Shopify Competitor Price Tracker — Monitor Rival Prices
Pricing
from $5.00 / 1,000 detected changes
Shopify Competitor Price Tracker — Monitor Rival Prices
Shopify competitor price monitor: track competitor product prices and changes across Shopify stores automatically. Get alerts when prices move so you can reprice. Ecommerce competitor price tracking. Pay per price change detected.
Pricing
from $5.00 / 1,000 detected changes
Rating
0.0
(0)
Developer
QualifyOps
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
7 hours ago
Last modified
Categories
Share
Competitor Price & Stock Monitor — Shopify
You give: your competitors' Shopify store URLs. You get: one row per detected change — price drop, price increase, out of stock, back in stock, new product, product removed — with old price, new price and % change. You pay: only when something actually changes — $0.005 per detected change. Baseline runs and quiet days are free.
Stop checking competitor sites by hand. Paste their store URLs, schedule this, and get alerted rows only when something moved. Competitor-monitoring SaaS charges ~$70/month whether anything changed or not. Here, a week where your competitors touch nothing costs you nothing.
How it works
- Reads each store's public product catalog (
/products.json— every Shopify storefront exposes it; no browser, no proxies, no login). - First run per store: saves a baseline snapshot to a named key-value store. Free, always — you're never charged for a baseline.
- Every later run: re-reads the catalog, diffs it against the stored snapshot at variant level, and emits one row per change. Each change row is charged; everything else (summaries, diagnostics, baselines) is free.
- Saves the new snapshot, so the next scheduled run diffs against today.
Change types
change_type | Fires when | Key columns |
|---|---|---|
price_drop | A variant's price went down | old_price, new_price, pct_change |
price_increase | A variant's price went up | old_price, new_price, pct_change |
out_of_stock | A variant went from available to sold out | available |
back_in_stock | A sold-out variant is buyable again | available |
new_product | A product (or new variant) appeared in the catalog | new_price |
product_removed | A product (or variant) left the catalog | old_price |
Every row also carries store, product_title, variant_title, sku, product_url (click straight through to the live page) and detected_at.
Honest by design
- Reads only the public
products.jsonevery Shopify storefront serves. No login, no scraping tricks, no proxies. - Stores that disable or password-protect it are reported with a single free
store_not_readablediagnostic row — never a silent failure, never a charge. - The baseline run is never charged, even with
includeBaselineon (that just gives you the full catalog as free rows so you can see what's being tracked). - Charged changes are capped at 500 per run — a competitor's full-catalog redesign can't cause a runaway bill. Changes past the cap are still delivered, free, flagged
overflow: true.
Schedule it — this is the whole point
One run is a snapshot; a schedule is a monitor. Add an Apify Schedule (daily for most catalogs, hourly for fast movers) with the same monitorName, and every run diffs against the last one. The dataset becomes your rolling change feed: quiet day → free summary rows only; competitor cuts prices → charged change rows land in the dataset the next run.
Webhook / n8n / Make / Zapier
Set notifyWebhookUrl and the run POSTs a JSON change summary (per-store status + change counts) when it finishes — point it at an n8n/Make/Zapier webhook to get Slack or email alerts only on change days. Or consume the dataset directly via the Apify API/MCP and filter on change_type.
Input: paste one or more Shopify store URLs. Optional: trackedKeywords to watch only matching products, maxProductsPerStore, monitorName (one name = one shared snapshot state across scheduled runs), includeBaseline to emit the free first-run catalog.