Shopify Store Products Scraper - Any Store, Full Catalog, Cheap
Pricing
from $0.50 / 1,000 product scrapeds
Shopify Store Products Scraper - Any Store, Full Catalog, Cheap
Export the full product catalog of any Shopify store from its public JSON: titles, vendors, tags, images, every variant with SKU, price, compare-at price, stock and options, plus currency. Optional price and stock change tracking between runs. From US$0.50 per 1,000 products.
Pricing
from $0.50 / 1,000 product scrapeds
Rating
0.0
(0)
Developer
Fabrikit
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Export the complete product catalog of any Shopify store in minutes: titles, vendor, product type, tags, dates, images and every variant (SKU, price, compare-at price, stock status, options, weight), plus the store currency. Paste a domain, a collection URL or a product URL. No login, no API key.
It reads the public JSON endpoints that every Shopify storefront exposes (/products.json, /collections/<handle>/products.json, /meta.json), so it is fast and cheap: a 700-product store takes about 6 seconds.
Price: US$0.50 per 1,000 records. You can also run it as a price and stock monitor: in Changes mode it remembers the previous run and outputs only new, removed and changed products.
What you get
- Whole catalog of one or many stores in a single run (250 products per request, automatic pagination).
- Scope by store, by collection URL or by single product URL (locale paths such as
/en-ca/are supported). - One record per product (with a
variantsarray) or one row per variant for spreadsheets. minPrice,maxPrice,currency(frommeta.json, falling back tocart.js).- Optional plain-text or HTML description, optional list of each store's collections.
- Non-Shopify sites are detected and reported clearly per store (
not_shopify,shopify_restricted,empty,blocked) instead of returning silently empty results. - Works with Apify datacenter proxy and switches to residential automatically if a store rate-limits or blocks.
Input
| Field | Description |
|---|---|
stores | Domains or URLs, one per line. Store URL = whole catalog, /collections/<handle> = one collection, /products/<handle> = one product. |
mode | catalog (default) or changes. |
flattenVariants | One row per variant instead of one per product. |
maxItems / maxItemsPerStore | Result caps (default 50). |
onlyAvailable | Skip products where every variant is sold out. |
includeDescription, includeDescriptionHtml | Add the description as text / HTML. |
listCollections | Save each store's collections to the key-value store (COLLECTIONS_<domain>), free. |
changeTrackingStoreName, emitBaseline | Changes mode settings (see below). |
proxyConfiguration | Apify proxy (default datacenter, residential fallback is automatic). |
Example:
{"stores": ["allbirds.com", "https://kith.com/collections/mens-footwear"],"maxItems": 500,"flattenVariants": false}
Output example
{"store": "allbirds.com","storeName": "Allbirds","productId": 7340901859408,"handle": "womens-allbirds-flip-flop-dusty-pink","title": "Women's Allbirds Flip Flop - Dusty Pink","vendor": "Allbirds","productType": "Shoes","tags": ["allbirds::gender => womens", "shoprunner"],"createdAt": "2026-03-27T14:03:50-07:00","updatedAt": "2026-10-13T10:05:56-07:00","publishedAt": "2026-09-25T16:58:13-07:00","url": "https://www.allbirds.com/products/womens-allbirds-flip-flop-dusty-pink","images": ["https://cdn.shopify.com/s/files/1/1104/4168/files/A12513_PDP_LEFT.png"],"options": [{"name": "Size", "values": ["5", "6", "7"]}],"available": true,"minPrice": 25,"maxPrice": 25,"currency": "USD","variantCount": 7,"variants": [{"id": 42146889039952, "sku": "A12513W050", "title": "5", "price": 25, "compareAtPrice": 50, "available": false, "options": {"Size": "5"}, "grams": 455, "image": null}],"scrapedAt": "2026-10-13T17:05:58.347Z"}
With flattenVariants each variant becomes its own record with variantId, variantTitle, sku, price, compareAtPrice, variantAvailable, variantOptions, grams, variantImage next to the product fields.
Price and stock change tracking
Set mode to changes and schedule the actor (daily, hourly...). The first run stores a compact snapshot of each store in a named key-value store (changeTrackingStoreName, default shopify-store-products-snapshots) and outputs nothing (turn on emitBaseline to also get the catalog). Every later run outputs only:
changeType: "new"- products that were not there before,changeType: "changed"- withchanges:[{variantId, sku, field, from, to}]forprice,compareAtPrice,available, added/removed variants andtitle,changeType: "removed"- products that disappeared (only when the whole store was scanned).
You pay only for the records that are output. Use a different snapshot store name for a separate watch-list.
Pricing
| Event | Price |
|---|---|
Record saved (product-result) | US$0.50 per 1,000 |
Plus the small standard Apify actor-start event. In Changes mode a run that finds no changes costs only the start event.
FAQ
Does it work on every Shopify store? On every store that keeps the public /products.json feed on (the default). Password-protected stores and stores that disabled the feed are reported as shopify_restricted.
Are prices in my currency? Prices are in the store's default currency, returned in currency. Stores with multi-currency markets may show another currency on regional sub-paths; pass the regional URL (for example https://store.com/en-ca/collections/all).
Is inventory quantity included? The public feed only exposes in-stock / sold-out per variant (available), not quantities.
How big can a run be? Hundreds of thousands of records; the actor pages 250 products at a time.
Use cases
Competitor price monitoring, catalog migration and backups, dropshipping research, MAP compliance checks, marketplace feeds, product data for AI and analytics.
En espanol
Exporta el catalogo completo de cualquier tienda Shopify: titulo, marca, tipo, etiquetas, imagenes y todas las variantes (SKU, precio, precio anterior, disponibilidad, opciones, peso) mas la moneda. Pega un dominio, una URL de coleccion o de producto. Sin login ni API key. Modo cambios: compara con la corrida anterior (guardada en un almacen clave-valor con nombre) y entrega solo productos nuevos, eliminados o con cambios de precio/stock. Detecta sitios que no son Shopify. Precio: US$0,50 por 1.000 registros.