Shopify Products.json Scraper — Price & Stock Monitor avatar

Shopify Products.json Scraper — Price & Stock Monitor

Pricing

from $0.70 / 1,000 results

Go to Apify Store
Shopify Products.json Scraper — Price & Stock Monitor

Shopify Products.json Scraper — Price & Stock Monitor

Scrape public Shopify /products.json catalogs (optional collections). One dataset row per variant. Monitor price_up/down and stock_in/out between runs. No login, no browser. Soft-fails blocked (403) stores.

Pricing

from $0.70 / 1,000 results

Rating

0.0

(0)

Developer

David Tu

David Tu

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Share

Scrape public Shopify store catalogs via /products.json and optionally detect price / stock / new-product changes between runs. One dataset row per variant. Optional collection handles. No login, no browser, no residential proxies. Soft-fails stores that return HTTP 403.

Also see the Greenhouse / Lever / Ashby Jobs Scraper + Monitor and Workday Jobs Scraper + Monitor for hiring-signal monitoring.

What does this Shopify products.json scraper do?

  • 🛒 Multi-store catalog export. Page through /products.json?limit=250 (or selected collections).
  • 💲 One row per variant. Price, compare-at, SKU, availability, image, product URL.
  • 📡 Monitor mode. Remembers variant fingerprints and emits only new / price_up / price_down / stock_in / stock_out / removed.
  • 🎯 Filters. Title, vendor, product type, tags, in-stock only, caps.
  • 🛡️ Polite. Per-host throttling, retries on 429/5xx, per-shop RUN_SUMMARY (ok / blocked / not_found / error / skipped).

Who uses it?

Ecommerce analysts and brand teams

Export competitor catalogs and track price_up / price_down and stock_in / stock_out on a schedule without building your own crawler.

Price intelligence and MAP monitoring

Watch a watchlist of Shopify stores; pay only for change rows in monitor mode.

Product data / aggregators

Ingest structured variant-level rows (SKU, price, availability, image URL) from public /products.json.

Input

FormatExample
Domainallbirds.com
With wwwwww.allbirds.com
Full URLhttps://www.allbirds.com

Path and query are ignored; the Actor always hits the shop origin.

Example: sample export

{
"shops": ["allbirds.com"],
"maxProductsPerShop": 10,
"maxProductsTotal": 50
}

Example: daily price & stock monitor

{
"shops": ["allbirds.com"],
"monitorMode": true,
"monitorStateKey": "footwear",
"outputPriceChanges": true,
"outputStockChanges": true,
"outputRemoved": true,
"skipExistingOnFirstRun": true
}

Output example

{
"productKey": "shopify:www.allbirds.com:7340901859408:42146889203792",
"status": "active",
"shop": "www.allbirds.com",
"shopName": "Allbirds",
"productId": "7340901859408",
"handle": "womens-allbirds-flip-flop-dusty-pink",
"title": "Women's Allbirds Flip Flop - Dusty Pink",
"vendor": "Allbirds",
"productType": "Shoes",
"tags": ["shoprunner"],
"variantId": "42146889203792",
"sku": "A12513W100",
"variantTitle": "10",
"price": 25,
"compareAtPrice": 50,
"currency": "USD",
"available": true,
"grams": 594,
"imageUrl": "https://cdn.shopify.com/...",
"productUrl": "https://www.allbirds.com/products/womens-allbirds-flip-flop-dusty-pink",
"collectionHandle": null,
"sourceApiUrl": "https://www.allbirds.com/products.json?limit=250&page=1",
"scrapedAt": "2026-10-09T08:00:00.000Z"
}

A RUN_SUMMARY record in the run key-value store lists every shop with status and counts.

Monitor mode

  • State lives in key-value store shopify-catalog-monitor-state under your Monitor state key.
  • Fingerprint per variant: { price, available, title }.
  • First run: all matching variants as new, or baseline-only if Skip existing on first run is on.
  • Later runs: only changes (and optionally removed).
  • Variants not output because of max/budget caps are not marked seen / updated, so the next run delivers them.

Pricing

$1.00 per 1,000 variant rows, pay per result (pay-per-event). You pay only for rows saved to your dataset, plus a tiny Apify start fee per run ($0.00005). There is no monthly rental, and in monitor mode you pay only for change rows.

Apify plan discountPrice per 1,000 variant rows
Free / Starter$1.00
Bronze$0.90
Silver$0.80
Gold and above$0.70

Examples at $1.00 / 1,000:

  • Sample of 10 products × ~5 variants ≈ 50 rows ≈ $0.05.
  • A daily monitor that emits ~200 change rows/day ≈ 6,000 rows/month ≈ $6/month.

Set Max products per shop / Max variant rows in total or the run's maximum cost to cap spending.

FAQ

What is /products.json?

Most public Shopify storefronts expose a paginated JSON catalog at https://{shop}/products.json. This Actor reads that feed (and optional /collections/{handle}/products.json) — no theme HTML scraping.

Why one row per variant?

Shopify products often have many sizes/colors. Billing and monitoring are per variant row (price and stock change at variant level).

A shop shows blocked (403). Why?

Some brands block anonymous /products.json access. The Actor soft-fails those stores (status blocked in RUN_SUMMARY) and continues with others. v1 does not spend residential proxies.

Can I scrape only one collection?

Yes. Set Collection handles to crawl /collections/{handle}/products.json instead of the full catalog.

Do I need login or a browser?

No. Public JSON only. Password-protected / headless stores are not supported.

How is this different from a full-page catalog dump?

You get variant-level rows plus optional monitor mode (price_up / price_down / stock_in / stock_out / new / removed) so scheduled runs stay cheap.

Limitations

  • Public JSON only. Does not scrape theme HTML, cart, checkout, or customer accounts.
  • Some brands return 403 on /products.json. Those are reported as blocked in RUN_SUMMARY. No residential proxy spend in v1.
  • Currency comes from /meta.json when available; otherwise null.
  • Password-protected / headless stores are not supported.
  • Large catalogs (tens of thousands of products) take more wall time; use caps or collection handles.
ActorUse for
Greenhouse / Lever / Ashby Jobs Scraper + MonitorATS job boards + hiring signals
Workday Jobs Scraper + Monitor*.myworkdayjobs.com CXS career boards