WebRobot

Shopify Scraper and Shopify Web Scraper to Scrape Shopify Stores, Product Catalogs and Price Changes

A Shopify scraper reads the stores you compete with and hands you their catalog as rows: every product and variant, SKU, price, compare-at price, in stock or sold out, and the date a product first appeared. WebRobot runs it on a schedule, so the sheet shows what changed since yesterday, not just what is there today.

For DTC brands watching rival stores, agencies reporting on a client's category, and wholesalers checking reseller pricing. Flat plans from $79 a month, no per-request meter.

Run the robot

Robot console

Standing by Running · s Complete · rows

1 · Pick a target

3 · Fields to extract

Agent log

▌

Crawl graph

Extracted data · rows

Want this data fresh every morning, without lifting a finger?

Direct to consumer brand office with a laptop showing a price trend chart beside folded apparel, a sneaker and a skincare bottle

01 · What you get

A morning change feed for every rival Shopify store

The catalog itself is easy to see. What nobody has time for is noticing that a competitor quietly added a new colorway on Tuesday, started a 20 percent sale on Thursday and ran out of mediums by Saturday. The robot compares each run with the last and writes the difference down.

  • Price Merino crew, size M: $98.00 to $78.40, compare-at $98.00 (sale started)
  • New Trail runner, "sage" colorway published, 7 sizes, $135.00
  • Stock Vitamin C serum 30 ml: sold out, was in stock yesterday

Illustrative rows; the columns and stores are the ones you choose.

Fields

Shopify data you can scrape from product and collection pages

All of this is visible to a logged-out shopper. The catalog feed carries the structure; the product page adds what the theme prints.

Product

  • Title, handle and URL
  • Vendor and product type
  • Tags and collection
  • Published and updated dates

Variant

  • Size, color and other options
  • SKU and barcode where shown
  • Price and compare-at price
  • Available or sold out

Product page

  • "Only 3 left" and low stock notes
  • Bundle and subscription offers
  • Free shipping threshold
  • Star rating and review count from the review widget

Derived by the robot

  • Discount percent off compare-at
  • First seen and last seen dates
  • Days a variant was sold out
  • Price change since the last run

Reviews on Shopify stores usually come from a separate review app that loads after the page, so they are not in the catalog feed at all. The robot waits for the widget like a shopper would. If your rivals also sell on marketplaces, the Amazon scraper, Walmart scraper and Etsy scraper pages cover the same job there.

Sources

Scraping Shopify with products.json versus reading the pages

Shopify stores expose more than most platforms, and that is exactly why the easy part is not the part that costs you time.

GET /products.json?limit=250

{ "products": [ {
    "title": "Merino Crew",
    "vendor": "…", "product_type": "Tops",
    "published_at": "2026-09-22T…",
    "variants": [ {
      "option1": "M", "sku": "MC-M-NVY",
      "price": "78.40",
      "compare_at_price": "98.00",
      "available": true
    } ] } ] }
  • Up to 250 products per page; asking for more still returns 250
  • Stock is a true or false flag; quantity is usually zero or missing
  • Some large stores answer it with a 403 or a bot check
  • No reviews, no bundles, no shipping thresholds

What you still have to build around it

A script that fetches one store once takes an afternoon. Keeping twenty stores current is a different job.

  1. 1Paging, retries and a fallback to the pages when the feed is blocked
  2. 2A variant-level history table so a price change is a query, not a guess
  3. 3A schedule that runs whether or not your laptop is open
  4. 4Delivery to the sheet your team reads, and an alert when something moves

That is the part WebRobot takes off your plate. You name the stores and columns; the rows arrive.

Play fair with the stores you watch

Each Shopify merchant writes its own terms of service, and some prohibit automated collection. The default robots.txt on the stores we checked asks crawlers to skip /search, sorted and filtered collection URLs and checkout, not product pages. So: read public catalog pages only, keep the pace of a shopper, back off when a store blocks you, and never sign in to a customer account. The wider picture is in is web scraping legal.

Procedure

How to scrape Shopify stores in four steps

One setup, then every run happens on its own.
  1. 1

    Paste the stores

    Store home pages, a collection you care about, or individual product URLs. New products in a watched collection are picked up on the next run.

  2. 2

    Name the columns

    "Product, variant, SKU, price, compare-at price, in stock, rating, reviews." Plain English, no selectors.

  3. 3

    Set the rhythm

    Daily covers most categories. Hourly suits Black Friday week, a rival's launch day or a flash sale you want to follow as it happens.

  4. 4

    Get rows and alerts

    Rows append to Google Sheets, Excel, CSV or the API. On Scale, Slack or a webhook fires on a price cut, a sell-out or a new product.

Use cases

Who pays for a Shopify store scraper, and what they watch

DTC brands pricing against rival stores

Your closest competitors run on Shopify too, and their sales calendar is your problem. A daily sheet of their variants shows when a sale starts, how deep it goes against the compare-at price, which sizes sell out first and how long before the price comes back.

