Shopify to Google Sheets, competitor data ready fast
Competitor research falls apart at the boring part. You find a Shopify store, then you waste an hour copying products, prices, and tags into a spreadsheet that still ends up messy.
This Shopify Sheets automation hits marketers building positioning decks, but agency owners and ecommerce operators feel it too. You get clean, analysis-ready rows in Google Sheets without babysitting tabs or reformatting exports.
Below, you’ll see exactly what the workflow pulls from a Shopify site, where it lands in Sheets, and how to tweak it for your own competitor tracking.
How This Automation Works
The full n8n workflow, from trigger to final output:
n8n Workflow Template: Shopify to Google Sheets, competitor data ready fast
flowchart LR
subgraph sg0["On form submission Flow"]
direction LR
n0["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/form.svg' width='40' height='40' /></div><br/>On form submission"]
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Store Info Scrap Request"]
n2["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Products Scarp Request"]
n3@{ icon: "mdi:database", form: "rounded", label: "Append Products Data In Goog..", pos: "b", h: 48 }
n4@{ icon: "mdi:database", form: "rounded", label: "Append Store Info Google She..", pos: "b", h: 48 }
n0 --> n1
n0 --> n2
n2 --> n3
n1 --> n4
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0 trigger
class n3,n4 database
class n1,n2 api
classDef customIcon fill:none,stroke:none
class n0,n1,n2 customIcon
The Problem: Competitor Catalog Data Is a Time Sink
If you’ve ever tried to “quickly” audit a competitor’s Shopify store, you know the trap. It starts simple: grab the store name, a location, maybe a hint of what they sell. Then you realize the real value is in the catalog details. Titles, prices, product types, tags, and the weird patterns you only notice once everything sits in a spreadsheet. Doing that manually is slow, and honestly, it’s where accuracy dies. One missed product page, one copied price that includes a currency symbol, and your comparison is suddenly unreliable.
The friction compounds. Here’s where it breaks down.
- Collecting product data by hand forces you to bounce between dozens of pages and tabs.
- Copy-paste formatting turns prices and tags into inconsistent junk you can’t filter cleanly.
- You can’t scale to 10 stores in a week if each one takes a couple hours.
- “Quick competitor checks” become guesswork, because the data isn’t complete or repeatable.
The Solution: Shopify Store + Product Scrape to Sheets
This workflow turns a Shopify store URL into two tidy tables in Google Sheets. It starts when someone submits a website link through an n8n form. From there, the automation calls the Shopify Scraper API on RapidAPI twice: once to fetch store-level metadata (things like the store name, domain, and location), and once to pull the full product catalog. As the data comes back, n8n appends it into two separate Google Sheets tabs, so you don’t end up mixing store info with hundreds of product rows. The end result is simple: you open Sheets and start analyzing immediately, instead of building the dataset first.
The workflow begins with one form submission. Two API requests run in parallel, then each response is logged into its own sheet: “Shop Info” for store details and “Products” for the catalog. After that, you can filter, pivot, and compare stores side-by-side without rebuilding anything.
What You Get: Automation vs. Results
| What This Workflow Automates | Results You’ll Get |
|---|---|
|
|
Example: What This Looks Like
Say you track 5 competitor Shopify stores each week. Manually, you might spend about 20 minutes collecting store details plus roughly 2 hours copying, cleaning, and labeling product data (especially if the catalog is big). That’s around 11 hours weekly. With this workflow, you submit 5 URLs in the form (maybe 5 minutes total), wait for the API calls to complete, then review the rows in Google Sheets. You’re back to analysis in under an hour, not stuck doing spreadsheet cleanup all afternoon.
What You’ll Need
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Google Sheets for storing store info and products.
- RapidAPI (Shopify Scraper API) to pull Shopify store and catalog data.
- RapidAPI key (get it from RapidAPI → Endpoints → X-RapidAPI-Key).
Skill level: Beginner. You’ll connect Google Sheets, paste an API key, and confirm the sheet columns match what you want.
Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).
How It Works
A form submission kicks it off. Someone drops a Shopify store URL into the n8n form, which triggers the workflow immediately.
Two data pulls happen next. n8n sends one HTTP request to fetch store metadata (the “who is this store?” layer) and another request to retrieve product catalog data (the “what are they selling?” layer) using RapidAPI.
Sheets gets updated automatically. Store metadata is appended to a “Shop Info” tab, and product rows are appended to a “Products” tab in Google Sheets.
Your output is ready for analysis. You can filter by tag, sort by price, build pivots, and compare multiple competitors in one place without re-scraping or reformatting.
You can easily modify which product fields you keep to match your pricing model or reporting style. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Form Trigger
Set up the form that will collect the Shopify store URL and kick off the workflow.
- Add the Form Submission Start node as the trigger.
- Set Form Title to
Shopify Scraper. - Set Form Description to
Shopify Scraper. - Under Form Fields, add a field labeled
website.
Step 2: Connect Google Sheets
Both Sheets nodes append data to a Google spreadsheet using a service account.
- Open Append Products to Sheet and verify Operation is
append. - Select the spreadsheet named
Shopifyin Document and the sheetProductsin Sheet. - Credential Required: Connect your googleApi credentials.
- Open Record Store Info Sheet and verify Operation is
append. - Select the spreadsheet named
Shopifyin Document and the sheetShop Infoin Sheet. - Credential Required: Connect your googleApi credentials.
Products and Shop Info sheets first.Step 3: Set Up Shopify API Requests
Configure the two API calls that fetch store details and product data. Form Submission Start outputs to both Retrieve Store Details and Fetch Product Catalog in parallel.
- Open Retrieve Store Details and set URL to
https://shopify-scraper4.p.rapidapi.com/shopinfo.php. - Set Method to
POSTand Content Type tomultipart-form-data. - In Body Parameters, set website to
{{ $json.website }}. - In Header Parameters, set
x-rapidapi-hosttoshopify-scraper4.p.rapidapi.comandx-rapidapi-keyto[CONFIGURE_YOUR_API_KEY]. - Open Fetch Product Catalog and set URL to
https://shopify-scraper4.p.rapidapi.com/products.php. - Repeat the same Method, Content Type, Body Parameters (
{{ $json.website }}), and headers as above.
[CONFIGURE_YOUR_API_KEY] must be replaced with a valid RapidAPI key or the requests will be rejected.Step 4: Configure Output to Google Sheets
Map the HTTP response data into your Sheets for storage.
- In Append Products to Sheet, keep Columns set to
autoMapInputDatato map product fields automatically. - In Record Store Info Sheet, keep Columns set to
autoMapInputDatato map store fields automatically. - Confirm the execution path: Fetch Product Catalog → Append Products to Sheet and Retrieve Store Details → Record Store Info Sheet.
Step 5: Test and Activate Your Workflow
Run a manual test to confirm data flows from the form to both Sheets.
- Click Execute Workflow in n8n and submit the form from Form Submission Start with a valid
websitevalue. - Verify that Retrieve Store Details and Fetch Product Catalog both return data without errors.
- Check the
Shopifyspreadsheet for new rows in theProductsandShop Infosheets. - When successful, toggle the workflow to Active to accept live submissions.
Common Gotchas
- RapidAPI credentials can expire or be tied to the wrong plan. If things break, check your RapidAPI dashboard and confirm the X-RapidAPI-Key is active first.
- If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
- Google Sheets appends can silently fail if the sheet tab name changes or columns don’t match. Open the Google Sheets node in n8n and reselect the spreadsheet and worksheet to refresh the mapping.
Frequently Asked Questions
About 30 minutes if your Sheets and RapidAPI accounts are ready.
No. You’ll paste an API key, connect Google Sheets, and choose where rows get appended.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in RapidAPI usage costs depending on the Shopify Scraper plan you choose.
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
Yes, and it’s one of the best tweaks to make. Keep the same RapidAPI requests, then adjust the field mapping before the Google Sheets append so you only write the columns you care about (for example title, price, product type, tags, and handle). Many teams also add a “Competitor Name” column derived from the domain, so every product row stays grouped even when you scrape lots of stores.
Usually it’s a missing or expired X-RapidAPI-Key in the HTTP Request node. Confirm you subscribed to the Shopify Scraper API plan in RapidAPI, then copy the header value again and update it inside n8n. If the store blocks scraping or the endpoint rate-limits you, you may see intermittent failures when you run many URLs back-to-back. Also check that the URL you submitted is a real Shopify storefront, because non-Shopify domains can return empty responses.
On a small n8n setup, dozens of stores per day is typical, but your real limit is RapidAPI rate limits and how large each product catalog is.
Often, yes, because this workflow leans on direct HTTP requests and structured appends, which n8n handles comfortably. n8n also makes it easier to branch logic later (like skipping stores you already scraped or splitting products by collection) without paying extra for every little path. Zapier or Make can still work if you want a quick two-step automation, but you may hit limits sooner once you add filtering, cleanup, and multiple API calls per run. If you’re unsure, Talk to an automation expert and describe your volume and reporting needs.
Once this is in place, competitor catalogs stop being a “project” and become a button you press. The workflow handles the tedious collection so you can spend your time on pricing, positioning, and actual decisions.
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.