Shopify Store Products Scraper avatar

Shopify Store Products Scraper

Pricing

from $2.49 / 1,000 results

Go to Apify Store
Shopify Store Products Scraper

Shopify Store Products Scraper

Shopify Store Scraper SD - Shopify Store Scraper is an e-commerce data tool that extracts every product, variant and collection of any Shopify store: prices, compare-at prices, SKUs, stock flags, inventory, barcodes, images, tags and vendors. No login needed.

Pricing

from $2.49 / 1,000 results

Rating

0.0

(0)

Developer

Neuro Scraper

Neuro Scraper

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 days ago

Last modified

Share

Shopify Store Scraper

Shopify Store Scraper exports the catalogue of any Shopify store - every product, every variant or every collection - from the store's own public storefront JSON. No login, no API key, no browser.

  • Products: one row per product with price range, compare-at price, availability, options, nested variants, tags, images, description and dates.
  • Variants: one row per variant (size, colour ...) with SKU, price, compare-at price and stock flag.
  • Collections: one row per collection with product count, image and description.
  • Stock quantities (optional): per-variant inventoryQuantity, inventoryPolicy and barcode where the store publishes them.
  • Headless stores (Hydrogen / Next.js front ends) are read through the store's own *.myshopify.com domain, which the scraper reads from the store's home page on every run. Stores without any JSON route fall back to the sitemap and the product pages' schema.org data.

Input

FieldTypeDescription
startUrlsarrayStore home page (https://www.allbirds.com, whole catalogue), collection URL (/collections/<handle>), product URL (/products/<handle>) or a bare domain (allbirds.com).
outputTypeproducts / variants / collectionsRow type. Default products.
maxItemsintegerMaximum rows in total. Default 20.
includeInventorybooleanAdds stock quantity, inventory policy and barcode per variant (one extra request per product). Default off.
proxyConfigurationproxyDefault Apify automatic proxy; use RESIDENTIAL if a store answers 403/429.

Output (products)

FieldExample
id, title, handle, url4870548979792, Men's Tree Runner - Jet Black (White Sole), mens-tree-runners, product URL
vendor, productType, tagsAllbirds, Shoes, [...]
price, priceMax, compareAtPrice, onSale, currency100.0, 100.0, null, false, USD
available, totalInventory (with inventory)true, 55
variantsCount, options, variants[]7, [{"name":"Size","values":[...]}], {id, title, sku, barcode, options, price, compareAtPrice, available, inventoryQuantity, inventoryPolicy, grams, ...}
image, images, description, descriptionHtmlfirst image, all images, plain text, original HTML
createdAt, updatedAt, publishedAtISO dates from Shopify
collectionHandleset when the input was a collection URL
storeName, storeDomain, source, inputUrl, scrapedAtAllbirds, www.allbirds.com, products.json

Variant rows carry variantId, productId, productTitle, variantTitle, sku, options, price, compareAtPrice, currency, available, grams, image, url (?variant=<id>) and the product fields. Collection rows carry id, title, handle, url, productsCount, description, image, publishedAt, updatedAt.

Measured limits (2026-10-03)

  • Shopify serves at most 25,000 products per listing (Page * Limit exceeds the 25000 limit., measured on kith.com with 25,001 products). For larger stores add collection URLs - each collection is its own listing.
  • A collection's productsCount can be higher than what its listing returns (kith productsize-10: 849 vs 304 listed; allbirds: 107 vs 43) - the listing holds the products published to the online store.
  • inventoryQuantity exists only where the store publishes it (allbirds, colourpop: yes; gymshark: the key is absent, barcode present).
  • Speed: 250 products per request, about 1-2 s per page (600 products in 6 s). includeInventory and the sitemap fallback cost one request per product (about 1 s each).
  • Sitemap fallback (stores with no JSON route, e.g. bombas.com): title, brand, SKU, price, availability, images and description only - no Shopify ids, variants or dates, and prices/availability follow the visitor's country (BDT from a Bangladesh IP).
  • Password-protected stores and non-Shopify sites are skipped with an error line.

Example

{"startUrls": [{"url": "https://www.allbirds.com"}], "outputType": "variants", "maxItems": 500, "includeInventory": false}