Put a month of that next to your own conversion rate and the "should we match?" conversation gets short. The competitor price monitoring page shows the same sheet across Shopify, Amazon and other stores.

Ecommerce agencies

One sheet per client: the client's catalog next to five rivals, so the monthly report is a chart of price gaps and launches, not an afternoon of copying.

Brands with authorized resellers

Many resellers run Shopify stores. Watch your SKUs across them and log the date and price of every listing below your minimum advertised price.

Wholesale and sourcing buyers

Track which emerging brands add products fastest and hold price, before you reach out about wholesale terms.

Dropshippers and catalog teams

Keep supplier stores' prices and stock flags in sync with your listings, so you stop selling items your supplier ran out of two days ago.

Buyer's table

Best Shopify scraper for a brand or agency without a developer

The deciding question is who keeps it running next month. Each option wins for someone.
Option How you pay Where it wins Where it falls short
Your own script on products.json Developer time One store, one export, full control of the fields Blocked feeds, paging, history, schedule and alerts are all yours to build and fix
Chrome extension Free to a small monthly fee A quick CSV of the store you are looking at right now Runs only while your browser is open; no schedule, no change history
Marketplace actor or scraper API Per 1,000 results or per request, plus compute Developers who want JSON back and will write the rest The sheet sync and alerting are still your code; see Apify pricing and ScraperAPI pricing
Shopify repricing apps Monthly app fee Changing your own prices automatically from rival prices Built around price only; you cannot add launches, stock or review columns
WebRobot Flat: $79 or $249 a month Your stores, your columns, daily or hourly, with alerts, Sheets and an API Does not change your prices for you; history starts the day you set it up

Want the rows as JSON for your own dashboard? The web scraping API page shows the endpoint. Comparing dedicated price trackers? The Price2Spy pricing guide has the URL-based plan math.

Sizing

How many Shopify products each plan covers

One product variant read once is one record. Thirty daily reads of the same variant are thirty records.

9,000

records a month

300 rival variants across 5 stores, read daily.

Launch, $79 a month

about 60,000

records a month

2,000 variants across 20 stores, daily, with price and sell-out alerts.

Scale, $249 a month

about 72,000

records a month

100 hero variants checked every hour through a 30-day sale month.

Scale, $249 a month

150,000+

records a month

An agency tracking a dozen client categories and their rivals, daily.

Autopilot, $699 a month

Yearly billing drops Launch to $39 and Scale to $124 a month. Every limit is on the pricing page, and a plain daily file for Excel is covered on scrape website to Excel. For stores on other platforms, ecommerce data scraping puts them in the same sheet.

FAQ

Shopify scraper questions, answered

Yes, for public data. Any logged-out shopper can see a Shopify store's product, collection and price pages, and most stores also serve their catalog as JSON at /products.json. Some stores block that feed or put a bot check in front of it, and each store has its own terms, so read those and keep the pace of a person browsing.

Start from the store's collection pages or its /products.json feed, which returns up to 250 products per page with title, vendor, product type, tags, variants, SKU, price, compare-at price and an available flag. Page through until the list is empty, then store one dated row per variant. A no-code tool like WebRobot does the paging, schedule and sheet for you.

Reading public product pages is generally lower risk than collecting personal data or anything behind a login, but it is not automatically allowed. Each merchant sets its own terms of service, and some forbid automated collection. Stick to public catalog data, respect robots.txt and blocks, never log in to a customer account, and ask a lawyer for anything high stakes.

Open the store's /collections/all page or add /products.json to the store address in a browser. The feed lists published products with their variants, prices and publish dates. For a one-off look that is enough. To see what changed since last week you need the same list captured on a schedule and compared, which is what a Shopify product scraper does.

Usually only in stock or sold out. The public feeds carry an available flag for each variant, and many stores return zero or leave the inventory quantity field empty. Real stock counts show up only when a theme prints "only 3 left" on the product page. A daily in-stock log still tells you when a rival sells out of a size and when it restocks.

List the rival stores, capture every variant's price and compare-at price once a day, and keep each day as a new row. A price change is then a difference between two rows, and a sale shows up as a compare-at price above the price. WebRobot runs that list daily or hourly and sends a Slack or webhook alert on Scale.

Chrome extensions cost nothing to a few dollars a month but only export the page you have open. Marketplace actors bill per 1,000 results plus compute, and scraper APIs bill per request. WebRobot is flat: Launch is $79 a month for 10,000 records with daily runs, and Scale is $249 a month for 100,000 records with hourly runs and change alerts.

Yes. Each run lands in Google Sheets, downloads as Excel or CSV, or comes back as JSON from the REST API. SKUs and barcodes stay as text so leading zeros survive in Excel, and each run appends a dated row, so the sheet becomes a price and stock history instead of a single snapshot.

Rival Shopify stores, prices and launches in one sheet every morning

Paste the stores, name the columns, and get a daily or hourly feed with alerts when a price, stock flag or product changes.