Shopify Price Drop & Restock Monitor — Competitor Watch avatar

Shopify Price Drop & Restock Monitor — Competitor Watch

Pricing

from $5.00 / 1,000 store checkeds

Go to Apify Store
Shopify Price Drop & Restock Monitor — Competitor Watch

Shopify Price Drop & Restock Monitor — Competitor Watch

Returns a delta alert — price drop, new product, restock or price rise — the moment a competitor's Shopify store changes. No login, no cookies, no session required: reads each store's public /products.json. Built for ecommerce sellers and Shopify/Amazon merchants tracking a competitor set.

Pricing

from $5.00 / 1,000 store checkeds

Rating

0.0

(0)

Developer

Mohammed Samaan

Mohammed Samaan

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

12 hours ago

Last modified

Categories

Share

Shopify Products Scraper + Price Drop & Restock Monitor

Pull the full product catalog of any Shopify store — title, price, compare-at price, discount, availability, SKU, vendor, tags, images and product URL — as one clean row per variant. Or switch on monitor mode and get only what changed since the last run: price drops, restocks, new products, price rises.

No login, no cookies, no API key and no browser: every Shopify store publishes its catalog at /products.json, and this actor reads that directly.

Who it's for

  • Ecommerce sellers and dropshippers watching competitor pricing and stock
  • Agencies building product feeds, price-comparison sheets or catalog audits
  • Market researchers sizing a niche by scanning many stores at once
  • Automation builders (n8n / Make / Zapier / MCP agents) that need Shopify products as JSON

What you get

Scraper mode (default) — one row per product variant:

FieldWhat it is
storeStore origin, e.g. https://www.allbirds.com
title / variantProduct title and variant name (size, colour…)
price / compareAtPrice / discountPctCurrent price, strike-through price, discount %
availableIn stock (true/false)
sku / productId / variantIdIdentifiers
vendor / productType / tagsCatalog metadata
url / handleProduct page URL
image / imageCountFirst image URL and image count
createdAt / updatedAt / publishedAtShopify timestamps

Monitor mode (onlyChanges: true) — one row per change, with changeType = PRICE DROP / RESTOCK / NEW PRODUCT / PRICE RISE, plus was / now / drop / dropPct. The first run for a store returns the full catalog tagged INITIAL and saves the baseline, so it is never empty.

Sample scraper row:

{
"store": "https://www.allbirds.com",
"title": "Men's Tree Runners",
"variant": "Blizzard / 10",
"price": 98,
"compareAtPrice": 120,
"discountPct": 18.3,
"available": true,
"sku": "TR-M-BLZ-10",
"vendor": "Allbirds",
"url": "https://www.allbirds.com/products/mens-tree-runners"
}

Input

{
"stores": ["https://www.allbirds.com", "gymshark.com"],
"maxProducts": 2000,
"onlyChanges": false
}
  • stores — one Shopify store URL per line (any URL on the store works).
  • maxProducts — cap per store.
  • onlyAvailable — scraper mode: drop sold-out variants.
  • onlyChanges — off by default. On = monitor mode; pair with an Apify schedule. Choose which changes to report with alertOnPriceDrop, alertOnRestock, alertOnNewProduct, alertOnPriceRise.
  • webhookUrl — monitor mode: changes are POSTed as JSON.

Pricing

Pay per event: a small charge per store checked and a charge per change detected in monitor mode. Catalog product rows are currently not charged separately. Exact prices are on the Pricing tab. Error and status rows are not billed.

Monitor mode on a schedule

  1. Set onlyChanges: true and your competitor stores.
  2. Save as a Task and add an Apify Schedule (hourly or daily).
  3. Read the dataset, or set webhookUrl to push changes to Slack / Zapier.

FAQ

A store returned ERROR: http 401/403 or "not a JSON response". The store has password protection or has disabled the public products feed. Nothing to fix on your side — that store is not publicly readable.

Does it show exact inventory counts? No — Shopify's public feed exposes available (in stock / sold out), not quantities.

Is it only for Shopify? It works on any storefront that serves the Shopify-style /products.json format.

Send results to Notion (new, Sep 2026)

Authorize Notion once in Apify Console → Settings → API & Integrations → MCP connectors (choose Notion, sign in). Then pick that connector in Notion connector and paste the link of any Notion page in Notion page to create the table in. The first run creates a table inside that page and fills it with the price and stock changes (up to 500 rows per run; the full set is always in the dataset). To keep adding to the same table on later runs, paste the table ID from the log into Existing Notion table ID. This Actor never sees your Notion login: Apify's connector proxy holds it. If the Notion step fails, your dataset results are still delivered and the reason is logged.

Use it from an AI agent (MCP)

Add this Actor to any MCP client (Claude, Cursor, VS Code) with one URL:

https://mcp.apify.com?tools=leadharbor/ecommerce-price-restock-monitor

Or call it through the Apify API with an input like this:

{
"stores": [
"https://www.allbirds.com"
],
"alertOnPriceDrop": true,
"alertOnNewProduct": true,
"alertOnRestock": true,
"maxProducts": 100
}

Returns one alert per change on a Shopify store: price drop, price rise, new product, restock. Results land in the run's default dataset (JSON, CSV or Excel). No login or API key is needed for the sites it reads, and pay-per-event pricing works with Apify's x402 agent payments.

Changelog

28 Sep 2026 — Buyer max-charge cap now stops the run; optional Notion output for price drops, new products and restocks; MCP agent section. Plus 5 public example tasks with their own pages.

More from leadharbor


Using this actor? A quick review helps other buyers find it: ecommerce-price-restock-monitor