Shopify Spy - Cheapest Shopify Scraper
Pricing
Pay per usage
Shopify Spy - Cheapest Shopify Scraper
Only $0.15 per store! Scrape ANY Shopify store in seconds. Find hidden deals, track competitor prices, discover low-stock items before they sell out. Perfect for dropshippers, resellers & e-commerce pros.
Pricing
Pay per usage
Rating
5.0
(1)
Developer

Ani Björkström
Actor stats
1
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Shopify Spy - The Cheapest Shopify Scraper on Apify
Only $0.15 per store - Scrape UNLIMITED products!
Stop overpaying for Shopify data. Shopify Spy gives you everything at a fraction of the cost:
- Scrape ANY Shopify store in seconds
- Extract 1000s of products per run
- Find hidden deals up to 90% off
- Track competitor prices automatically
- Discover low-stock items before they sell out
Perfect for: Dropshippers, Resellers, E-commerce Pros, Market Researchers
Key Features
Deal Finder
- Only On Sale - Filter to products with active discounts
- Minimum Discount % - Find products with 20%, 50%, or any discount threshold
- Savings Calculator - See exactly how much customers save
Stock Alerts
- Low Stock Detection - Find items with 10 or fewer units left
- Stock Status - Clear labels: in_stock, low_stock, out_of_stock
- Inventory Tracking - Actual unit counts when available
Store Validation
- Auto-Detection - Verifies URLs are Shopify before scraping
- Skips Non-Shopify - Won't waste time on incompatible sites
- Product Count - Shows how many products each store has
Price Filters
- Min/Max Price - Target specific price ranges
- Compare Prices - Original vs sale price comparison
- Discount Percentage - Calculated automatically
What Makes This Different
| Feature | Other Scrapers | Shopify Spy |
|---|---|---|
| Deal Detection | No | Yes - finds products on sale |
| Low Stock Alerts | No | Yes - flags items running low |
| Store Validation | No | Yes - verifies Shopify before scraping |
| Discount Calculator | No | Yes - calculates % off and savings |
| Price Range Filter | Sometimes | Yes - min and max price filters |
Output Fields
Each product includes:
| Field | Description |
|---|---|
is_on_sale | True if discounted |
discount_percentage | Percentage off (e.g., 25.5) |
savings_amount | Dollar amount saved |
is_low_stock | True if ≤10 units remain |
stock_status | in_stock / low_stock / out_of_stock |
inventory_quantity | Actual unit count |
| Plus all standard fields... | title, price, SKU, images, etc. |
Use Cases
For Dropshippers
- Set
onlyOnSale: true+minDiscount: 30 - Find products 30%+ off to resell at profit
- Check
is_low_stockto avoid overselling
For Competitor Monitoring
- Add competitor store URLs
- Schedule daily runs
- Track price changes and new products
For Bargain Hunters
- Set
maxPrice: 50+onlyOnSale: true - Find deals under $50
- Sort by
discount_percentagedescending
Quick Start
Find All Deals
{"startUrls": [{ "url": "https://www.allbirds.com" }],"onlyOnSale": true}
Find Deep Discounts (50%+ off)
{"startUrls": [{ "url": "https://www.gymshark.com" }],"onlyOnSale": true,"minDiscount": 50}
Find Low Stock Items
{"startUrls": [{ "url": "https://colourpop.com" }],"onlyLowStock": true,"onlyInStock": true}
Budget Shopping ($20-50 range)
{"startUrls": [{ "url": "https://www.fashionnova.com" }],"minPrice": 20,"maxPrice": 50,"onlyOnSale": true}
Input Parameters
Store Settings
| Parameter | Type | Default | Description |
|---|---|---|---|
startUrls | array | required | Shopify store URLs (max 50) |
validateStores | boolean | true | Verify URLs are Shopify before scraping |
proxyConfiguration | object | disabled | Enable Apify Proxy for blocked stores |
Deal & Stock Filters
| Parameter | Type | Default | Description |
|---|---|---|---|
onlyOnSale | boolean | false | Only products with discounts |
minDiscount | number | - | Minimum discount % (e.g., 20) |
onlyLowStock | boolean | false | Only items with ≤10 units |
onlyInStock | boolean | false | Exclude out-of-stock items |
minPrice | number | - | Minimum price filter |
maxPrice | number | - | Maximum price filter |
Output Options
| Parameter | Type | Default | Description |
|---|---|---|---|
maxProducts | integer | 0 | Limit per store (0 = unlimited) |
includeDescriptions | boolean | true | Include HTML descriptions |
includeTags | boolean | true | Include product tags |
exportCsv | boolean | true | Generate CSV file |
csvFileName | string | shopify-products.csv | CSV filename |
Output Example
{"store": "https://www.allbirds.com","product_title": "Men's Tree Runners","variant_title": "Charcoal / 10","price": 74.00,"compare_at_price": 98.00,"is_on_sale": true,"discount_percentage": 24.5,"savings_amount": 24.00,"available": true,"inventory_quantity": 8,"stock_status": "low_stock (8 left)","is_low_stock": true,"sku": "TRMC-CH-10","vendor": "Allbirds","product_url": "https://www.allbirds.com/products/mens-tree-runners","main_image_url": "https://cdn.shopify.com/..."}
Run Summary
After each run, check RUN_SUMMARY.json for:
- Total items scraped
- Items on sale (with total savings)
- Low stock item count
- Store validation results
- Filters applied
Pricing - Unbeatable Value!
Only $0.15 per store scraped!
Compare us to competitors charging $5-20 per store. We're 97% cheaper.
| What You Get | Price |
|---|---|
| 1 store (unlimited products) | $0.15 |
| 10 stores | $1.50 |
| 100 stores | $15.00 |
Why so cheap?
- No expensive browser automation
- Lightning-fast API calls
- Optimized for efficiency
That's it. No hidden fees. No per-product charges.
Troubleshooting
| Issue | Solution |
|---|---|
| "NOT A SHOPIFY STORE" | URL is not Shopify - verify at /products.json |
| "403 Forbidden" | Enable proxy in settings |
| No results | Check filters aren't too restrictive |
| Missing inventory | Store doesn't expose inventory data |
FAQ
Q: How do I know if a site is Shopify?
A: Visit https://[site]/products.json - if you see JSON data, it's Shopify.
Q: Why are some items missing inventory_quantity? A: Not all stores expose inventory counts publicly.
Q: Can I track price changes over time? A: Yes! Schedule runs and compare results to detect changes.
Q: What's the difference between price and compare_at_price?
A: price is current/sale price, compare_at_price is original price.
Changelog
v1.0 - Launch
- Deal Finder with discount calculations
- Low Stock Alert system
- Shopify Store Validator
- Price range filters
- Enhanced run summary with stats