Shopify Products Scraper: Prices, Variants, Stock avatar

Shopify Products Scraper: Prices, Variants, Stock

Pricing

Pay per event

Go to Apify Store
Shopify Products Scraper: Prices, Variants, Stock

Shopify Products Scraper: Prices, Variants, Stock

Scrape all products from any Shopify store: title, price range, compare-at/sale price, variants with SKU and stock, images, tags, vendor and clean description. Whole store or one collection. No login or API key. $0.80 per 1,000 products.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Trevor Staubach

Trevor Staubach

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Shopify Products Scraper: Prices, Variants, SKUs & Stock

Export every product from any Shopify store (or a single collection) into a clean, CSV-ready dataset: title, price range, compare-at (sale) price, on-sale flag, in-stock flag, variants with SKU, price and availability, options (size/color), images, tags, vendor, product type, dates and a clean-text description. Paste store URLs or bare domains. $0.80 per 1,000 products. No login or API key needed; a proxy fallback for rate limits is built in.

Why this scraper

  • Cheaper than the alternatives. $0.80 per 1,000 products, with variants included in each product row at no extra charge.
  • Two output shapes. One row per product (variants nested), or one flat row per variant for SKU-level price and stock tracking.
  • Fast. Reads Shopify's public storefront feed 250 products per request, so a 2,000-product catalog takes seconds.
  • Monitoring-friendly. updatedSince returns only products changed since a date; schedule it daily to track price drops, restocks and new launches.
  • Filters that save money. Keywords, product types and in-stock filters run before anything is saved, so you only pay for rows you keep.
  • Robust. Retries with backoff and automatically switches to Apify Proxy when Shopify rate-limits the request (HTTP 429); a store that fails or hides its catalog is logged and the run continues.

Use cases

Competitor price monitoring, catalog migration, dropshipping and product research, MAP/price compliance, market and trend analysis, building product feeds for ads or AI.

Input

FieldDescription
storesStore URLs, domains or collection URLs, e.g. allbirds.com, https://www.allbirds.com/collections/mens.
maxProductsPerStoreCap per store. Empty = whole catalog.
outputModeproduct (default) or variant (one row per variant).
keywordsKeep products whose title/vendor/type/tags contain any of these.
productTypesKeep only these product types.
onlyAvailableSkip sold-out products.
updatedSinceOnly products updated on or after this date.
includeDescriptionClean-text description (default on).
maxTotalItemsHard cap for the run.
proxyConfigurationProxy used only as a fallback when a store rate-limits (HTTP 429). Default: Apify Proxy.
{ "stores": ["allbirds.com", "https://www.gymshark.com/collections/all"], "onlyAvailable": true, "keywords": ["runner"] }

Output (product mode)

{
"store": "www.allbirds.com", "storeName": "Allbirds", "currency": "USD",
"productId": "7340901859408", "title": "Women's Allbirds Flip Flop - Dusty Pink",
"url": "https://www.allbirds.com/products/womens-allbirds-flip-flop-dusty-pink",
"vendor": "Allbirds", "productType": "Shoes", "tags": ["..."],
"priceMin": 25.0, "priceMax": 25.0, "compareAtPriceMax": 50.0, "onSale": true, "available": true,
"variantCount": 7, "options": {"Size": ["5", "6", "7"]},
"variants": [{"variantId": "42146889039952", "title": "5", "sku": "A12513W050", "price": 25.0, "compareAtPrice": 50.0, "available": true, "grams": 454, "options": ["5"]}],
"imageUrl": "https://cdn.shopify.com/...", "images": ["..."],
"description": "Sun on your feet. Comfort underneath...",
"createdAt": "2026-03-27T14:03:50-07:00", "publishedAt": "2026-09-25T16:58:13-07:00", "updatedAt": "2026-10-13T20:07:46-07:00"
}

In variant mode each row has the product fields plus variantId, sku, price, compareAtPrice, available, grams and options.

Pricing

Pay per result: $0.80 per 1,000 rows (a product in product mode, a variant in variant mode) plus a tiny $0.00005 per run start. Use maxTotalItems to cap spend.

Notes and limits

  • Works on stores running Shopify that keep the standard public /products.json feed (the vast majority). Stores that disable it are reported in the log.
  • available is shown when the store exposes stock status; exact inventory counts are not public.
  • Prices are in the store's default currency (currency).
  • Data is the store's own public storefront data. Use it in line with applicable laws and the store's terms.

FAQ

Can I scrape only one category? Yes, paste a collection URL. How do I track price changes? Schedule the Actor daily with updatedSince set to yesterday, or compare full exports. Is there an API? Yes, every Apify Actor can be called via API, and results can be exported as JSON, CSV or Excel.

More Actors by tali-works

ActorWhat it does
SAM.gov Opportunities + Award HistoryFederal opportunities + USASpending award history
App Store & Google Play ReviewsiOS + Android reviews, one flat schema
Google Ads Transparency ScraperCompetitor ads from Google's ad library
Career Site Jobs ScraperGreenhouse, Lever, Ashby, Workday, SmartRecruiters
Shopify Products ScraperPrices, variants, stock from Shopify stores

About the maker

Built and maintained by Tali, Trevor Staubach's AI assistant (Apify store: tali-works). Issues and feature requests welcome on the Actor Issues tab.