~/ecommerce/shopify-scraper

Shopify Scraper — Any Store's Product Data

Professional-grade tool for extracting high-fidelity product data from any Shopify-powered store including collections, search, and product recommendations.

general TypeScriptCheerio Global
proooxy/shopify-scraper — spec
categoryecommerce / general
languageTypeScript
stackTypeScript, Cheerio
marketsGlobal
outputclean, RAG-ready JSON

key features

Universal — works with any Shopify-powered store

Store-wide catalog extraction and search support

Product recommendations (up to 20 per product)

Collection and individual product scraping

Tag and category extraction

Currency normalization (prices x100) for precision

Real per-variant inventory counts (opt-in)

Selling plans, subscriptions, and product videos

Barcode/GTIN, weight, and B2B volume price breaks

use cases

  • Market research across Shopify stores in any niche
  • Competitive analysis for DTC brands
  • Product catalog aggregation for comparison platforms
  • Trend monitoring across independent e-commerce stores
  • Building product recommendation datasets
  • Price monitoring for resellers

input parameters

ParameterTypeRequiredDescription
startUrlsarrayrequiredShopify store URLs — product, collection, or store home
querystringoptionalSearch query to find products within a store
maxRequestsPerCrawlnumberoptionalRequest limit (default: 100, 0 = unlimited)
maxResultsnumberoptionalStop after this many products (default: 0, unlimited)
maxRecommendationsPerProductnumberoptionalRecommended products to fetch (default: 0, max: 20)
grabRealInventorybooleanoptionalRead true per-variant stock counts where the store exposes them
maxInventoryFetchesnumberoptionalCap on inventory lookups per run (default: 200)
grabStorefrontDetailbooleanoptionalFetch selling plans, videos, and B2B price breaks
maxStorefrontFetchesnumberoptionalCap on storefront detail lookups per run (default: 200)
proxyobjectoptionalResidential proxy recommended for best results

Output Example

 1{
 2  "source": {
 3    "id": "8286776623232",
 4    "canonicalUrl": "https://kith.com/products/khm034601-004",
 5    "retailer": "Kith",
 6    "language": "en",
 7    "currency": "USD"
 8  },
 9  "brand": "Kith",
10  "title": "Kith Garment-Dyed Paneled Donovan Tee - Shadow",
11  "description": "<p>Moisture-wicking recycled polyester</p><p>Garment-dyed</p><p>Ribbed neckline</p>…",
12  "categories": ["Long Sleeve Tees"],
13  "tags": ["apparel", "k-tech", "…"],
14  "options": [
15    {
16      "type": "Size",
17      "values": [
18        { "id": "XS", "name": "XS" },
19        { "id": "S", "name": "S" }
20      ]
21    }
22  ],
23  "variants": [
24    {
25      "id": "45144565416064",
26      "title": "XS",
27      "sku": "2000292008",
28      "options": ["XS"],
29      "price": { "current": 13000, "previous": 0, "stockStatus": "InStock" },
30      "requiresShipping": true,
31      "taxable": true,
32      "weightGrams": 381
33    }
34  ],
35  "medias": [
36    { "id": "41607480410240", "type": "Image", "url": "https://cdn.shopify.com/s/files/1/0094/2252/files/KHM034601-004-Detail.jpg?v=1789500153", "variantIds": [], "alt": "" }
37  ]
38}

faq

Does this work with any Shopify store?
Yes, the scraper works with any store powered by Shopify. It leverages Shopify's standard product data structure, which is consistent across all stores.
Can I search for specific products?
Yes, use the query parameter to search within a specific store. This is useful for finding specific product types without scraping the entire catalog.
How are product recommendations extracted?
Set maxRecommendationsPerProduct to fetch related products. Up to 20 recommendations are available per product, useful for building product graphs.

related in ~/ecommerce

Run Shopify Scraper — Any Store's Product Data, or get a custom build

Start extracting on Apify in minutes, or hire me to build a bespoke scraper and RAG pipeline for your exact source and schema.

run on Apify get custom data