Shopify Competitor Price Monitor
Pricing
Pay per usage
Shopify Competitor Price Monitor
Shopify competitor price monitor: watch rival stores on a schedule and get only the changes — price moves, restocks, out-of-stocks, and new products.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
David
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Shopify competitor price monitor that watches rival stores on a schedule and returns only what changed since the last run: price moves (with old price, new price, and %), restocks, out-of-stocks, and new product launches. DTC brands usually discover a competitor's price cut days too late — this monitor tells you the morning it happens.
Features
- Diff, not dump: the first run snapshots each store's catalog; every following run outputs only changes.
- Four change types:
price_change(old/new/% delta),restock,out_of_stock,new_product. - Variant-level tracking: every size/color variant is tracked by its own price and availability, with SKU.
- Multi-store: watch up to 20 competitor stores per run — one scheduled task covers your whole competitive set.
- No login, no proxy games: reads each store's public
products.jsoncatalog endpoint that Shopify exposes on every storefront. - Resilient: a store that fails to fetch is reported as
store_errorand keeps its baseline; pagination caps never cause false "new product" alerts.
Use cases
- DTC brands: get pinged when a competitor cuts prices, launches a product, or sells out of a bestseller.
- Pricing teams: feed
price_changeevents straight into repricing rules via the Apify API or integrations. - Dropshippers & resellers: catch restocks of high-demand items the hour they happen.
- Market analysts: track launch cadence and assortment moves across a niche.
Input / Output
Input:
{"storeUrls": ["https://shop.gymshark.com", "https://competitor2.com"],"maxProductsPerStore": 250}
Output — one dataset item per change:
{"type": "price_change","store": "https://competitor2.com","title": "Sneaker Classique — 42","sku": "SNK-42","productUrl": "https://competitor2.com/products/sneaker-classique","previousPrice": "89.00","newPrice": "79.00","changePercent": -11.24,"detectedAt": "2026-07-06T09:00:00.000Z"}
The first run pushes one baseline item per store (products tracked count). Every later run pushes only changes. A SUMMARY record reports per-run counts.
Pricing
Pay per event: a small fee per change detected. No underlying scraper costs — the Actor reads Shopify's public catalog JSON directly, so a daily monitor of 5 stores costs cents per month in platform usage plus the per-result fee only when something actually changes.
FAQ
Which stores does this work on?
Any Shopify storefront that exposes the standard public /products.json catalog (the default for Shopify stores). If a store has disabled it, you get a clear store_error item instead of silent gaps.
Why did my first run return almost nothing? By design: the first run saves the baseline and outputs one summary item per store. Changes start from the second run.
How is stock detected?
From the available flag on each variant in the public catalog. If a store's catalog does not expose availability, stock alerts are skipped for it (prices and new products still work).
Can I track more than 250 products per store?
Yes, raise maxProductsPerStore up to 1000. Products beyond the cap are ignored consistently and never generate false alerts.
Is this legal? The Actor reads a public, unauthenticated catalog endpoint that Shopify serves for every storefront, and collects no personal data. You are responsible for how you use the data.