Price Drop & Stock Monitor: Shopify & WooCommerce Alerts
Under maintenancePricing
from $1.00 / 1,000 products
Price Drop & Stock Monitor: Shopify & WooCommerce Alerts
Under maintenanceWatch any Shopify or WooCommerce store and get a row for every price drop or increase, sell-out, restock, launch and removal since the last run. Schedule it and pipe changes anywhere. First run builds a free baseline; you only pay per product checked and per real change found.
Pricing
from $1.00 / 1,000 products
Rating
0.0
(0)
Developer
Michael Yousrie
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Watch any Shopify or WooCommerce store and get a clean row for everything that changed since your last check: price drops, price increases, sell-outs, restocks, new products and removed products.
A scraper tells you what a store sells today. This tells you what your competitor did overnight: which products they discounted, what they quietly raised, what sold out, and what they just launched. That is the part worth acting on, and the part you cannot see by looking at the store.
Run it on a schedule (hourly, daily, weekly) and pipe the dataset anywhere Apify integrates: Slack, email, Google Sheets, Zapier, Make, or your own webhook.
What you get
| Field | What it tells you |
|---|---|
changeType | price_drop, price_increase, out_of_stock, back_in_stock, new_product or removed_product. Runs with nothing to report emit one free receipt row per store instead: baseline (first run), no_changes (quiet day) or not_compared (hit the cap), each with an offersChecked count and a plain-language note. |
oldPrice / newPrice | The price before and after the change. |
priceChangePct | The move as a percentage, negative for drops. |
title / variantTitle | The product, down to the exact variant on Shopify. |
available | Whether the offer is in stock right now. |
url | The product page, ready to open or send. |
store / platform | Which store and which platform it runs on. |
checkedAt | When this run checked the store (UTC). |
Example output
{"store": "example-store.com","platform": "shopify","offerKey": "8734712398:45123409821","title": "Trail Runner SWT","variantTitle": "US 10 / Charcoal","url": "https://example-store.com/products/trail-runner-swt","sku": "TR-SWT-10-CHR","currency": "USD","changeType": "price_drop","oldPrice": 145.0,"newPrice": 98.0,"priceChangePct": -32.41,"available": true,"checkedAt": "2026-08-12T09:00:00+00:00"}
What to use it for
Competitor price intelligence
Point it at competitor stores and schedule a daily run. Every discount, price rise and stockout lands in one dataset, with percentages, ready for a Slack alert or a pricing meeting. This is the core of what re-pricing SaaS charges hundreds a month for.
Restock and drop alerts
Watch a /collections/sale URL or a product you resell. back_in_stock and price_drop rows are exactly the alert, and Apify's integrations turn them into an email or webhook without any code.
Catalog change feeds
Agencies and marketplaces: monitor client or supplier stores and get new_product and removed_product rows as a feed, instead of re-scraping full catalogs and diffing them yourself.
How it works
- Shopify stores are read through the public
products.jsonendpoint and monitored per variant, because that is where prices actually change. Currency is detected from the storefront. - WooCommerce stores are read through the public Store API and monitored per product, with prices correctly converted from the API's integer minor units.
- The platform is detected automatically per store; you can also pin it in the input.
- Each run stores a compact baseline in a key-value store and compares the next run against it. No login, no browser, no API keys.
Pricing, and what is never charged
You pay one small event per offer checked plus one premium event per change found. Everything below is free, by design:
- The first run for a store. It establishes the baseline; every offer would be trivially "new", which is not an insight, so it is not billed as changes.
- Stores that cannot be fetched. Not Shopify or WooCommerce, endpoint blocked, site down: you get an error row, not a bill.
- Capped runs. If a store's catalog is larger than
Max products per store, the fetched slice cannot be honestly compared against the last run (catalog order is not stable), so nothing is compared and nothing is charged for changes. Raise the cap or monitor a collection URL instead. - Changes you turned off. Untracked change types are neither reported nor billed.
- Unchanged offers. Even with
Include unchanged offerson, only real changes bill as changes. - Receipt rows. A store with nothing to report still leaves one
baseline,no_changesornot_comparedrow so you can see the check happened. Receipts are never billed as changes.
Tips
- Set a threshold.
Minimum price change (%)at 2 to 5 filters out penny jitter. Small moves are remembered, not lost: once a price has drifted past the threshold in total, one change fires against the original price. - Scope big Shopify stores with a
/collections/...URL. Each collection gets its own baseline. - Two schedules, two baselines. Running hourly and daily over the same stores? Give each schedule its own
Baseline storename so they do not overwrite each other.