Shopify Product Scraper & Price / Inventory Monitor
Pricing
from $20.00 / 1,000 change detecteds
Shopify Product Scraper & Price / Inventory Monitor
Scrape any Shopify store's full product catalog and monitor price & inventory changes — via the public products.json endpoint. No login, no proxies.
Pricing
from $20.00 / 1,000 change detecteds
Rating
0.0
(0)
Developer
Pepe Schuster
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 hours ago
Last modified
Categories
Share
Scrape any Shopify store's full product catalog and monitor price & inventory changes — via the public products.json endpoint. No login, no proxies.
This Actor reads each store's public product feed — no login, no API key, and no proxies — and returns clean, structured data you can download as JSON, CSV, or Excel, or pull straight from the Apify API. It works on the vast majority of stores on the platform.
Features
- 🏬 Any store, many at once — pass one or a list of store URLs and scrape them all in a single run.
- 🎯 Clean structured output — every result is a flat record (
shop,title,url,vendor,minPrice,maxPrice,available,variantsCount,_change). - 🔔 Schedule it — runs on a schedule and returns only what changed since last time, so you get an alertable feed, not a re-dump.
- ⚡ Fast & reliable — uses the storefront's own public feed, so it's cheap to run and doesn't break on layout changes.
- 🔌 Integrates everywhere — JSON/CSV/Excel, plus the API, webhooks, Zapier, Make, Google Sheets, and 5,000+ integrations.
Who it's for
DTC & dropshipping researchers, competitor-price and MAP-monitoring tools, brand and assortment analysts, and deal/affiliate publishers.
Common use cases
- Track a set of competitor stores' catalogs, prices, and stock
- Feed a repricing engine or a deal/affiliate site
- Spot new launches, sell-outs, and markdowns early
Input
| Field | Type | Description |
|---|---|---|
shopUrls | array | One or more Shopify store domains or URLs (e.g. 'gymshark.com' or 'https://kith.com'). The scraper reads each store's public /products.json — no login needed. Works on any store running on Shopify. Required. |
maxProductsPerShop | integer | Cap the number of products fetched per store. Set 0 for the full catalog. |
includeVariants | boolean | Include the full per-variant breakdown (SKU, price, compare-at price, availability). Turn off for a lighter, one-row-per-product output. |
monitorMode | boolean | Compare against the previous run and output only what changed: new products, price drops/increases, restocks, and delisted items. Perfect for a scheduled run — turns this into a price/inventory change feed. |
monitorStoreName | string | Named key-value store that holds the previous snapshot used for change detection. Use one stable name per watch (e.g. 'watch-competitors'). Leave default if you only run one watch. |
Example input
{"shopUrls": ["https://www.allbirds.com"],"maxProductsPerShop": 0,"includeVariants": true,"monitorMode": true,"monitorStoreName": "example"}
Output
One record per change. Example output:
{"shop": "store.example.com","title": "Example Product","url": "https://store.example.com/products/item","vendor": "Example Product","minPrice": 29.99,"maxPrice": 29.99,"available": true,"variantsCount": 3,"_change": "price-drop"}
Fields: shop, title, url, vendor, minPrice, maxPrice, available, variantsCount, _change. Download as JSON, CSV, XML, or Excel — or fetch from the dataset API.
Pricing
Pay-per-result — you're billed only for the records you actually get, with no monthly fee and no charge for empty runs. Far cheaper than a monitoring SaaS subscription.
FAQ
Do I need a login or API key? No — it reads the store's public product feed. Which stores work? Any store that exposes the standard public product endpoint (the vast majority). Can I get change alerts? Yes — schedule this Actor and it emits only the deltas each run; pipe them to a webhook, Slack, or Google Sheets. How fresh is the data? It's fetched live on every run. What formats can I export? JSON, CSV, Excel, XML, or via the API.
Notes
Please scrape responsibly and within each store's terms of service.