# Shopify Products Scraper (`simpleapi/shopify-products-scraper`) Actor

Use Shopify Products Scraper to gather structured product information from Shopify stores. Extract prices, variants, images, and stock status for analytics, reporting, and automation workflows.

- **URL**: https://apify.com/simpleapi/shopify-products-scraper.md
- **Developed by:** [SimpleAPI](https://apify.com/simpleapi) (community)
- **Categories:** E-commerce, Automation, Lead generation
- **Stats:** 2 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$19.99/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#rental-actors

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

If you’re searching for the best Shopify Products Scraper, you’re in the right place. This guide explains everything you need to know—features, use cases, input/output formats, and scalability—presented in a clean, skimmable, and professional format 💡

* * *

### 🔍 What does Shopify Products Scraper do?

A Shopify Products Scraper is a powerful tool designed to collect public product data from Shopify-based stores automatically 🧠. Instead of manually copying product details one by one, this scraper gathers structured information such as product titles, prices, descriptions, images, variants, and availability in minutes.

Whether you’re using a shopify products scraper free, a shopify products scraper online, or an advanced Apify Shopify Scraper, the goal is the same: save time and gain accurate product insights 📊. Businesses, researchers, and developers rely on it to analyze competitors, track pricing changes, and build datasets at scale.

Unlike a simple shopify product scraper chrome extension, this solution supports bulk extraction, structured outputs, and automation. From beginners to advanced users exploring shopify scraper python or shopify product scraper github projects, this tool adapts to diverse needs effortlessly ⚡.

* * *

### 📦 What Shopify Products Scraper can I extract?

The Shopify Products Scraper can extract a wide range of structured product information from Shopify stores 🛒. Below is a clear overview of the most common data types you can collect:

| 🧾 Data Type | 📌 Description |
| --- | --- |
| Product Title | Official name of the product |
| Product Handle / URL | Unique product page link |
| Description | Full HTML or plain-text description |
| Price | Current selling price |
| Compare-at Price | Original or discounted price |
| Variants | Size, color, SKU, and variant prices |
| Images | All product image URLs |
| Availability | In-stock or out-of-stock status |
| Vendor / Brand | Product brand name |
| Tags & Categories | Product classification labels |

Using tools like shopify products scraper by meetanshi, shopify scraper by shopscan, or a shopify products scraper app, you can collect this data in bulk. Compared to manual browsing or limited browser tools, a dedicated Shopify Products Scraper delivers cleaner, reusable datasets ready for analysis, migration, or reporting 📈.

* * *

#### ⚙️ Key Features of Shopify Products Scraper

The Shopify Products Scraper stands out due to its flexibility, performance, and ease of use 🌟. Here are its most valuable features:

*   ✅ Bulk Product Extraction – Scrape thousands of products from multiple Shopify stores in one run  
      
    
*   ✅ Structured Output – Receive clean JSON or CSV data, ready for databases or spreadsheets  
      
    
*   ✅ Variant-Level Details – Capture every product variation with pricing and SKUs  
      
    
*   ✅ Fast & Scalable – Ideal for both small shops and large Shopify catalogs  
      
    
*   ✅ Customizable Inputs – Control what data you want to collect  
      
    
*   ✅ Beginner-Friendly – Works smoothly as a shopify products scraper online or app  
      
    
*   ✅ Developer-Ready – Compatible with workflows similar to shopify scraper python projects  
      
    
*   ✅ Cloud-Based Runs – No local setup required, unlike many shopify product scraper chrome extension tools  
      
    

Compared to open-source tools from shopify product scraper github, this scraper offers better reliability, speed, and structured results—making it a preferred choice for professionals 💼.

* * *

### 🛠️ How to use Shopify Products Scraper

Using the Shopify Products Scraper is simple and beginner-friendly—even if you’ve never used a scraper before 😊. Follow this step-by-step guide:

#### 📌 Step-by-Step Guide

1.  Log in to Apify  
    Create a free account or sign in to your existing dashboard.  
      
    
2.  Select the Actor  
    Search for “Shopify Products Scraper” in the Apify Store.  
      
    
3.  Enter Input Data  
    Paste one or multiple Shopify store URLs or product URLs into the input field.  
      
    
4.  Choose Options  
    Decide whether you want all products, specific collections, or selected fields only.  
      
    
5.  Run the Actor  
    Click Start, and the scraper will begin collecting product data automatically ⚙️.  
      
    
6.  Download Results  
    Export the data in JSON, CSV, or Excel format for immediate use.  
      
    

This process is far more efficient than relying on a shopify product scraper chrome extension or manual copy-paste. Whether you’re testing a shopify products scraper free plan or running large-scale jobs, the workflow remains smooth and reliable 🚀.

* * *

### 🎯 Use Cases

The Shopify Products Scraper supports a wide range of real-world applications across industries 🌍:

*   🛒 E-commerce Research – Analyze competitors’ products, pricing, and variants  
      
    
*   📊 Market Analysis – Track trends across multiple Shopify stores  
      
    
*   🔁 Store Migration – Move products between Shopify stores quickly  
      
    
*   📢 Marketing Teams – Build product catalogs for ads and promotions  
      
    
*   🧠 Data Research – Collect datasets for academic or business research  
      
    
*   🤖 Automation Workflows – Integrate with tools similar to apify shopify scraper pipelines  
      
    

Compared to tools like shopify products scraper by meetanshi or shopify scraper by shopscan, this solution handles larger datasets with more control. It’s also more flexible than a typical shopify products scraper app, making it ideal for both solo founders and enterprise teams 💼.

* * *

### 🌟 Why choose us?

Choosing the right Shopify Products Scraper makes a huge difference in data quality and efficiency 💎. Here’s why users trust this solution:

*   ⭐ High Accuracy – Clean, structured, and reliable product data  
      
    
*   ⚡ Fast Performance – Handles thousands of products without delays  
      
    
*   🔒 Secure & Stable – Cloud-based runs with consistent uptime  
      
    
*   🧩 Flexible Setup – Suitable for beginners and advanced users alike  
      
    
*   📈 Scalable Design – Grows with your data needs  
      
    
*   🤝 Trusted Platform – Built on the reliable Apify ecosystem  
      
    

While options like shopify products scraper free tools or GitHub scripts exist, they often require setup, maintenance, and troubleshooting. This scraper removes that friction, delivering professional-grade results with minimal effort ✨.

* * *

### 📊 How many results can you scrape with Shopify Products Scraper?

The Shopify Products Scraper is built for scalability 🔥. Whether you need a handful of products or massive catalogs, it adapts effortlessly.

*   🧱 Small Stores – Scrape dozens of products in seconds  
      
    
*   🏬 Medium Stores – Hundreds to thousands of products in a single run  
      
    
*   🏢 Large Stores – Tens of thousands of products with pagination support  
      
    

Unlike a shopify product scraper chrome extension, which is limited by browser performance, this scraper runs in the cloud ☁️. You can queue multiple stores, collections, or product URLs without slowing down your system.

Compared to community tools from shopify product scraper github, this solution offers better reliability and fewer interruptions. Users switching from shopify scraper by shopscan or shopify products scraper by meetanshi often notice smoother large-scale extraction and cleaner outputs.

In short, the limit depends on your selected plan and runtime settings—but the scraper is fully capable of handling enterprise-level product volumes 📈.

* * *

### ⚖️ Is it legal to scrape Shopify?

Scraping public Shopify product data is a common practice, but it should always be done responsibly ⚠️. The Shopify Products Scraper only collects information that is publicly visible on store pages.

Key considerations include:

*   📜 Respecting website terms and policies  
      
    
*   🔐 Avoiding private or restricted data  
      
    
*   🤝 Using collected data ethically and fairly  
      
    

Many businesses use tools like shopify products scraper online solutions for research, comparison, and analytics. When used correctly, a Shopify Products Scraper supports legitimate business activities without disrupting store operations.

* * *

### 🧾 Input Parameters

#### 📌 Example Input (JSON)
```json
{
  "startUrls": [
    "https://lootcrate.com",
    "https://www.decathlon.com"
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
````

### 📤 Output Format

#### 📌 Example Output (JSON)

```json
{
  "https://lootcrate.com": {
    "total_found": 5,
    "processed": 5,
    "successful": 5,
    "products": [
      {
        "url": "https://lootcrate.com/products/loot-crate",
        "json_url": "https://lootcrate.com/products/loot-crate.json",
        "data": {
          "product": {
            "id": 5083963261059,
            "title": "Loot Crate",
            "body_html": "<p>Product description...</p>",
            "vendor": "Loot Crate Core",
            "product_type": "Subscription Box",
            "created_at": "2020-07-07T14:17:32-07:00",
            "handle": "loot-crate",
            "updated_at": "2025-12-28T22:57:43-08:00",
            "published_at": "2023-03-09T06:53:59-08:00",
            "tags": "Subscription, Collectibles, Pop Culture",
            "variants": [
              {
                "id": 34197535719555,
                "product_id": 5083963261059,
                "title": "S / XS",
                "price": "29.99",
                "compare_at_price": "24.99",
                "sku": "1010126US",
                "inventory_management": "shopify",
                "weight": 0.0,
                "weight_unit": "lb",
                "requires_shipping": true
              }
            ],
            "images": [
              {
                "id": 123456789,
                "product_id": 5083963261059,
                "src": "https://cdn.shopify.com/...",
                "width": 2000,
                "height": 2000,
                "alt": "Product image"
              }
            ]
          }
        }
      }
    ]
  }
}
```

### ❓ FAQ – Shopify Products Scraper

#### 1️⃣ Is there a shopify products scraper free option?

Yes, free plans are available with usage limits.

#### 2️⃣ Can I scrape multiple stores at once?

Absolutely! Bulk store extraction is supported.

#### 3️⃣ Is this better than a chrome extension?

Yes 👍 It’s faster, scalable, and cloud-based.

#### 4️⃣ Does it work like shopify scraper python tools?

Yes, but without manual setup or maintenance.

#### 5️⃣ Can beginners use it?

100% 🚀 No technical skills required.

#### 6️⃣ Is it similar to shopify products scraper by meetanshi?

It offers more flexibility and scalability.

#### 7️⃣ Does it support Apify workflows?

Yes, it integrates seamlessly as an Apify Shopify Scraper.

### ✅ Conclusion 🛍️

The Shopify Products Scraper is a reliable solution for collecting structured product data from Shopify stores with speed and accuracy 🚀. Whether you’re analyzing competitors, building catalogs, or managing large datasets, it simplifies data collection while supporting small and large-scale needs—making it a practical choice for modern eCommerce workflows 📊.

***

✨ Start collecting Shopify product data smarter, faster, and at scale with the ultimate Shopify Products Scraper.

# Actor input Schema

## `startUrls` (type: `array`):

List one or more Shopify store URLs (e.g., https://lootcrate.com, https://www.decathlon.com). Supports bulk input.

## `proxyConfiguration` (type: `object`):

Choose which proxies to use. By default, no proxy is used. If the platform rejects or blocks the request, it will automatically fallback to datacenter proxy, then residential proxy with 3 retries.

## Actor input object example

```json
{
  "startUrls": [
    "https://lootcrate.com"
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        "https://lootcrate.com"
    ],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("simpleapi/shopify-products-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": ["https://lootcrate.com"],
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("simpleapi/shopify-products-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    "https://lootcrate.com"
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call simpleapi/shopify-products-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=simpleapi/shopify-products-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Shopify Products Scraper",
        "description": "Use Shopify Products Scraper to gather structured product information from Shopify stores. Extract prices, variants, images, and stock status for analytics, reporting, and automation workflows.",
        "version": "0.1",
        "x-build-id": "ejSB6C3zRnAjXlTZy"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/simpleapi~shopify-products-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-simpleapi-shopify-products-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/simpleapi~shopify-products-scraper/runs": {
            "post": {
                "operationId": "runs-sync-simpleapi-shopify-products-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/simpleapi~shopify-products-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-simpleapi-shopify-products-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "startUrls"
                ],
                "properties": {
                    "startUrls": {
                        "title": "Shopify Store URLs",
                        "type": "array",
                        "description": "List one or more Shopify store URLs (e.g., https://lootcrate.com, https://www.decathlon.com). Supports bulk input.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Choose which proxies to use. By default, no proxy is used. If the platform rejects or blocks the request, it will automatically fallback to datacenter proxy, then residential proxy with 3 retries."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
