Tools / Shopify Store Products Scraper & Price Monitor

Shopify Store Products Scraper & Price Monitor

Export every product from any Shopify store (or one collection) via the store's public products.json. Input: stores. Output (JSON/CSV): one row per item with store, title, vendor, productType, minPrice, maxPrice, compareAtPrice, onSale, available, variantCount.

Run it on Apify Store →

What it's for

Example input

{
 "stores": [
  "allbirds.com",
  "https://www.allbirds.com/collections/mens",
  "colourpop.com",
  "example.com"
 ],
 "maxProductsPerStore": 5,
 "monitorMode": true
}

Example output

{
  "store": "https://www.allbirds.com",
  "productId": 7205191974992,
  "title": "Men's Dasher NZ - Anthracite (Dark Anthracite Sole)",
  "handle": "mens-dasher-nz-anthracite",
  "url": "https://www.allbirds.com/products/mens-dasher-nz-anthracite",
  "vendor": "Allbirds",
  "productType": "Shoes",
  "tags": [
    "allbirds::carbon-score => undefined",
    "allbirds::cfId => color-ec0dcc8441508c674c885b8c8a990cfa",
    "allbirds::complete => true",
    "allbirds::edition => limited",
    "…"
  ],
  "minPrice": 140,
  "maxPrice": 140,
  "compareAtPrice": null,
  "onSale": false,
  "available": true,
  "variantCount": 13,
  "availableVariants": 3,
  "image": "https://cdn.shopify.com/s/files/1/1104/4168/files/A12416_26Q1_Dasher-NZ-Anthracite-Dark-Anthr_PDP_LEFT.png?v=1768948005",
  "imageCount": 5,
  "options": [
    {
      "name": "Size",
      "values": [
        "8",
        "8.5",
        "9",
        "9.5",
        "…"
      ]
    }
  ]
}

Input reference

FieldTypeNotes
stores requiredarrayShopify store domains or URLs. A /collections/<handle> URL limits to that collection.
maxProductsPerStoreintegerMax products per store
outputVariantsbooleanOtherwise one row per product with min/max price.
keywordsarrayKeep products whose title/vendor/type/tags contain any of these.
includeDescriptionbooleanInclude description
maxConcurrencyintegerConcurrency
monitorModebooleanRemember prices and stock; flag changes, new and removed products.
onlyChangedbooleanIn monitor mode, output only changed products.
stateStoreNamestringNamed key-value store for monitor state.

Pricing

Pay per event: Product (or variant) row $0.0005, Price/stock/new/removed change (monitor) $0.002. Plus Apify's small per-run start fee. Apify's free plan includes monthly credit to try it.

How to run

  1. Open the Store page and click Try for free.
  2. Fill in the input (or paste the example JSON in the JSON tab).
  3. Click Start, then export results as CSV, Excel or JSON, or call it via the Apify API.
  4. Optional: add a Schedule and a webhook/Slack/email integration for ongoing monitoring.

Open Shopify Store Products Scraper & Price Monitor on Apify →