Shopify Products Scraper - Prices, Variants, Stock & Changes avatar

Shopify Products Scraper - Prices, Variants, Stock & Changes

Pricing

from $0.50 / 1,000 products

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

Shopify Products Scraper - Prices, Variants, Stock & Changes

Scrape all products of any Shopify store: title, vendor, type, tags, price range, compare-at price and discount, every variant with SKU, options and availability, images and description, plus store info. Whole store or a collection. Track price and stock changes between runs.

Pricing

from $0.50 / 1,000 products

Rating

0.0

(0)

Developer

Alex

Alex

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Share

Shopify Products Scraper

Scrape all products of any Shopify store in seconds, without an API key: title, vendor, product type, tags, price range, compare-at price and discount, every variant with SKU, options (size, colour) and availability, images, description and dates, plus a store info row (name, currency, country, number of products).

Built for competitor price monitoring, dropshipping and product research, catalogue migration, and feeding product data into spreadsheets or AI tools.

Features

  • Any Shopify store: paste the store URL or domain. Works with custom domains.
  • Whole store or one collection: paste a collection URL like https://store.com/collections/sale.
  • Product rows or variant rows: variants as a list inside each product, or one row per size/colour for price lists.
  • Price and stock monitoring: turn on Only new and changed items and schedule the Actor. Each run returns new items, items whose price, compare-at price or availability changed (with previousPrice and previousAvailable), and removed items.
  • Filters: keywords (title, vendor, type, tags) and in-stock only.
  • Discounts calculated: discountPercent from compare-at price.

Output (variant mode)

{
"type": "variant",
"store": "https://www.allbirds.com",
"productTitle": "Women's Allbirds Flip Flop - Dusty Pink",
"variantTitle": "7",
"sku": "A12513W070",
"options": {"Size": "7"},
"price": 25.0,
"compareAtPrice": 50.0,
"discountPercent": 50.0,
"currency": "USD",
"available": true,
"vendor": "Allbirds",
"productType": "Shoes",
"tags": ["sale", "women"],
"url": "https://www.allbirds.com/products/womens-flip-flop-dusty-pink?variant=4012...",
"changeType": "changed",
"previousPrice": 35.0
}

Product mode returns one row per product with price (lowest), priceMax, available, variantsCount, variantsAvailable, the full variants list, images, description and descriptionHtml.

Input example

{
"stores": ["https://www.allbirds.com", "https://shop.example.com/collections/new-arrivals"],
"maxProductsPerStore": 0,
"outputMode": "variants",
"onlyChanges": true
}

Pricing

$0.50 per 1,000 products (product mode), $0.20 per 1,000 variants (variant mode), $0.001 per store info row. No subscription.

Use from code

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("alex9080/shopify-products-scraper").call(run_input={
"stores": ["https://www.allbirds.com"], "outputMode": "variants", "maxProductsPerStore": 0,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
if item["type"] == "variant":
print(item["sku"], item["price"], item["available"])

Notes

  • Works with stores that expose Shopify's public product feed (most do). A few stores disable it or sit behind bot protection; those are reported in the log and skipped.
  • Exact inventory counts are not public on Shopify; you get availability (in stock / sold out) per variant.