Shopify Products Scraper (any store, prices, variants)
Pricing
Pay per event + usage
Shopify Products Scraper (any store, prices, variants)
Scrape every product from any Shopify store: title, prices, compare-at prices, variants, SKUs, stock, images, tags. Many stores per run, collection, keyword, price and updated-since filters. No login or API key.
Pricing
Pay per event + usage
Rating
0.0
(0)
Developer
j money
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Shopify Products Scraper
Scrape the full product catalog of any Shopify store without a login, app install or API key. Give it store domains and get back clean JSON: title, vendor, type, tags, description, min and max price, compare-at price, on-sale flag, stock, every variant with SKU and options, images, and created / updated / published dates. Many stores per run. Filter by collection, keyword, price, stock or "updated since" and pay only for the products you keep.
Use cases
- Competitor price and stock monitoring (schedule it daily with
updatedSince) - Dropshipping and product research across many stores at once
- Catalog migration or backup of your own store
- Feed product data to an AI agent via the Apify MCP server (this Actor works as a tool call)
Input
| Field | Meaning | Default |
|---|---|---|
stores | store domains or URLs, e.g. allbirds.com | required |
maxProductsPerStore | cap per store | 100 |
collection | collection handle, e.g. mens-shoes | whole catalog |
keyword | match in title, vendor, type or tags | none |
updatedSince | skip products not updated since YYYY-MM-DD | none |
availableOnly | only products with a variant in stock | false |
minPrice / maxPrice | price range, store currency | none |
proxyConfiguration | off by default; use RESIDENTIAL if a store throttles (some block datacenter IPs) | off |
Headless stores whose www site is not Shopify are handled automatically (the bare domain is tried).
Output (one row per product)
{"store": "allbirds.com","id": 7012345678901,"title": "Men's Tree Runners","handle": "mens-tree-runners","url": "https://allbirds.com/products/mens-tree-runners","vendor": "Allbirds","product_type": "Shoes","tags": ["mens", "runners"],"description": "Our breathable everyday sneaker…","price_min": 98.0,"price_max": 98.0,"compare_at_price_max": null,"on_sale": false,"available": true,"variant_count": 9,"variants": [{"id": 4012345, "title": "8", "sku": "TR-M-8", "price": 98.0, "compare_at_price": null, "available": true, "option1": "8", "option2": null, "option3": null, "grams": 600, "requires_shipping": true}],"options": [{"name": "Size", "values": ["8", "9", "10"]}],"images": ["https://cdn.shopify.com/..."],"created_at": "2024-03-01T10:00:00-08:00","updated_at": "2026-10-18T09:12:44-07:00","published_at": "2024-03-01T10:00:00-08:00"}
Pricing
Pay per event. product: $0.0007 per product returned ($0.70 per 1,000), with all variants
included in that one row. Products removed by your filters are never charged. Plus the standard
Actor start event.
Limits
Works on stores that expose Shopify's public storefront JSON (almost all do). Password-protected stores and stores that disabled the endpoint return nothing and are skipped with a log line. Inventory quantities are not public on Shopify; you get in-stock / out-of-stock per variant.
Issues
Open an issue on the Actor page; typical response is under 6 hours.