Shopify Products Scraper: Prices & Variants avatar

Shopify Products Scraper: Prices & Variants

Pricing

from $0.80 / 1,000 products

Go to Apify Store
Shopify Products Scraper: Prices & Variants

Shopify Products Scraper: Prices & Variants

Get all products from any Shopify store: title, vendor, type, tags, images, description, min and max price, currency, availability and every variant with SKU, price and compare-at price. Give store URLs, get JSON, CSV or Excel. No browser, no proxy, fast. $0.80 per 1,000 products.

Pricing

from $0.80 / 1,000 products

Rating

0.0

(0)

Developer

Beike

Beike

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 days ago

Last modified

Categories

Share

What you get

This Actor reads the product catalog of any public Shopify store and gives you one clean item per product:

  • title, vendor, product type, tags and a plain-text description;
  • all image URLs and the product options (for example Size and Color with their values);
  • the lowest and highest price, the store currency, and whether the product is available;
  • every variant with its ID, title, SKU, price, compare-at price (the "was" price), availability and options;
  • the product URL and the created, updated and published dates.

It uses the store's own public products.json feed, so there is no browser, no proxy and no HTML parsing. That makes it fast and cheap: one request returns up to 250 products.

Pricing

You pay $0.80 per 1,000 products: one result event per product stored in the dataset.

  • 1,000 products = $0.80
  • 10,000 products = $8.00
  • a store with 700 products = $0.56

You can set a maximum cost per run in Apify Console. When that budget is reached, the Actor stops and keeps everything it collected so far.

How to use it

  1. Open the Actor in Apify Console and go to the Input tab.
  2. Add one or more store addresses under Store URLs. Any page of the store works, with or without https://: the Actor only keeps the store address.
  3. Set Maximum number of products. This is a total across all stores; stores are scraped in the order you list them.
  4. Click Start and download the results as JSON, CSV or Excel from the Output tab, or read them through the Apify API.

Input and output example

Input:

{
"startUrls": ["https://www.allbirds.com"],
"maxItems": 10
}

One output item (shortened):

{
"shopUrl": "https://www.allbirds.com",
"productId": 7340901859408,
"handle": "womens-allbirds-flip-flop-dusty-pink",
"url": "https://www.allbirds.com/products/womens-allbirds-flip-flop-dusty-pink",
"title": "Women's Allbirds Flip Flop - Dusty Pink",
"vendor": "Allbirds",
"productType": "Shoes",
"tags": ["..."],
"descriptionText": "Sun on your feet. Comfort underneath. ...",
"images": ["https://cdn.shopify.com/s/files/..."],
"options": [{"name": "Size", "values": ["5", "6", "7", "8", "9", "10", "11"]}],
"priceMin": 25.0,
"priceMax": 25.0,
"currency": "USD",
"available": true,
"variants": [
{
"variantId": 42146889039952,
"title": "5",
"sku": "A12513W050",
"price": 25.0,
"compareAtPrice": 50.0,
"available": false,
"option1": "5",
"option2": null,
"option3": null
}
],
"createdAt": "2026-03-27T14:03:50-07:00",
"updatedAt": "2026-10-05T04:53:56-07:00",
"publishedAt": "2026-09-25T16:58:13-07:00",
"scrapedAt": "2026-10-05T12:00:00+00:00"
}

Supported stores

Every Shopify store whose storefront is public and whose products.json feed is switched on. That includes stores on their own domain (such as www.allbirds.com) and stores on a myshopify.com address. Stores built on other platforms (WooCommerce, Magento, BigCommerce) are not supported; the Actor tells you so in the log.

Limitations

  • Availability only, no stock quantities. The public feed says whether a variant can be bought (available true or false), not how many are in stock.
  • At most 25,000 products per store. Shopify itself stops the feed there. The Actor then stops for that store with a warning and keeps the 25,000 products.
  • No password-protected stores. A store with a storefront password gives an error in the log and is skipped.
  • No proxy. A store that blocks the request (HTTP 403) is skipped with an error; try again later.
  • Prices in the store's currency. Prices are not converted. The currency field tells you which currency it is; if the store does not share it, currency is null.
  • Reviews, collections and customer data are not collected.

FAQ

Why do some stores fail? The log says why for each store: password-protected, not a Shopify store, products feed disabled, or blocked. The other stores in the same run continue.

Does it collect personal data? No. It only returns product fields that the store publishes itself, never customer data. The description is passed on as plain text, as the store wrote it.

What happens when my maximum cost is reached? The run stops, succeeds, and keeps all products collected so far.

Can I scrape only new products? Not in this version. Every run reads the whole catalog up to your maximum number of products.