Arcadium Data Scrapers
Home / Integrations / n8n / Weekly Trustpilot reviews of competitors to Google Sheets

Weekly Trustpilot reviews of competitors to Google Sheets

New and changed reviews of a competitor list every Monday, a weekly TrustScore snapshot per company and a weekly digest row. Uses Trustpilot Reviews Scraper.

Every Monday this workflow runs Trustpilot Reviews Scraper (arcadium/trustpilot-reviews) for a list of competitor domains, in watch mode. New and changed reviews go to one tab; each competitor's TrustScore, star rating and review count go to a second tab as a weekly snapshot; the free weekly digest row (counts, new 1-star reviews, the biggest TrustScore and review-count moves, a one-line summary) goes to a third tab.

Schedule (Mon 06:00) → Apify: Run actor and get dataset ─┬→ Code: review rows  → Google Sheets: append to "Reviews"
                                                         ├→ Code: company rows → Google Sheets: append to "TrustScores"
                                                         └→ Code: digest row   → Google Sheets: append to "Digest"

File: workflow.json (n8n workflow export format).

What you need

CredentialWherePlaceholder in the file
Apify API tokenApify Console → Settings → API & IntegrationsREPLACE_WITH_YOUR_APIFY_CREDENTIAL_ID (credential type Apify API)
Google Sheetsn8n's Google Sheets OAuth2 credentialREPLACE_WITH_YOUR_GOOGLE_SHEETS_CREDENTIAL_ID
A spreadsheetYour Google DriveREPLACE_WITH_YOUR_SPREADSHEET_ID in the sheet URL (all three Sheets nodes)

The Apify node is Apify's official n8n node, package @apify/n8n-nodes-apify (checked against version 0.9.0, node version 2, operation Run actor and get dataset). On n8n Cloud search for "Apify" in the nodes panel. On self-hosted n8n: Settings → Community nodes → Install → @apify/n8n-nodes-apify.

Import

  1. Create a Google Sheet with three tabs and these header rows (the Sheets nodes map columns by name). Reviews: reviewId | date | company | rating | title | text | companyReply | verified | language | country | edited | url | scrapedAt; TrustScores: week | company | trustScore | stars | reviewCount | replyPercentage | primaryCategory | url; Digest: digestAt | windowStart | windowEnd | runs | newReviews | changedReviews | goneReviews | newOneStar | summary
  2. n8n → Workflows → Import from File → workflow.json.
  3. Run Trustpilot Reviews: pick your Apify credential and edit the JSON input. companies: your competitors' domains (bestbuy.com) or Trustpilot review page links. maxReviewsPerCompany: cap per company and run (100 in the template). watchKey: keep it stable. The actor keeps a snapshot under this name, so each run returns only reviews that are new or changed since the last run. digest: true adds the weekly digest row; digestDays sets its window (7).
  4. Append reviews, Append TrustScores and Append digest: pick your Google credential and paste your sheet URL.
  5. Execute once, check the tabs, then Activate. The first run saves the baseline; its digest row says so, and changes are counted from the second run on.

Cost per run

Pay per event. Prices are the actor's Store pricing at the time of writing (Free plan; paid Apify plans pay less). The live price is on the Store page.

EventPriceIn this template
Actor start$0.0011 per run
Review delivered$0.00052 ($0.52 per 1,000)first run: up to 3 companies × 100 = 300 reviews, at most $0.16; later runs only new and changed reviews
Unchanged review checked (watch-check)$0.00006 ($0.06 per 1,000)later runs: at most 300, at most $0.02
Company row, error rows, watch-summary and watch-digest rowsfree

The node sets maxTotalChargeUsd to $1, a hard cap per run. Raise it if you add many companies or a higher per-company cap.

What to expect