Scrape Trustpilot Reviews with n8n & Bright Data for Ad Insights

Discover how this unique n8n workflow automates scraping competitor Trustpilot reviews using Bright Data’s API, filters negative feedback, and generates targeted Facebook ad copy with OpenAI to boost your marketing strategy efficiently.
formTrigger
httpRequest
googleSheets
+8
Learn how to Build this Workflow with AI:
Workflow Identifier: 2118
NODES in Use: formTrigger, httpRequest, wait, if, googleSheets, filter, aggregate, chainLlm, lmChatOpenAi, gmail, stickyNote

Press CTRL+F5 if the workflow didn't load.

Visit through Desktop for Best experience

1. Opening Problem Statement

Meet Sarah, a digital marketing manager at a mid-sized e-commerce company. She spends hours manually combing through competitors’ Trustpilot reviews trying to identify weaknesses to craft compelling Facebook ads. Sarah’s process is tedious, error-prone, and often outdated by the time she completes it. She loses valuable marketing time and misses opportunities to leverage real user feedback effectively.

Sarah needs a way to quickly gather, analyze, and act on competitor reviews, especially the negative ones that reveal pain points. Without automation, it can take 5+ hours weekly and still risk missing critical insights.

2. What This Automation Does

This specialized n8n workflow automates the entire process of extracting competitor Trustpilot reviews, analyzing them, and creating actionable marketing content. Here’s what happens when you run this workflow:

  • Users submit a competitor’s Trustpilot URL and select the desired review timeframe via an n8n form.
  • The workflow triggers Bright Data’s dataset API to scrape reviews from the selected timeframe.
  • It polls Bright Data periodically until the review data snapshot is ready.
  • All reviews are extracted and logged into a Google Sheet for record-keeping and manual inspection.
  • The workflow filters out only the negative reviews (1 or 2 stars) to focus on key pain points.
  • It aggregates these negative reviews into a summarized text blob.
  • OpenAI’s GPT-4o-mini analyzes the summary to produce three unique Facebook ad copies addressing competitors’ weaknesses.
  • Finally, the summary and ad copies are emailed to the marketing team for immediate use.

This automation can reduce your competitor research time from hours to just minutes. It helps you act faster with data-driven ad creatives that target real customer complaints.

3. Prerequisites ⚙️

  • An n8n account (cloud or self-hosted). You can self-host using platforms like Hostinger if preferred.
  • Bright Data API key — necessary to access their dataset API for scraping reviews.
  • Google Sheets account with OAuth credentials set up in n8n.
  • OpenAI account with API access to GPT-4o-mini model.
  • Gmail account connected via OAuth2 for sending emails with results.

4. Step-by-Step Guide

Step 1: Setup the Form Trigger Node to Collect Input

In n8n, start by adding the Form Trigger node. Navigate to Nodes → Trigger → Form Trigger.

Configure your form fields exactly as:
– Competitor TRUSTPILOT URL (required text field with placeholder)
– Timeframe dropdown with options: Last 30 days, 3 months, 6 months, 12 months

The form URL generated here will be your user entry point. You should see your clickable webhook URL on the node that you can test by submitting a sample.

Common mistake: Forgetting to enable required on the URL field results in empty inputs later.

Step 2: Post API Call to Bright Data to Trigger Data Extraction

Add an HTTP Request node named “HTTP Request- Post API call to Bright Data”. Select POST method.

Set URL: https://api.brightdata.com/datasets/v3/trigger.
Add query parameters:
– dataset_id = gd_lm5zmhwd2sni130p
– include_errors = true

Header must include Authorization with Bearer token (your Bright Data API key).

In the JSON body, use expressions to insert the URL and timeframe from the form trigger:

[{ 
  "url": "{{ $json['Competitor TRUSTPILOT URL (include https://www.trsutpilot.com/review/'] }}",
  "date_posted": "{{ $json['Please select the time frame of reviews you'd like. If it's a big brand go with 30 days'] }}"
}]

Save and test this request. You should receive a snapshot ID in the response.

Common mistake: Using incorrect field names will cause API errors. Copy-paste from the form fields exactly.

