Shopify Scraper - Products, Prices, Variants & Stock avatar

Shopify Scraper - Products, Prices, Variants & Stock

Pricing

from $1.55 / 1,000 results

Go to Apify Store
Shopify Scraper - Products, Prices, Variants & Stock

Shopify Scraper - Products, Prices, Variants & Stock

Scrape any public Shopify store's products: title, price range, variants, SKUs, images, availability and dates. Just add store links. For price monitoring and catalog research. Export to CSV, JSON or Excel, schedule runs or use the API.

Pricing

from $1.55 / 1,000 results

Rating

0.0

(0)

Developer

Automly

Automly

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

0

Monthly active users

16 days ago

Last modified

Categories

Share

What is Shopify Scraper?

Shopify Scraper is a tool that lets you scrape products from any public Shopify store: titles, prices, sale prices, variants, SKUs, stock, images, tags and timestamps, as one clean row per product. Add one or more store URLs, click Start, and download the catalog as Excel, CSV or JSON.

  • 🛍️ Whole catalogs: every product of a store, or just the collections you choose
  • 💲 Clean prices: real decimal prices (19.99), not cents you have to divide by 100
  • 🏬 Many stores at once: scrape a whole list of competitors in one run
  • 🔓 No login: no Shopify API key, app, account or store permission needed
  • 💸 Free to try: the $5 of free usage every Apify account gets each month covers about 3,200 products

What can Shopify Scraper do?

  • Scrape all products from a Shopify store
  • Scrape a Shopify collection (for example mens-shoes)
  • Get Shopify product prices and compare-at (sale) prices
  • Get every variant with SKU, options, price and stock
  • Download all product image URLs
  • Keep only products in a price range or in stock
  • Scrape many Shopify stores in one run
  • Monitor competitor prices on a schedule
  • Export to Excel, CSV, JSON, HTML or XML, or send the products to Google Sheets, Make, Zapier and more

How to scrape Shopify products without the API

Shopify's official API needs a custom app, OAuth and the store owner's permission, which you don't have for stores you don't own. With Shopify Scraper you skip all of that and get each store's public product catalog, the same data the storefront shows to anyone. No API key, no login, no app install.

It also works on many stores with a custom-built storefront, where simpler scrapers return nothing. If a store can't be read at all, the run tells you which one.

What data can you extract from a Shopify store?

🏷️ Product title and handle🔗 Product URL🆔 Shopify product ID
🏭 Vendor (brand)📦 Product type🔖 Tags
💲 Lowest and highest price💸 Compare-at (original) price💱 Currency
✅ In stock or not🎨 Variants with SKU, options and stock🖼️ All image URLs
⚖️ Weight, shipping and tax flags per variant📅 Created and updated dates🕒 Scrape time

How to scrape a Shopify store

  1. Create a free Apify account (no credit card needed).
  2. Open Shopify Scraper.
  3. Add one or more Store URLs (a bare domain like allbirds.com, the home page, or any product or collection URL), and optionally some Collections.
  4. Set Max products per store and any price or in-stock filter, then click Start.
  5. When the run finishes, download the products as Excel, CSV, JSON, HTML or XML.

Why use this Shopify scraper?

  • Clean prices: real decimal values (98.00), not raw integers multiplied by 100 that you have to divide yourself.
  • Works on custom storefronts: many stores with a custom-built front end work where lighter scrapers come back empty.
  • Built-in filters: price range and in-stock filters, so your dataset only contains the products you asked for.
  • Multi-store: scrape a whole list of competitors in a single run.
  • No API key, no login: just URLs in, structured data out.

How much does it cost to scrape Shopify products?

You pay $1.55 per 1,000 products, plus a start fee of $0.05 per run at the default settings. Apify platform usage is included in that price, so there is nothing else to pay.

For example, a run that scrapes 1,000 products costs $1.55 for the products plus $0.05 to start, $1.60 in total.

Every Apify account gets $5 of free usage each month, enough for about 3,200 products. See the Pricing tab for details.

⬇️ Input

SettingWhat it does
Store URLsThe Shopify stores to scrape. A bare domain, the home page, or any product or collection URL; only the store address is used
Collections (optional)Collection handles or URLs to scrape instead of the whole catalog, applied to every store
Max products per storeHow many products to keep from each store, after the filters (default 1,000)
Include variantsAdd the full list of variants to each product (on by default)
Include imagesAdd the list of image URLs to each product (on by default)
Only available productsSkip products with no variant in stock
Minimum price / Maximum priceKeep products whose lowest variant price is in this range, in the store's currency

Connection settings: the default works for most runs.

Example: two stores, in-stock products priced 20 or more in the store's currency.

{
"storeUrls": ["https://www.allbirds.com", "https://www.kith.com"],
"collections": [],
"maxProductsPerStore": 500,
"includeVariants": true,
"includeImages": true,
"onlyAvailable": true,
"minPrice": 20
}

Example: one collection only.

{
"storeUrls": ["allbirds.com"],
"collections": ["mens-shoes"],
"maxProductsPerStore": 100
}

⬆️ Output

You get one row per product. You can view them as a table in Apify Console or download them as Excel, CSV, JSON, HTML or XML. Here is a real row, shortened to two variants, two tags and two images:

