Shopify Products Scraper — Catalog, Prices & Variants (PPE)
Pricing
from $0.90 / 1,000 products
Shopify Products Scraper — Catalog, Prices & Variants (PPE)
Scrape Shopify product catalogs from one or many storefronts via public /products.json. Titles, prices, variants, images, tags. Multi-store soft-fail. Pay per product from $0.90/1k.
Pricing
from $0.90 / 1,000 products
Rating
0.0
(0)
Developer
Diego
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Security
Limited permissionsShare
Shopify Products Scraper — Catalog, Prices & Variants
Get clean Shopify product rows (title, handle, vendor, type, min/max price, variants, images, tags, URL) from one or many public storefronts via /products.json.
Price (Pay-per-event)
| Event | Price |
|---|---|
| product (primary) | $0.90 / 1k ($0.0009 each) |
| actor-start | $0.01 per run |
| store-processed | $0.005 per store attempted |
Example: 1 store × 2,000 products ≈ $0.01 + 2000×$0.0009 + $0.005 ≈ $1.82.
Default proxy OFF — most mid-size Shopify stores need none.
Store: apify.com/betelgues/shopify-store-products-scraper
Try it (curl / API)
curl "https://api.apify.com/v2/acts/betelgues~shopify-store-products-scraper/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"startUrls": [{"url": "https://colourpop.com"}],"maxProducts": 100,"maxPagesPerStore": 1,"proxyConfiguration": {"useApifyProxy": false}}'
Or click a ready task on the Store page: ColourPop sample, Multi-store demo, LatAm/ES.
Why this vs autofacts / clearpath
| This Actor | Typical catalog scrapers | |
|---|---|---|
| Multi-store queue | Soft-fail blocked/non-Shopify stores; continue | Often hard-stop |
| LatAm / ES | Verified examples (doto.com.mx, misako.com, scalperscompany.com) | Mostly EN/US demos |
| Proxy | Not required for most stores | Often forces proxy |
| Meter | Clear $/1k products PPE | Fuzzy or rental-heavy |
| Focus | Catalog volume (prices + variants) | Leads DB ≠ this SKU |
We do not compete with clearpath’s leads DB — we own catalog volume PPE.
Features
- Paste 1–N store URLs → thousands of products per run
- Pagination:
/products.json?limit=250&page=N - Retries on 429 / 5xx / timeouts
- Soft-fail per store on 401/403/404/HTML — queue continues
- Optional
store-statusrows for observability
Input (short)
| Field | Default | Notes |
|---|---|---|
startUrls / storeUrls | — | Storefront origins |
maxProducts | 5000 | Cap per store |
maxPagesPerStore | 40 | 40 × 250 ≈ 10k/store |
maxStores | 50 | Cap stores processed |
proxyConfiguration | { useApifyProxy: false } | Keep OFF unless many 403s |
Output (product row)
title, handle, vendor, productType, price, priceMax, variantsCount, images (≤10), image, url, productId, storeUrl, tags, scrapedAt
Plus optional type: "store-status" rows.
Example stores
| Store | Region | Approx products |
|---|---|---|
| https://colourpop.com | US | ~1,000+ |
| https://www.tentree.com | US/CA | large |
| https://www.doto.com.mx | MX | ~6,800+ |
| https://www.misako.com | ES | ~1,900+ |
| https://www.scalperscompany.com | ES | ~6,400+ |
Limitations
- Needs public
/products.json(most Shopify; not Tiendanube/VTEX/custom). - Some stores 403 without cookies/residential — those soft-fail (no forced residential on happy path).
- Inventory depth beyond
/products.jsonis out of scope for v1.