Step 3: Implement a Wait Node to Poll for Dataset Readiness

Add a Wait node named Wait – Polling Bright Data set to wait 2 minutes between iterations.

This node pauses the workflow to avoid hitting API limits while waiting for Bright Data to finish scraping.

Step 4: Check Snapshot Status with an IF Node

Use an IF node to verify the status of the snapshot by calling Bright Data’s progress URL:

HTTP Request Node named Snapshot Progress calls:
https://api.brightdata.com/datasets/v3/progress/{{snapshot_id}}

IF node condition:
Check if status equals running — if yes, loop back to Wait node.
If not, proceed to fetch data.

Step 5: Fetch the Review Data

Add an HTTP Request node named HTTP Request – Getting data from Bright Data.

Request URL:
https://api.brightdata.com/datasets/v3/snapshot/{{snapshot_id}} with query parameter format=json

Use bearer token authentication.

After fetching, review data passes to Google Sheets node.

Step 6: Store All Reviews in Google Sheets

Connect a Google Sheets node for appending rows to your spreadsheet.

Document ID should be your copied template sheet (see Sticky Note for template link). Use the sheet’s gid=0 tab for data.

Map fields auto with the many review fields (review_id, review_date, review_rating, review_content, reviewer_name, etc.).

Common mistake: Forgetting to map some custom fields from Bright Data may lead to incomplete data.

Step 7: Filter Only Negative Reviews

Add Filter node named Filtering only bad reviews.

Set conditions to check if review_rating equals 1 or 2 stars only.

This targets problematic customer feedback and pain points competitors have.

Step 8: Aggregate Negative Reviews for Analysis

Add an Aggregate node to combine the filtered review_content fields into one aggregated text block.

This aggregated text feeds into the language model to summarize core complaints.

Step 9: Analyze and Create Facebook Ads Copy with OpenAI

Use Basic LLM Chain node with the prompt:

Read the following bad reviews, these are reviews of our competitors:
{{ $json.Aggregated_reviews }}

---
After reading them, summarize their weakest points.
Don't mention the competitor name.

Write 3 different ads copy for our Facebook ads campaign, addressing these concerns

This node relies on OpenAI Chat Model node configured to GPT-4o-mini for generating the ad texts.

Step 10: Email the Summary and Ads to Marketing Team

Add a Gmail node named Send Summary To Marketers.

To: your marketing email
Subject: Summary of complaints of competitor
Body: Include the competitor URL, the summarized complaints, the 3 Facebook ads, and attach all aggregated negative reviews as additional context.

Common mistake: Remember to configure Gmail OAuth2 credentials correctly to avoid sending failures.

5. Customizations ✏️

  • Adjust the Review Time Frames: In the form trigger, modify dropdown options to match your preferred periods, e.g., add 1 week or 2 years.
  • Change Ad Copy Output: Edit the prompt in the Basic LLM Chain node to create different marketing materials like FAQ suggestions, UGC scripts, or email flows instead of Facebook ads.
  • Customize Google Sheet Columns: Add or remove data fields in the Google Sheets node mapping to capture more or less detail as needed.
  • Use Another Email Provider: Swap the Gmail node for Outlook or SendGrid node to align with your company’s email.
  • Poll Interval Adjustment: In the Wait node, change the time interval polling Bright Data to improve workflow responsiveness or reduce API calls.

6. Troubleshooting 🔧

Problem: “HTTP Request – Getting data from Bright Data” returns 401 Unauthorized

Cause: The Bearer token API key is invalid, expired, or missing.

Solution: Go to your HTTP Request node settings and verify your Bright Data API key in the “Authorization” header. Refresh your key if expired.

Problem: No data appears in Google Sheets

Cause: Google Sheets node lacks proper OAuth credentials or the document ID is incorrect.

Solution: Double-check OAuth credential connections in n8n and ensure the spreadsheet ID and sheet name match exactly. Test connection by manually adding a row.

Problem: OpenAI returns no or irrelevant ad copy

Cause: The aggregated review text may be too sparse or prompt not tailored.

