Shopify Scraper (PPE)
Pricing
Pay per event
Shopify Scraper (PPE)
Shopify Scraper (PPE) is a professional-grade crawling tool designed to extract high-fidelity product data from any e-commerce store built on the Shopify platform. This version uses the **Pay-Per-Event** pricing model, meaning you only pay for the products and collections you actually scrape.
Pricing
Pay per event
Rating
5.0
(1)
Developer

Autofactor
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Shopify Scraper (PPE) is a professional-grade crawling tool designed to extract high-fidelity product data from any e-commerce store built on the Shopify platform. This version uses the Pay-Per-Event pricing model, meaning you only pay for the products and collections you actually scrape.
Why Use Shopify Scraper (PPE)?
- 💵 Cost-Effective: Pay only for results—no flat fees or wasted compute on empty runs.
- 📊 Market Research: Analyze competitor pricing, inventory, product variants, and descriptions to sharpen your strategy.
- 📈 Trend Monitoring: Track new product launches and stock status changes across multiple brands in real-time.
- 🗂️ Data Aggregation: Build comprehensive product catalogs by aggregating data from various Shopify-based stores.
- 🎯 Marketing Insights: Understand how successful brands structure their metadata, tags, and categories.
Key Features
- 💰 Pay-Per-Event Pricing: Only pay for the products and collections you actually scrape—no wasted compute costs.
- 🔍 Search Support: Find products by keyword using the built-in search functionality.
- 🎁 Product Recommendations: Optionally fetch recommended products for each item (configurable limit).
- 🚀 Store-wide Extraction: Capable of crawling an entire store's catalog, from collections to individual products.
- 🎯 Precision Targeting: Fetch specific collections or singular product URLs with surgical precision.
- 💱 Currency Normalization: Automatically handles currency selection and formats prices (multiplied by 100) to ensure financial accuracy without floating-point errors.
- 📦 Comprehensive Data: Extracts everything: titles, descriptions, images, options (size/color), variants, and real-time stock status.
- 🛡️ Resilience: Includes logic to bypass common gateway restrictions and handle "InStock"/"OutOfStock" parsing robustly.
🔄 Need to monitor prices daily? Check out our Shopify Scraper (Rental Model) for just $5/month. It's designed for scheduled, recurring monitoring.
Important Note
On certain Shopify websites, multiple SKUs may be visually merged into a single product page. Please be aware that this scraper treats each SKU as an individual product entry and does not perform any merging of these SKUs.
How it Works
1. Verification
Before running the scraper, verify your target is a Shopify store:
- Navigate to
https://<domain>/admin(e.g.,https://gymshark.com/admin). - If you see a Shopify login page, the site is compatible.
2. Configuration
The scraper accepts a JSON input defining the target URLs and scraping behavior.
| Parameter | Type | Required | Description |
|---|---|---|---|
startUrls | Array | Yes | A list of URLs to scrape (Homepage, Collection, or Product URLs). |
proxy | Object | Yes | Proxy configuration. Residential proxies are highly recommended to avoid blocks. |
maxRequestsPerCrawl | Integer | No | Limit the number of products scraped. Set to 0 for unlimited (default 100). |
maxRecommendationsPerProduct | Integer | No | Number of recommended products to fetch per product. Set to 0 to disable (default 0). Max 20. |
query | String | No | Search query to find specific products. |
Input Examples
| Use Case | Input JSON |
|---|---|
| Scrape all products from a store | { "startUrls": [{ "url": "https://kith.com" }], "maxRequestsPerCrawl": 0, "proxy": { "useApifyProxy": true } } |
| Scrape products from a collection | { "startUrls": [{ "url": "https://kith.com/collections/kith-tops" }], "maxRequestsPerCrawl": 0, "proxy": { "useApifyProxy": true } } |
| Scrape a single product page | { "startUrls": [{ "url": "https://kith.com/products/kith-williams-iii-hoodie-black" }], "proxy": { "useApifyProxy": true } } |
| Search products by keyword | { "startUrls": [{ "url": "https://kith.com" }], "query": "hoodie", "proxy": { "useApifyProxy": true } } |
| Fetch product with recommendations | { "startUrls": [{ "url": "https://kith.com/products/kith-williams-iii-hoodie-black" }], "maxRecommendationsPerProduct": 10, "proxy": { "useApifyProxy": true } } |
| Limit total scraped results | { "startUrls": [{ "url": "https://kith.com" }], "maxRequestsPerCrawl": 100, "proxy": { "useApifyProxy": true } } |
| Scrape with custom currency | { "startUrls": [{ "url": "https://kith.com/collections/kith-tops?currency=EUR" }], "proxy": { "useApifyProxy": true } } |
3. Output
Data is stored in the default dataset. The scraper outputs either Product or Collection objects.
Troubleshooting
| Issue | Possible Cause | Solution |
|---|---|---|
| 0 Results Found | The site may not be Shopify-based or has strong anti-bot protection. | Verify with the /admin trick. Try using residential proxies. |
| Access Denied / 403 | Your IP has been flagged. | Enable useApifyProxy and ensure you have sufficient proxy quota. |
| Incorrect Price | Currency mismatch or raw integer format. | Remember prices are x100 (e.g., 2000 = 20.00). Ensure ?currency=XYZ param is used if supported. |
TODO
- Review fetch support
- Real stock monitoring
- 7/30 day sales estimation