Shopify Store Scraper ⚡ Live Prices, Sales & Stock avatar

Shopify Store Scraper ⚡ Live Prices, Sales & Stock

Pricing

from $0.50 / 1,000 results

Go to Apify Store
Shopify Store Scraper ⚡ Live Prices, Sales & Stock

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

Malek Oweis

Maintained by Community

Actor 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

FieldMeaning
priceMin / priceMaxPrice range across all variants
compareAtMaxHighest "compare at" (was) price — set when on sale
onSaletrue when any variant's compare-at price is above its price
inStocktrue when at least one variant is available
vendor, productTypeBrand / category as set in Shopify
tags, tagCountStorefront tags
variantCount, imageCountCatalog completeness signals
descriptionLengthProduct description length (HTML stripped)
skuCoverageFraction of variants that have a SKU set
createdAt, updatedAt, publishedAtTimestamps — diff between runs to catch changes
flagsQuality issues found (see below)
urlDirect link to the product page

Flags

  • OUT_OF_STOCK — no variant available
  • ON_SALE — compare-at price above current price
  • NO_IMAGES / SINGLE_IMAGE — thin product media
  • NO_DESCRIPTION — empty description
  • NO_TAGS — no storefront tags
  • MISSING_SKU — one or more variants have no SKU
  • NO_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).
  • maxProductsPerStore0 for 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 priceMin between runs
  • Sale detection — alert when onSaleCount jumps for a competitor
  • New-product alerts — watch for new handles / recent publishedAt
  • 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.