Solution: Modify the prompt in “Basic LLM Chain” node to include more context about your company, product, or target audience. Ensure the aggregated text is sufficiently detailed.

7. Pre-Production Checklist ✅

  • Test the form submission URL with sample Trustpilot URLs and various time frames.
  • Verify Bright Data API key validity and permissions.
  • Confirm Google Sheets credentials and correct template spreadsheet usage.
  • Run a dry test and monitor the polling to ensure snapshot readiness detection works.
  • Check that OpenAI API credentials function and produce expected text results.
  • Verify Gmail node sends successful emails with generated content.

8. Deployment Guide

Once tested, activate the workflow in your n8n environment by enabling it from the dashboard.

Monitor initial runs thoroughly by checking n8n execution logs and email outputs.

You can set up automated alerts on workflow failures using n8n’s built-in features or integrate Slack for notifications.

If hosted yourself, ensure your server uptime allows for polling intervals to run uninterrupted.

9. FAQs

Q: Can I use another data scraping provider instead of Bright Data?
A: Yes, but you would need to adapt the HTTP request nodes to match the alternative API’s structure and authentication.

Q: Does this workflow consume many API credits?
A: Bright Data and OpenAI API calls do consume credits. Polling intervals help minimize excessive usage, but monitor your quotas.

Q: Is my data safe?
A: All API communications use HTTPS and OAuth where applicable. Ensure you keep API keys secure and restrict access.

Q: Can this workflow handle large competitors with many thousands of reviews?
A: Yes, but longer polling times or splitting requests may be needed for massive datasets.

10. Conclusion

By following this guide, you’ve set up a powerful n8n workflow that scrapes competitor Trustpilot reviews using Bright Data, filters and analyzes the negative feedback, and outputs actionable Facebook ad copy via OpenAI.

You save 5+ hours of manual research weekly, gain sharper marketing insights, and boost ad effectiveness with data-driven content.

Next steps could include integrating competitor sentiment analysis dashboards, automating regular report generation, or expanding ad copy generation to include other platforms like Google Ads or email campaigns.

Keep experimenting and refining—your marketing edge depends on speed and relevance, and this workflow delivers both.

Related Workflows

Automate Viral UGC Video Creation Using n8n + Degaus (Beginner-Friendly Guide)

Learn how to automate viral UGC video creation using n8n, AI prompts, and Degaus. This beginner-friendly guide shows how to import, configure, and run the workflow without technical complexity.
Form Trigger
Google Sheets
Gmail
+37
Free

AI SEO Blog Writer Automation in n8n (Beginner Guide)

A complete beginner guide to building an AI-powered SEO blog writer automation using n8n.
AI Agent
Google Sheets
httpRequest
+5
Free

Automate CrowdStrike Alerts with VirusTotal, Jira & Slack

This workflow automates processing of CrowdStrike detections by enriching threat data via VirusTotal, creating Jira tickets for incident tracking, and notifying teams on Slack for quick response. Save hours daily by transforming complex threat data into actionable alerts effortlessly.
scheduleTrigger
httpRequest
jira
+5
Free

Automate Telegram Invoices to Notion with AI Summaries & Reports

Save hours on financial tracking by automating invoice extraction from Telegram photos to Notion using Google Gemini AI. This workflow extracts data, records transactions, and generates detailed spending reports with charts sent on schedule via Telegram.
lmChatGoogleGemini
telegramTrigger
notion
+9
Free

Automate Email Replies with n8n and AI-Powered Summarization

Save hours managing your inbox with this n8n workflow that uses IMAP email triggers, AI summarization, and vector search to draft concise replies requiring minimal review. Automate business email processing efficiently with AI guidance and Gmail integration.
emailReadImap
vectorStoreQdrant
emailSend
+12
Free

Automate Email Campaigns Using n8n with Gmail & Google Sheets

This n8n workflow automates personalized email outreach campaigns by integrating Gmail and Google Sheets, saving hours of manual follow-up work and reducing errors in email sequences. It ensures timely follow-ups based on previous email interactions, optimizing communication efficiency.
googleSheets
gmail
code
+5
Free