Shopify Store Scraper - Products & Collections Extractor
Pricing
Pay per usage
Shopify Store Scraper - Products & Collections Extractor
Extract products, collections & inventory from any Shopify store. Multi-currency support, stock detection, anti-bot bypass. Fast, reliable & easy to use.
Pricing
Pay per usage
Rating
0.0
(0)
Developer

xquantify
Actor stats
0
Bookmarked
3
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
Extract comprehensive product data, collections, and inventory information from any Shopify store. This powerful Apify Actor supports multi-currency pricing, stock status detection, and advanced anti-bot protection bypass.
๐ FREE Tier: 500 Products/Month - No Credit Card Required!
Pay-Per-Event Pricing:
- โ 500 FREE products every month
- โ 50 FREE collections every month
- โ $0 monthly rental fee
- ๐ฐ After free tier: Just $2 per 1,000 products
- ๐ Scale from free to enterprise seamlessly
./PRICING.md
Features
Core Capabilities
- Extract All Products: Scrape complete product catalogs from any Shopify store
- Collection Scraping: Fetch all collections with product counts and metadata
- Single Product Mode: Extract detailed data from specific product URLs
- Multi-Currency Support: Get prices in any currency (USD, EUR, GBP, etc.)
- Stock Status Detection: Automatically detect InStock/OutOfStock status for products
- Variant Support: Extract all product variants with individual pricing and inventory
- Image Extraction: Get all product images in high resolution
- Anti-Bot Protection: Advanced techniques to bypass Shopify's gateway restrictions
Advanced Features
- Currency Passthrough: Automatic currency conversion using Shopify's API
- Inventory Tracking: Real-time stock quantities for each variant
- Pagination Handling: Automatically handles stores with thousands of products
- Rate Limiting: Smart delays and retry logic to avoid blocks
- Residential Proxies: Built-in proxy support for restricted stores
- Comprehensive Data: Extract titles, descriptions, prices, SKUs, tags, vendors, and more
Use Cases
- Price Monitoring: Track competitor pricing across multiple Shopify stores
- Market Research: Analyze product trends and inventory levels
- Dropshipping: Find trending products and monitor stock availability
- Product Database: Build comprehensive product catalogs
- Inventory Management: Monitor stock levels across multiple stores
- E-commerce Analytics: Gather data for business intelligence
Input Configuration
Basic Setup
{"startUrls": [{ "url": "https://example.myshopify.com" }],"mode": "PRODUCTS","currency": "USD","checkStock": true}
Input Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
startUrls | Array | Yes | List of Shopify store URLs to scrape |
mode | String | Yes | Scraping mode: PRODUCTS, COLLECTIONS, SINGLE_PRODUCT, or ALL |
currency | String | No | ISO currency code (e.g., USD, EUR, GBP) |
collectionUrls | Array | No | Specific collection URLs to scrape products from |
productUrls | Array | No | Specific product URLs (for SINGLE_PRODUCT mode) |
maxProducts | Integer | No | Maximum number of products to scrape |
maxCollections | Integer | No | Maximum number of collections to scrape |
includeVariants | Boolean | No | Include all product variants (default: true) |
includeImages | Boolean | No | Include product images (default: true) |
includeDescription | Boolean | No | Include full descriptions (default: true) |
includeCategories | Boolean | No | Include categories/collections each product belongs to (default: false) |
checkStock | Boolean | No | Check stock status (default: true) |
proxyConfiguration | Object | No | Proxy settings (recommended: residential proxies) |
Scraping Modes
1. All Products Mode (PRODUCTS)
Extracts all products from the store or specific collections.
{"startUrls": [{ "url": "https://store.myshopify.com" }],"mode": "PRODUCTS","currency": "USD"}
2. Collections Mode (COLLECTIONS)
Extracts only collection information without products.
{"startUrls": [{ "url": "https://store.myshopify.com" }],"mode": "COLLECTIONS"}
3. Single Product Mode (SINGLE_PRODUCT)
Extracts detailed data for specific products.
{"startUrls": [{ "url": "https://store.myshopify.com" }],"mode": "SINGLE_PRODUCT","productUrls": ["https://store.myshopify.com/products/awesome-product"],"checkStock": true}
4. Everything Mode (ALL)
Extracts both collections and all products.
{"startUrls": [{ "url": "https://store.myshopify.com" }],"mode": "ALL","currency": "EUR"}
Output Format
Product Data - Complete Field List
All products include the following fields:
Basic Information:
type: "product"id: Unique product IDtitle: Product title/namehandle: URL-friendly product handleurl: Full product URLvendor: Brand/vendor nameproductType: Product type/categorytags: Array of product tagscreatedAt: Product creation datepublishedAt: Product publish dateupdatedAt: Last update date
Pricing:
price: Minimum variant pricepriceMax: Maximum variant price (if different)compareAtPrice: Minimum compare-at price (original price)compareAtPriceMax: Maximum compare-at price (if different)currency: ISO currency code (USD, EUR, GBP, etc.)onSale: Boolean indicating if product is on sale
Availability & Stock:
stockStatus: "InStock" or "OutOfStock"availableForSale: Boolean availability flagtotalInventory: Total inventory count (if checkStock enabled)availableVariants: Number of available variantstotalVariants: Total number of variants
Taxability:
taxable: Boolean indicating if any variant is taxableallVariantsTaxable: Boolean indicating if all variants are taxabletaxCodes: Array of unique tax codes (if available)
SKUs:
skus: Array of all unique SKUs across variants
Categories:
categories: Array of collections/categories this product belongs to (if includeCategories enabled)categoriesCount: Number of categories
Images:
images: Array of all product images with metadatafeaturedImage: URL of the main product imageimagesCount: Total number of images
Variants: (if includeVariants enabled)
variants: Array of all product variantsvariantsCount: Total number of variants
Options:
options: Product option configurations (Size, Color, etc.)
Description:
description: Plain text description (if includeDescription enabled)descriptionHtml: HTML formatted description (if includeDescription enabled)
Example Product Output
{"type": "product","id": 1234567890,"title": "Amazing Product","handle": "amazing-product","url": "https://store.myshopify.com/products/amazing-product","vendor": "Brand Name","productType": "Electronics","tags": ["new", "featured", "sale"],"createdAt": "2024-01-15T10:30:00Z","publishedAt": "2024-01-16T08:00:00Z","updatedAt": "2024-03-20T15:45:00Z","price": "99.99","priceMax": "149.99","compareAtPrice": "129.99","compareAtPriceMax": "159.99","currency": "USD","onSale": true,"stockStatus": "InStock","availableForSale": true,"totalInventory": 150,"availableVariants": 3,"totalVariants": 6,"taxable": true,"allVariantsTaxable": true,"skus": ["ABC-001", "ABC-002", "ABC-003"],"description": "Full product description...","descriptionHtml": "<p>Full product description...</p>","featuredImage": "https://cdn.shopify.com/...","imagesCount": 5,"images": [{"id": 12345,"src": "https://cdn.shopify.com/...","alt": "Product image","width": 2048,"height": 2048}],"variantsCount": 6,"variants": [{"id": 98765,"title": "Small / Black","sku": "ABC-001","barcode": "123456789012","price": "99.99","compareAtPrice": "129.99","available": true,"inventoryQuantity": 45,"inventoryManagement": "shopify","inventoryPolicy": "deny","taxable": true,"taxCode": null,"option1": "Small","option2": "Black","option3": null,"weight": 500,"weightUnit": "g","requiresShipping": true,"fulfillmentService": "manual"}],"options": [{"name": "Size","position": 1,"values": ["Small", "Medium", "Large"]},{"name": "Color","position": 2,"values": ["Black", "White", "Red"]}],"categoriesCount": 2,"categories": [{"id": 111111,"handle": "best-sellers","title": "Best Sellers","url": "https://store.myshopify.com/collections/best-sellers"},{"id": 222222,"handle": "electronics","title": "Electronics","url": "https://store.myshopify.com/collections/electronics"}]}
Collection Data
{"type": "collection","id": 123456,"handle": "best-sellers","title": "Best Sellers","url": "https://store.myshopify.com/collections/best-sellers","description": "Our top selling products...","productsCount": 24,"updatedAt": "2024-03-15T12:00:00Z"}
Anti-Bot Protection Bypass
This actor implements multiple techniques to bypass Shopify's anti-bot protection:
- Randomized Headers: Uses realistic browser headers that rotate with each request
- User-Agent Rotation: Cycles through multiple modern browser user agents
- Rate Limiting: Smart delays between requests (1-3 seconds)
- Retry Logic: Exponential backoff for rate-limited requests
- Proxy Support: Compatible with Apify's residential proxy network
- JSON API Access: Uses Shopify's public JSON endpoints (faster and more reliable)
Recommended Proxy Configuration
For stores with strict bot protection, use residential proxies:
{"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Currency Support
The actor supports Shopify's multi-currency feature. Simply specify the desired currency code:
{"currency": "EUR"}
Supported currencies include: USD, EUR, GBP, CAD, AUD, JPY, and all other ISO 4217 currency codes.
Stock Status Detection
The actor automatically detects product availability:
- InStock: Product or at least one variant is available
- OutOfStock: All variants are unavailable
Stock detection includes:
- Variant-level availability
- Inventory quantities
- Inventory management settings
- Product-level availability flags
Performance & Limits
- Speed: ~500-1000 products per minute (depending on store and proxy)
- Scalability: Handles stores with 100,000+ products
- Memory: ~256MB RAM recommended
- Timeout: 30 seconds per request with automatic retries
Best Practices
- Use Proxies: Enable residential proxies for stores with strict protection
- Limit Products: Use
maxProductsfor testing to avoid long runs - Currency: Always specify currency for accurate pricing
- Rate Limiting: The actor automatically handles rate limiting - don't reduce delays
- Error Handling: Check actor logs for any failed requests
Troubleshooting
Access Denied (403 Error)
- Enable residential proxies in proxy configuration
- Some stores block datacenter IPs
Rate Limited (429 Error)
- The actor automatically handles this with exponential backoff
- Consider reducing concurrent requests if issues persist
Missing Products
- Some products may be unlisted or password-protected
- Check if the store requires authentication
Incorrect Prices
- Verify the currency code is correct
- Some stores may not support all currencies
SEO Keywords
shopify scraper, shopify product scraper, shopify data extraction, shopify api scraper, ecommerce scraper, product price monitoring, shopify inventory scraper, shopify collection scraper, shopify store data, extract shopify products, shopify web scraping, apify shopify, shopify crawler, shopify product extractor, shopify data mining
Support & Feedback
- Issues: Report bugs via GitHub or Apify Console
- Feature Requests: Suggest improvements in the actor discussion
- Documentation: Full API docs available on Apify
License
Apache-2.0
Ready to extract Shopify data? Click the "Try for free" button and start scraping in minutes!