Shopify Store Scraper - Products, Prices, Sales & Stock avatar

Shopify Store Scraper - Products, Prices, Sales & Stock

Pricing

from $0.35 / 1,000 results

Go to Apify Store
Shopify Store Scraper - Products, Prices, Sales & Stock

Shopify Store Scraper - Products, 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.35 / 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

3 days ago

Last modified

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).
  • maxProductsPerStore — 0 for no limit (up to 50,000).
  • proxyConfiguration — the starting connection. Leave it off: blocked stores are retried through residential proxies, then the Unblocker, automatically.

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 setup needed. Each store is tried directly first. If a store blocks the request (HTTP 403/429 or non-JSON, common on big brands like Allbirds), the Actor automatically retries that store through Apify residential proxies, then the Apify Unblocker, and stays on whichever tier worked. A few stores (e.g. Gymshark) have switched their public /products.json feed off entirely; those are reported in the log and skipped.

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.

Use it from an AI agent (Claude, ChatGPT, Cursor, any MCP client)

This Actor works as a tool for AI agents through Apify's MCP server. Add it to your AI app with this MCP URL:

https://mcp.apify.com/?tools=malek_oweis/shopify-store-product-price-scraper

Then just ask in plain language. Example prompt:

Get every product from allbirds.com with price, sale price and stock, and tell me which items are discounted.

Questions this Actor answers

  • What products does this Shopify store sell, and at what prices?
  • Which items in this Shopify store are on sale or out of stock right now?
  • Track a competitor's Shopify prices and alert me when they change.
  • Export a Shopify store's full product catalog to CSV.
  • Compare price ranges across three Shopify stores in the same niche.

Free sample dataset

Want to see real output before running it? A free sample collected with this Actor (October 2026) is published on Hugging Face and GitHub, as CSV and JSONL, together with samples from the other Actors below.

More resale and e-commerce data tools by the same developer

Notes

Reads only the public /products.json endpoint that Shopify exposes on every storefront by default. No login, no private data.