Shopify Product Scraper avatar

Shopify Product Scraper

Pricing

from $1.50 / 1,000 products

Go to Apify Store
Shopify Product Scraper

Shopify Product Scraper

Shopify Product Scraper extracts product data from any Shopify store, capturing titles, prices, descriptions, images, variants, availability, ratings, and SKUs — ideal for market research, competitor analysis, and e-commerce monitoring.

Pricing

from $1.50 / 1,000 products

Rating

0.0

(0)

Developer

FalconScrape

FalconScrape

Maintained by Community

Actor stats

1

Bookmarked

7

Total users

0

Monthly active users

7 days ago

Last modified

Share

Shopify Product Scraper

Easily extract product data from any Shopify store. The Shopify Product Scraper uses a multi-strategy approach to reliably gather structured product information, even from stores that block common scraping methods.

Features

  • Multi-Strategy Scraping: Automatically picks the best approach — fast JSON endpoint (/products.json) when available, sitemap + HTML fallback when blocked.
  • Comprehensive Product Data: Retrieve titles, descriptions, prices, variants, images, availability, ratings, SKUs, and more.
  • Variant IDs & Barcodes: Every variant carries its Shopify variant ID and a direct ?variant= URL. Turn on includeBarcodes to add the raw UPC/EAN/GTIN each store publishes, with a checksum check.
  • Honest Stock & Currency: Out-of-stock variants are reported as out of stock, unknown availability stays null, and the currency comes from the store's own session (currencySource tells you where it came from).
  • Proxy Support: Configure proxies to handle rate-limited or geo-restricted stores.
  • Configurable Limits: Set a maximum number of products to scrape, or scrape the entire catalog.

How It Works

  1. Enter a Store URL — Provide any Shopify store URL (e.g. https://www.allbirds.com).
  2. Run the Scraper — The Actor detects the best scraping strategy and extracts product data automatically.
  3. Get Structured Data — Results are saved to a dataset as structured JSON.

Input

FieldTypeRequiredDefaultDescription
storeUrlStringYes—The Shopify store URL to scrape (e.g. https://www.allbirds.com).
maxProductsIntegerNo100Maximum number of products to scrape. Leave empty to scrape all products.
includeBarcodesBooleanNofalseAdds raw variant barcodes from the store's public product .js endpoint. One extra request per product.
proxyConfigurationObjectNo—Proxy settings for rate-limited or geo-restricted stores.

Barcodes, stock and missing data

  • barcode is exactly what the store publishes (leading zeroes kept). barcodeCheck is valid-checksum, invalid-checksum or not-gtin. A valid checksum does not prove the code is GS1-registered, and a missing barcode does not mean the product has none. Barcodes are never guessed from SKUs.
  • barcodeLookup shows what happened to the barcode request: ok, not-found (the store has no public product page for this feed record), failed (request error) or skipped (the store does not serve the endpoint, so the scraper stopped asking). variantsCapped: true means the product has 250+ variants and Shopify may not have returned all of them.
  • available and availableForSale are true, false or null when the store does not say. On product-page data, availability keeps the raw schema.org value (e.g. OutOfStock, PreOrder).
  • A price of 0 is a real zero price (e.g. free add-ons), not missing data.

Sample Output Data

The scraper provides structured JSON output with detailed product information. Example:

[
{
"url": "https://www.allbirds.com/products/mens-tree-runners",
"handle": "mens-tree-runners",
"shopifyId": 123456789,
"title": "Men's Tree Runners",
"description": "Light, breezy, and ready for warm weather.",
"brand": "Allbirds",
"productType": "Shoes",
"tags": ["mens", "runners", "tree"],
"price": 98,
"compareAtPrice": null,
"currency": "USD",
"currencySource": "cart.js",
"images": [
{
"url": "https://cdn.shopify.com/s/files/1/image.jpg",
"width": 1024,
"height": 1024,
"position": 1
}
],
"variants": [
{
"id": 41334293889104,
"url": "https://www.allbirds.com/products/mens-tree-runners?variant=41334293889104",
"title": "10 / Kauri Marine Blue",
"sku": "TR-MW10-KMB",
"barcode": "196942208243",
"barcodeCheck": "valid-checksum",
"price": 98,
"compareAtPrice": null,
"available": true,
"availability": null,
"option1": "10",
"option2": "Kauri Marine Blue",
"option3": null
}
],
"options": [
{ "name": "Size", "values": ["8", "9", "10", "11", "12"] },
{ "name": "Color", "values": ["Kauri Marine Blue", "Basin Green"] }
],
"availableForSale": true,
"rating": 4.5,
"reviewCount": 320,
"color": "Kauri Marine Blue",
"material": "Tree fiber",
"sku": "TR-MW10-KMB",
"createdAt": "2024-01-15T10:00:00Z",
"updatedAt": "2025-02-01T08:30:00Z",
"source": "products.json",
"barcodeLookup": "ok",
"variantsCapped": false
}
]

Start scraping Shopify product data with Shopify Product Scraper today!