Shopify Product Scraper & Price Change Monitor
Pricing
from $2.50 / 1,000 product variant rows
Shopify Product Scraper & Price Change Monitor
Scrape any Shopify store: every product, variant, price and stock level as clean rows. Run it on a schedule and get only what changed — price moves, new products, and out-of-stock alerts.
Pricing
from $2.50 / 1,000 product variant rows
Rating
0.0
(0)
Developer
Feedwright Studio
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Get every product, variant, price and stock level from any Shopify store as clean, exportable rows. Then put it on a schedule and get told only what changed — new products, price moves, and anything that went out of stock.
Who this is for
- Ecommerce and marketing agencies keeping an eye on a client's competitors
- Brand and pricing teams who need to know the moment a rival discounts
- Retail and wholesale buyers tracking stock and new releases across suppliers
- Analysts and researchers who need a catalogue as a spreadsheet, not a screenshot
If you have ever asked someone to "check their prices again" or kept a manual list of SKUs in a spreadsheet, this replaces that job.
Two modes
Full catalogue
Paste one or more store addresses and get back one row per variant: product title, variant, SKU, price, compare-at price, stock status, vendor, type, tags, image and a direct link.
Changes only
Run it on a schedule. Each run compares against the previous one for that store and returns just the differences:
new_product · removed_product · new_variant · removed_variant · price_increase ·
price_decrease · back_in_stock · out_of_stock · title_changed
Every change row carries the old value and the new value, so a price move reads as
14.00 → 11.20, not just "something changed."
Try it
Run it with the defaults. It will read a real store and return its full catalogue so you can see the exact shape of the output before configuring anything.
Then paste your own store addresses. Any format works — a plain domain, a full product URL, a collection page with query parameters. It is all reduced to the right store.
Example output
One row per variant:
| store | product_title | variant_title | sku | price | compare_at_price | available |
|---|---|---|---|---|---|---|
| examplestore.com | Cold Brew Concentrate | 32 oz | CB-32 | 24.00 | 28.00 | true |
| examplestore.com | Cold Brew Concentrate | 64 oz | CB-64 | 41.00 | false |
And in changes-only mode:
| change_type | product_title | variant_title | field | old_value | new_value |
|---|---|---|---|---|---|
| price_decrease | Cold Brew Concentrate | 32 oz | price | 28.00 | 24.00 |
| out_of_stock | Cold Brew Concentrate | 64 oz | available | true | false |
| new_product | Winter Blend Whole Bean |
What you pay for
Pricing is per delivered result, and you are only charged for results you actually receive.
| Mode | What you pay for |
|---|---|
| Full catalogue | Each product row returned |
| Changes only | Each store successfully checked, plus each change found |
You are never charged for:
- A run that fails
- A store that cannot be reached, is rate limiting, or is not a Shopify store
- A run that returns nothing
- Changes that did not happen. That includes the first run in changes-only mode: it has no previous state to compare against, so it reports no changes and bills none.
The first changes-only run does still pay the store check, because the store was read and compared. That store check is the only charge on a baseline run.
In changes-only mode you pay for the changes, not for the full catalogue that has to be read in order to find them. Watching a six-thousand-variant store that moved three prices costs you three changes, not six thousand rows.
Limits and what it will not do
- Reads public storefront catalogue data only — the same product information any shopper sees. It does not touch customer data, orders, or anything behind a login.
- A small number of stores turn their public product feed off. When that happens you are told clearly, and not charged.
- Some stores rate limit aggressively. Enable the datacenter proxy option if you hit that; most stores do not need it.
- There is a maximum-products-per-store ceiling so a very large catalogue cannot produce a surprise bill. Raise it when you need more.
- If one store in a list fails, the others still run. You get the results that worked plus an honest note about the one that did not.
Getting your results out
Results are available as JSON, CSV, Excel, or through the API, and can be pushed to your own systems with a webhook. The run summary records what was collected, what changed, and any store that failed along with the reason.
Scheduling
Changes-only mode is built to be scheduled. Daily or weekly both work well. Each run remembers the previous state per store, so you can add and remove stores from the list without losing history for the others.
Support
Found a problem or need a field that is not here? Open an issue on this tool. Issues are answered the same business day.