Shopify Store Scraper - Products & Collections Extractor
by xquantify
Extract products, collections & inventory from any Shopify store. Multi-currency support, stock detection, anti-bot bypass. Fast, reliable & easy to u...
Opens on Apify.com
About 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.
What does this actor do?
Shopify Store Scraper - Products & Collections Extractor is a web scraping and automation tool available on the Apify platform. It's designed to help you extract data and automate tasks efficiently in the cloud.
Key Features
- Cloud-based execution - no local setup required
- Scalable infrastructure for large-scale operations
- API access for integration with your applications
- Built-in proxy rotation and anti-blocking measures
- Scheduled runs and webhooks for automation
How to Use
- Click "Try This Actor" to open it on Apify
- Create a free Apify account if you don't have one
- Configure the input parameters as needed
- Run the actor and download your results
Documentation
Shopify Store Scraper - Products & Collections Extractor 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 See full pricing details → ## 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 json { "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. json { "startUrls": [{ "url": "https://store.myshopify.com" }], "mode": "PRODUCTS", "currency": "USD" } ### 2. Collections Mode (COLLECTIONS) Extracts only collection information without products. json { "startUrls": [{ "url": "https://store.myshopify.com" }], "mode": "COLLECTIONS" } ### 3. Single Product Mode (SINGLE_PRODUCT) Extracts detailed data for specific products. json { "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. json { "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 ID - title: Product title/name - handle: URL-friendly product handle - url: Full product URL - vendor: Brand/vendor name - productType: Product type/category - tags: Array of product tags - createdAt: Product creation date - publishedAt: Product publish date - updatedAt: Last update date Pricing: - price: Minimum variant price - priceMax: 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 flag - totalInventory: Total inventory count (if checkStock enabled) - availableVariants: Number of available variants - totalVariants: Total number of variants Taxability: - taxable: Boolean indicating if any variant is taxable - allVariantsTaxable: Boolean indicating if all variants are taxable - taxCodes: 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 metadata - featuredImage: URL of the main product image - imagesCount: Total number of images Variants: (if includeVariants enabled) - variants: Array of all product variants - variantsCount: 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 json { "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 json { "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: 1. Randomized Headers: Uses realistic browser headers that rotate with each request 2. User-Agent Rotation: Cycles through multiple modern browser user agents 3. Rate Limiting: Smart delays between requests (1-3 seconds) 4. Retry Logic: Exponential backoff for rate-limited requests 5. Proxy Support: Compatible with Apify's residential proxy network 6. 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: json { "proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] } } ## Currency Support The actor supports Shopify's multi-currency feature. Simply specify the desired currency code: json { "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 1. Use Proxies: Enable residential proxies for stores with strict protection 2. Limit Products: Use maxProducts for testing to avoid long runs 3. Currency: Always specify currency for accurate pricing 4. Rate Limiting: The actor automatically handles rate limiting - don't reduce delays 5. 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!
Categories
Common Use Cases
Market Research
Gather competitive intelligence and market data
Lead Generation
Extract contact information for sales outreach
Price Monitoring
Track competitor pricing and product changes
Content Aggregation
Collect and organize content from multiple sources
Ready to Get Started?
Try Shopify Store Scraper - Products & Collections Extractor now on Apify. Free tier available with no credit card required.
Start Free TrialActor Information
- Developer
- xquantify
- Pricing
- Paid
- Total Runs
- 30
- Active Users
- 5
Related Actors
Google Maps Reviews Scraper
by compass
Facebook Ads Scraper
by apify
Google Ads Scraper
by silva95gustavo
Facebook marketplace scraper
by curious_coder
Apify provides a cloud platform for web scraping, data extraction, and automation. Build and run web scrapers in the cloud.
Learn more about ApifyNeed Professional Help?
Couldn't solve your problem? Hire a verified specialist on Fiverr to get it done quickly and professionally.
Trusted by millions | Money-back guarantee | 24/7 Support