Shopify Store Scraper ⚡ Live Prices, Sales & Stock
Pricing
from $0.50 / 1,000 results
Shopify Store Scraper ⚡ Live Prices, Sales & Stock
Read a Shopify store's whole live catalog in seconds, straight from its own feed — always current, never a stale cache. Every product: price + variant range, sale price, stock, vendor, type, tags, images. Plus sale detection, out-of-stock and missing-SKU flags and a per-store price summary.
Pricing
from $0.50 / 1,000 results
Rating
0.0
(0)
Developer
Malek Oweis
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Point this at any Shopify store and get its entire live catalog back in seconds — price, sale price, stock, variants, images, tags — read straight from the store's own product feed, so it's always current, never a stale cache. No login, no private data.
Where a plain scraper stops at raw fields, this one adds the analysis a price/catalog monitor actually needs: sale detection, out-of-stock and missing-SKU flags, variant price ranges, and a per-store price summary (avg / min / max, on-sale count, out-of-stock count).
What you get per product
| Field | Meaning |
|---|---|
priceMin / priceMax | Price range across all variants |
compareAtMax | Highest "compare at" (was) price — set when on sale |
onSale | true when any variant's compare-at price is above its price |
inStock | true when at least one variant is available |
vendor, productType | Brand / category as set in Shopify |
tags, tagCount | Storefront tags |
variantCount, imageCount | Catalog completeness signals |
descriptionLength | Product description length (HTML stripped) |
skuCoverage | Fraction of variants that have a SKU set |
createdAt, updatedAt, publishedAt | Timestamps — diff between runs to catch changes |
flags | Quality issues found (see below) |
url | Direct link to the product page |
Flags
OUT_OF_STOCK— no variant availableON_SALE— compare-at price above current priceNO_IMAGES/SINGLE_IMAGE— thin product mediaNO_DESCRIPTION— empty descriptionNO_TAGS— no storefront tagsMISSING_SKU— one or more variants have no SKUNO_PRICE— no parseable price on any variant
Input
{"storeUrls": ["https://www.allbirds.com", "taylorstitch.com"],"maxProductsPerStore": 1000,"proxyConfiguration": { "useApifyProxy": false }}
storeUrls— bare domain, full URL, or any page on the store (only the domain is used).maxProductsPerStore—0for no limit (up to 50,000).proxyConfiguration— most stores need no proxy. Turn one on only if a store returns HTTP 403 or non-JSON (some sit behind Cloudflare/Akamai).
Output
One dataset row per product, plus a STORE_SUMMARY key-value record per store with
productsScraped, onSaleCount, outOfStockCount, avgPrice, minPrice, maxPrice.
Example row
{"store": "taylorstitch.com","title": "The Tiller Half Zip in Rinsed Indigo Slub","url": "https://www.taylorstitch.com/products/tiller-half-zip-in-rinsed-indigo-slub-2607","vendor": "Taylor Stitch","productType": "Knits","tags": ["knits", "half-zip", "indigo"],"tagCount": 31,"variantCount": 6,"priceMin": 138.0,"priceMax": 138.0,"compareAtMax": null,"onSale": false,"inStock": true,"imageCount": 9,"descriptionLength": 812,"skuCoverage": 1.0,"createdAt": "2026-01-14T09:02:11-08:00","updatedAt": "2026-09-03T11:40:55-07:00","publishedAt": "2026-01-15T06:00:00-08:00","flags": []}
Use cases
- Competitor price monitoring — schedule daily, diff
priceMinbetween runs - Sale detection — alert when
onSaleCountjumps for a competitor - New-product alerts — watch for new
handles / recentpublishedAt - Catalog QA — audit your own store for missing images, descriptions, SKUs
- Market research — pull an entire niche's pricing into a spreadsheet
FAQ
Does it need a proxy?
No, for most stores. Shopify serves /products.json publicly. Only stores behind
Cloudflare / Akamai need a proxy — set proxyConfiguration to { "useApifyProxy": true }
if a store returns HTTP 403 or non-JSON.
How fast is it? Very. It reads a paginated JSON feed (250 products per request), no headless browser. A full 1,000-product catalog typically finishes in a few seconds.
How current is the data? It is the store's own live feed — the same data the storefront renders. There is no cache layer; every run reflects the catalog at run time.
Is this allowed?
It reads only the public /products.json endpoint Shopify exposes on every store by
default, i.e. public data any visitor can see. It never logs in and never touches
customer, order or checkout data. Respect each store's terms and your local laws.
A store returned nothing / was skipped. The owner disabled the public product feed, or the store isn't Shopify. The run logs a warning and moves on to the next store.
Can I get only new or changed products?
Run it on a schedule and diff priceMin / updatedAt / the set of handles between
runs — new handles are new products, changed priceMin is a price move.
Notes
Reads only the public /products.json endpoint that Shopify exposes on every
storefront by default. No login, no private data.