{
"storeUrl": "https://www.allbirds.com",
"productId": 7340901859408,
"title": "Women's Allbirds Flip Flop - Dusty Pink",
"handle": "womens-allbirds-flip-flop-dusty-pink",
"productUrl": "https://www.allbirds.com/products/womens-allbirds-flip-flop-dusty-pink",
"vendor": "Allbirds",
"productType": "Shoes",
"tags": [
"allbirds::carbon-score => undefined",
"allbirds::cfId => color-a4d5d0f6620dc304306f503bf67bc5f9"
],
"priceMin": 25,
"priceMax": 25,
"compareAtPriceMin": 50,
"currency": "USD",
"available": true,
"variantCount": 7,
"variants": [
{
"variantId": 42146889039952,
"title": "5",
"sku": "A12513W050",
"price": 25,
"compareAtPrice": 50,
"available": false,
"options": ["5"],
"requiresShipping": true,
"taxable": true,
"grams": 455,
"position": 1
},
{
"variantId": 42146889072720,
"title": "6",
"sku": "A12513W060",
"price": 25,
"compareAtPrice": 50,
"available": false,
"options": ["6"],
"requiresShipping": true,
"taxable": true,
"grams": 492,
"position": 2
}
],
"imageUrls": [
"https://cdn.shopify.com/s/files/1/1104/4168/files/A12513_26Q2_Allbirds-Flip-Flop-Dusty-Pink_PDP_LEFT.png?v=1774646345",
"https://cdn.shopify.com/s/files/1/1104/4168/files/A12513_26Q2_Allbirds-Flip-Flop-Dusty-Pink_PDP_BACK.png?v=1774646345"
],
"createdAt": "2026-03-27T14:03:50-07:00",
"updatedAt": "2026-10-01T15:22:00-07:00",
"scrapedAt": "2026-10-01T22:22:02Z"
}
FieldDescription
title, handle, productUrlProduct name, slug and canonical URL
productIdShopify numeric product ID
vendor, productType, tagsBrand, type and tags
priceMin / priceMaxLowest and highest variant price (real decimals, not x100)
compareAtPriceMinOriginal price when the product is on sale
currencyStore currency code (for example USD)
availabletrue when at least one variant is in stock
variantCount, variantsPer-variant ID, title, SKU, price, compare-at price, options, stock, shipping and tax flags, weight in grams and position
imageUrlsAll product image URLs
createdAt, updatedAt, scrapedAtWhen the product was created and last updated, and when it was scraped

How can I use Shopify product data?

  • Price monitoring: track competitor prices and discounts across stores
  • Competitor analysis: compare catalogs, variants, vendors and tags
  • Catalog research and enrichment: build product datasets for your own apps
  • Inventory tracking: watch stock status and new product launches
  • Market research: see how brands structure products, pricing and metadata
  • AI and search: feed clean product data into search, RAG or agents

How to monitor Shopify prices

  1. Add the competitor stores you want to watch.
  2. Schedule the actor to run every day or every week.
  3. Compare priceMin, compareAtPriceMin and available between runs, or send each run to Google Sheets with an integration.

Scrape more e-commerce data

ActorWhat it gets
Amazon Products Scraper - Fast & Efficient (with Sales Data)Amazon product pages with price, BSR, variants, reviews and monthly sales estimates
Amazon Reviews Scraper - Ratings, Verified Purchases & ImagesAmazon customer reviews with rating, text, date and verified purchase badge
Walmart Scraper - Products, Prices, Stock & ReviewsWalmart products with price, was price, stock and seller
Target.com Scraper - Products, Prices & StockTarget products with prices, availability, ratings and specifications
eBay ScrapereBay listings across 8 marketplaces with prices, shipping, condition and seller ratings

❓FAQ

How much does it cost to scrape a Shopify store?

$1.55 per 1,000 products plus $0.05 per run, with platform usage included. See How much does it cost to scrape Shopify products? above for an example.

How do I know if a website is built on Shopify?

Visit https://thestore.com/admin. If you land on a Shopify login page, the store runs on Shopify and Shopify Scraper can scrape it.

Do I need a Shopify API key or app?

No. Shopify Scraper collects each store's public storefront data. You need no API key, OAuth, app install or Shopify account.

Can I scrape a single collection instead of the whole store?

Yes. Add the collection handle (mens-shoes) or the full collection URL to Collections.

Why are the prices "clean" and not multiplied by 100?

You get real decimal prices (19.99). Some scrapers return Shopify's raw integer cents (1999) and leave you to divide. This one doesn't.

What if a store can't be read?

If a store allows no public access to its catalog at all, or the site isn't a Shopify store, the run's status names the store it couldn't read. A run where no store could be read is marked as failed instead of finishing with an empty dataset.

Does "Max products per store" count products before or after the filters?

After. With a price or in-stock filter, Shopify Scraper keeps going until it has that many matching products or the catalog runs out.

Can I scrape many stores at once?

Yes. Add a list of store URLs and they are all scraped in one run.

What export formats are supported?

JSON, CSV, Excel, HTML and XML, from the Storage tab or the Apify API.

Can I connect Shopify Scraper to other tools or AI agents?

Yes. Start runs and download results with the Apify API or the Python and JavaScript clients, send results to Make, Zapier, n8n, Google Sheets or Slack with Apify integrations and webhooks, or let AI assistants and agents run it through the Apify MCP server at mcp.apify.com.

Shopify Scraper only collects product information that stores show publicly to every visitor. It does not collect customer or order data. If any data you collect contains personal data, it may be protected by laws such as GDPR, so only scrape for a legitimate reason and ask a lawyer if you are unsure. You can read more in Is web scraping legal?

Shopify Scraper is an independent tool. It is not affiliated with, endorsed by or sponsored by Shopify.

Something isn't working. What should I do?

Open the Issues tab and tell us the store URL and what you expected.

⭐ Your feedback

Have an idea or found a problem? Tell us on the Issues tab. If Shopify Scraper saved you time, a short review on the Reviews tab helps other people find it.