π Track weekly UK grocery EAN price changes with Apify, Google Sheets and Gmail
β‘ 0 views Β· π Market Research & Insights
π‘ Pro Tip β HTTP Request scraping tends to break when sites update their markup. If youβre scraping a major platform, check if ScraperNode covers it β it has maintained scrapers for LinkedIn, Instagram, TikTok, YouTube, and 20+ other platforms that return structured data.
Description
Quick overview
This workflow runs every Monday to price a fixed list of grocery EANs using the UK Supermarket Price Scraper on Apify, stores weekly price history in Google Sheets, compares results with the most recent prior week, and emails you via Gmail only when prices move beyond a configurable percentage threshold.
How it works
- Runs every Monday at 08:00 on a schedule trigger.
- Builds and validates a basket request from the EAN list (deduplicated and limited to 200 items) and routes invalid lists to an email problem report.
- Sends the basket to the Apify Actor Standby
/basketendpoint to retrieve weekly-snapshot prices (optionally including loyalty prices). - Validates the HTTP response and snapshot freshness, continuing only when usable pricing data is returned and otherwise emailing a plain-English problem report.
- Flattens the basket pricing response into one row per retailer and matched EAN, then reads the full existing price history from Google Sheets.
- Compares this weekβs effective prices against the latest earlier week per retailer and EAN, prepares rows to append (if the week is not already recorded), and calculates price-move alerts based on the configured threshold.
- Appends new rows to Google Sheets and, when there are significant movers or items no longer priced, sends an HTML alert email via Gmail.
Setup
- Create an Apify API token with account-level permission to run Actors and add it as an HTTP Header Auth credential using
Authorization: Bearer <token>. - Add a Google Sheets OAuth2 credential, set
sheetDocumentIdandsheetNamein the Settings node, and ensure the target sheet tab has the required header columns in the correct order. - Add a Gmail OAuth2 credential and set the alert recipient email address in
alertToin the Settings node. - Update the EAN list,
thresholdPct, andincludeLoyaltyoptions in the Settings node, then run the workflow once manually to record a baseline week before activating the schedule.
π Nodes Used
Google Sheets, HTTP Request, Gmail, Schedule Trigger
π₯ Import
Download workflow.json and import into n8n:
Workflow menu β Import from File