Shopify Competitor Price Monitor avatar

Shopify Competitor Price Monitor

Pricing

Pay per usage

Go to Apify Store
Shopify Competitor Price Monitor

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

David

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

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.json catalog endpoint that Shopify exposes on every storefront.
  • Resilient: a store that fails to fetch is reported as store_error and 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_change events 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.