Unadhi Guides

Build a weekly competitor price sheet from Shopify stores (Apify, no code)

Updated 14 Oct 2026 · Disclosure: the E-commerce Product Scraper and Contact Details Scraper linked below are Unadhi products on the Apify Store. This guide is free and the method works with any product scraper.

Short answer: list 3–10 competitor Shopify or WooCommerce stores, run a product scraper on Apify with those URLs, download the result as CSV, and paste it into a new tab of one spreadsheet each week. A compare tab looks up last week's price for the same product URL or SKU and flags anything that moved. Setup takes under an hour; the weekly refresh takes about ten minutes.

What you end up with

StoreProductSKULast weekThis weekChangeOn sale?In stock?
competitor-a.comCotton tee, blackTEE-BLK₹799₹699−12.5%YesYes
competitor-b.inCanvas toteTOTE-01₹1,199₹1,1990%NoNo

Example rows only, to show the layout. Not real shop data.

Step 1: pick 3–10 competitor stores

Step 2: run the product scraper on Apify

  1. Create a free Apify account (no card needed for the free plan; check apify.com/pricing for the current monthly free usage).
  2. Open the E-commerce Product Scraper: Shopify & Woo and click Try for free. Current pricing is shown on that Store page.
  3. In the input form, paste your store or category URLs and set a cap. In JSON view the input looks like this:
{
  "startUrls": [
    { "url": "https://competitor-a.com/collections/t-shirts" },
    { "url": "https://competitor-b.in" }
  ],
  "maxProductsPerShop": 100,
  "maxListingPages": 10,
  "includeDescription": false
}

Turn includeDescription off for a price sheet; descriptions make the CSV wide and you do not need them. Click Save & Start.

How it reads each shop, best source first: Shopify products.json, the WooCommerce Store API, then schema.org JSON-LD, microdata and OpenGraph tags. Each row has the product title, brand, price, currency, sale price, stock, SKU/GTIN, variants and images.

Step 3: export CSV and check what was skipped

Step 4: make the weekly sheet

Use one Google Sheet (or Excel workbook) with these tabs:

In compare, with the key in column A, pull prices from the two latest raw tabs. If the raw tab has the product URL in column A and price in column D:

This week:  =IFERROR(VLOOKUP($A2,'raw_2026-10-21'!$A:$Z,4,FALSE),"")
Last week:  =IFERROR(VLOOKUP($A2,'raw_2026-10-14'!$A:$Z,4,FALSE),"")
Change %:   =IF(AND(ISNUMBER(C2),ISNUMBER(D2),C2<>0),(D2-C2)/C2,"")

Format the change column as a percentage and add conditional formatting: red when below −5%, green when above +5%. Sort by change so the biggest moves are at the top. A blank "this week" cell usually means the product was removed or renamed; check the shop before you act on it.

Step 5: repeat every week

Reading the sheet without over-reacting

Optional: find a shop's public contact inbox

If a competitor is also a possible wholesale partner, the Contact Details Scraper: Emails, Phones, Socials (also an Unadhi product) reads the shop's public pages and returns shared role inboxes such as sales@ or support@, plus phone and social links. Personal addresses are dropped by default. Use it for genuine one-to-one enquiries only, not bulk cold email.

This guide is general information, not legal advice. Both Actors read only public pages, use an honest bot User-Agent, follow robots.txt, never log in and never get around blocks. You are responsible for how you use the data and for following each shop's terms and your local law.

Related guides

← All guides

Unadhi Guides are free, independent explainers. We correct errors as soon as we find them: write to mininglife7@gmail.com.