Shopify Scraper — Any Store's Full Product Catalog
Pricing
from $1.40 / 1,000 products
Shopify Scraper — Any Store's Full Product Catalog
Export the complete catalog of any Shopify store: every product and variant with price, compare-at price, live discount, SKU, stock status, images, tags, vendor and description. Filter by keyword, vendor, type, price range, in-stock or on-sale. Official Shopify endpoint, no key.
Pricing
from $1.40 / 1,000 products
Rating
0.0
(0)
Developer
Daniel Meshulam
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 hours ago
Last modified
Categories
Share
Export the complete catalog of any Shopify store — every product, every variant, with live prices and stock.
Uses the /products.json endpoint Shopify publishes on every storefront. No key, no login, no headless browser, nothing rendered by JavaScript.
One row per variant
A shirt in 4 sizes is 4 sellable SKUs — 4 prices, 4 stock states. That's what you get by default, because "is the medium in stock at $39?" is the question people are actually asking.
Set oneRowPerProduct: true to collapse to one row per product with priceMin / priceMax instead.
What you get
| Field | Example |
|---|---|
title, variantTitle, sku | Men's Cruiser, 10, A12856M080 |
price, compareAtPrice | 105.00, 140.00 |
onSale, discountPercent | true, 25.0 |
inStock | true |
vendor, productType, tags | Allbirds, Shoes, […] |
option1/2/3, options | Blue, 10 · ["Color","Size"] |
url, image, variantImage, imageCount | |
description | plain text, HTML stripped |
publishedAt, createdAt, updatedAt | |
productId, variantId, grams |
discountPercent is computed for you — price monitoring shouldn't require arithmetic on your end.
Filters that actually save you money
Everything below filters before billing, and the row cap counts rows kept, not scanned — so a narrow filter never comes back empty just because the first 250 products didn't match.
{"storeUrls": ["allbirds.com", "gymshark.com"],"onSaleOnly": true,"inStockOnly": true,"minPrice": 20,"maxPrice": 150,"keywords": ["shoe", "runner"],"maxProductsPerStore": 500}
keywords— match on title, type, vendor or tagsvendors,productTypes— exact matchinStockOnly,onSaleOnlyminPrice/maxPrice
Collections
Set includeCollections: true to also get the store's collections with product counts — a fast map of how a competitor organises their catalog.
Who this is for
- Competitor & price monitoring — schedule it daily, diff the prices, catch every discount the day it launches
- Dropshippers & resellers — pull a supplier's full catalog with SKUs and stock in one run
- Market research — how many SKUs, what price bands, what's sold out
- Affiliate & deal sites —
onSaleOnly: trueis a ready-made deals feed - AI / dataset builders — clean structured product data, no HTML parsing
Pricing
Pay per result. One row = one variant (or one product, or one collection). Stores that fail come back as error rows and are not charged, and neither is anything removed by your filters.
Notes
- If a store isn't on Shopify, or has password-protected its storefront, you get a clear
errorrow saying exactly that — not a raw HTTP code. - Shopify caps this endpoint at 250 products per page; the Actor pages automatically up to 10,000 products per store.
- Prices are in the store's own currency. Shopify does not expose the currency code on this endpoint, so check the store if you're mixing regions.
- Set a max charge per run in the run options for a hard spend ceiling — the Actor honors it and stops cleanly.