Shopify Store Products Scraper — Variants, Prices, Stock avatar

Shopify Store Products Scraper — Variants, Prices, Stock

Pricing

from $0.70 / 1,000 products

Go to Apify Store
Shopify Store Products Scraper — Variants, Prices, Stock

Shopify Store Products Scraper — Variants, Prices, Stock

Every product of any Shopify store or collection with variants, prices, compare-at prices, stock, SKUs, options, images, tags and descriptions — via the store's public catalog, no login. Keyword and in-stock filters, CSV/JSON export and API.

Pricing

from $0.70 / 1,000 products

Rating

0.0

(0)

Developer

Chorelet

Chorelet

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

The full catalog of any Shopify store — or a single collection — with every variant's price, compare-at price, availability, SKU and options, plus images, tags, vendor, product type and description. Paste store URLs, get JSON, CSV or Excel, or pull via API.

Reads the store's own public catalog endpoint (/products.json), so it works on every Shopify store that exposes its products (the vast majority), returns exactly what the store publishes, and needs no login or proxies.

Why this Actor

  • Whole stores or single collections through the store's own public catalog endpoint
  • Every variant with price, compare-at price, availability, SKU and options
  • Sale and in-stock flags, keyword filter, descriptions as text and HTML
  • 250 products per request — thousands in seconds, no login, no proxies
  • Checked every day by an automated run

Sample output

One item of the dataset (long values shortened):

{
"store": "www.allbirds.com",
"title": "Free Returns Coverage",
"vendor": "re:do",
"productType": "return,package_protection",
"priceMin": 0.8,
"priceMax": 2.98,
"compareAtPriceMax": 2.98,
"onSale": true,
"available": true,
"variantsCount": 2,
"url": "https://www.allbirds.com/products/free-returns-coverage"
}

What you get

FieldDescription
store, collection, id, handle, urlIdentity
title, vendor, productType, tagsClassification
priceMin, priceMax, compareAtPriceMax, onSale, available, variantsCountPricing and stock summary
variants[]id, title, sku, price, compareAtPrice, available, options, grams, requiresShipping, image
options[], images[], imageOptions and media
description, descriptionHtml, createdAt, updatedAt, publishedAtContent and dates

A per-store summary (products listed, kept, errors) is saved as SUMMARY.

Input

  • Store URLs — home pages, collection URLs or product URLs.
  • Max products per store, Keywords, In stock only, Include descriptions, Proxy (off by default).

Limits and notes

  • Stores can disable the public catalog or password-protect the shop; those return a clear error and the run continues with the rest.
  • Prices are in the store's default currency; available reflects the store's inventory flag at scrape time.
  • Public data only; the Actor stores nothing beyond the dataset of your run.

Input example

{
"storeUrls": [
"https://www.allbirds.com",
"https://gymshark.com/collections/sale"
],
"maxProductsPerStore": 5000,
"onlyAvailable": false,
"includeDescription": true
}

How much does it cost?

Pay per product — no subscription, no minimum, no charge for platform usage.

VolumePrice
1,000 products$1.00
10,000 products$10.00
100,000 products$100.00

The Apify free plan includes $5 of usage every month — about 5,000 products with this Actor, no card needed. Nothing else is charged: platform usage is included in the price, and Apify Bronze, Silver and Gold subscribers get 10%, 20% and 30% off these prices.

Use it from code, n8n, Make, Zapier or an AI agent

Run the Actor and download the dataset in one call (JSON by default; add &format=csv or xlsx):

curl -X POST "https://api.apify.com/v2/acts/chorelet~shopify-store-products-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"storeUrls": ["https://www.allbirds.com", "https://gymshark.com/collections/sale"], "maxProductsPerStore": 5000, "onlyAvailable": false, "includeDescription": true}'

Python:

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("chorelet/shopify-store-products-scraper").call(run_input={"storeUrls": ["https://www.allbirds.com", "https://gymshark.com/collections/sale"], "maxProductsPerStore": 5000, "onlyAvailable": false, "includeDescription": true})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
  • n8n, Make, Zapier — use the Apify node/module: run the Actor, then "get dataset items".
  • Google Sheets, Slack, webhooks — add an integration on the run's Integrations tab.
  • AI agents — the Actor is available as a tool through the Apify MCP server; the dataset schema describes every field for the model.
  • Schedules — run it hourly, daily or weekly from the Schedules tab.

FAQ

Does it work on every Shopify store?

On every store that exposes its public catalog (/products.json) — the vast majority. Password-protected stores or stores that disabled it return a clear error.

Can I scrape one collection?

Yes — paste the collection URL (/collections/sale); only that collection is read.

Are prices in my currency?

Prices are in the store's default currency, as the catalog publishes them.

How do I track price changes?

Schedule the Actor and compare priceMin/compareAtPriceMax per id between runs — or use the sale collection with onlyAvailable.

What does a run cost?

$1 per 1,000 products. The free plan's $5 a month covers about 5,000 products.

Support

Questions, missing fields or a source that changed? Open an issue on the Issues tab or write to support@chorelet.app — problems are usually fixed within a day, and the Actor is checked every morning by an automated test run. If the Actor saved you time, a short review on its Store page helps other people find it.