Competitor Benchmarking Bot: Weekly Similarweb Reports with n8n

Wettbewerbsanalyse automatisieren: Wöchentliche Similarweb-Berichte mit n8n

🇬🇧 English

This article contains affiliate links. If you buy through them, we may earn a commission at no extra cost to you.

Weekly Competitor Benchmarking on Autopilot with n8n and Similarweb

Keeping tabs on competitors manually is tedious: you open a dozen browser tabs, copy traffic numbers into a spreadsheet, compare week-over-week deltas, and then format everything into a report before your Monday stand-up. With the right automation stack you can eliminate all of that. This guide shows you how to build a workflow in n8n — an open-source automation tool with 400+ integrations that you can self-host for free or run on n8n Cloud — that pulls fresh data from Similarweb every week and delivers a ready-to-read competitor report straight to your inbox.

What You Will Build

The finished workflow does five things automatically every Monday morning:

  • Triggers on a weekly schedule
  • Calls the Similarweb API for each competitor domain
  • Formats the raw traffic and engagement data into a clean summary
  • Compares the figures against the previous week stored in a Google Sheet
  • Sends a formatted HTML email report to your team

Prerequisites

  • n8n instance — cloud or self-hosted
  • Similarweb API key — available on paid Similarweb plans
  • Google Sheets — to store historical snapshots
  • An SMTP or Gmail credential — for the email delivery step

Step 1 — Schedule the Trigger

Open n8n and create a new workflow. Add a Schedule Trigger node. Set it to run every Monday at 07:00 in your local timezone. This ensures the report lands in inboxes before the working week begins.

Step 2 — Define Your Competitor List

Add a Set node directly after the trigger. Create an array field called domains and populate it with the competitor domains you want to track, for example:

  • competitor-a.com
  • competitor-b.com
  • competitor-c.com

This single node is the only place you ever need to edit when your competitor list changes.

Step 3 — Split and Call the Similarweb API

Add a Split In Batches node (batch size 1) to loop through each domain. Then connect an HTTP Request node configured as follows:

  • Method: GET
  • URL: https://api.similarweb.com/v1/website/{{$json["domain"]}}/total-traffic-and-engagement/visits
  • Query parameters: start_date, end_date, granularity=weekly, country=world
  • Authentication: Header — api_key: YOUR_KEY

The endpoint returns weekly visit counts, bounce rate, pages per visit, and average visit duration for the requested domain. Repeat the HTTP Request node (or use additional nodes) to also pull the referring-domains endpoint if you want backlink trend data alongside traffic.

Step 4 — Parse and Enrich the Data

Add a Function (or Code) node to extract only the fields you care about and compute useful derived metrics:

  • Total visits (last 7 days)
  • Week-over-week visit change (%)
  • Bounce rate delta
  • Pages per visit
  • Average session duration

A simple JavaScript snippet inside the Code node can calculate percentage changes by dividing the current value by the prior week value retrieved from Google Sheets in the next step.

Step 5 — Read and Write Historical Data in Google Sheets

Add a Google Sheets node set to Read mode. Point it at a sheet named competitor_snapshots with columns: date, domain, visits, bounce_rate, pages_per_visit, avg_duration. Filter rows where date equals last Monday's date to retrieve the prior baseline.

After computing deltas in the Code node, add a second Google Sheets node in Append mode to write today's figures as a new row. Your sheet now doubles as a historical archive and a comparison source — no database required.

Step 6 — Build the HTML Report

Add another Code node to assemble the email body. Loop over all processed competitor objects and generate an HTML table row for each one. A minimal template looks like this:

  • Green arrow + percentage if visits increased week-over-week
  • Red arrow + percentage if visits dropped
  • Neutral dash if change is under 1 %

Keep the HTML inline-styled so it renders correctly in every email client without an external stylesheet.

Step 7 — Send the Email

Connect a Send Email (SMTP) or Gmail node. Set the subject to something like 🔍 Weekly Competitor Report — {{current date}}. Paste the assembled HTML into the body field. Add your team distribution list as recipients. The node fires once per workflow run, not once per competitor, because the Code node already merged all competitors into a single HTML string.

Optional Enhancements

Add a Slack Notification

Insert a Slack node after the email step. Post a brief plain-text summary to a #competitive-intel channel so the team sees the headline numbers without opening their email.

Alert on Sudden Traffic Spikes

Add an IF node that checks whether any competitor's week-over-week change exceeds +20 %. If true, branch to a second Slack message flagged as urgent. This turns your scheduled report into a near-real-time alert system for significant competitor moves.

Track Keyword Traffic Share

The Similarweb API also exposes organic keyword data. Add a second HTTP Request node calling the organic-search/keywords endpoint and merge those results into your report to see which keywords are driving competitor growth each week.

Keeping the Workflow Reliable

  • Error handling: Wrap each HTTP Request node in a Continue on Error setting so a single API failure does not kill the whole run.
  • Rate limits: Add a Wait node (1–2 seconds) between domain calls to stay within Similarweb API rate limits.
  • Credential rotation: Store the API key in n8n's built-in credential manager, not hardcoded in a node field.
  • Logging: Write a summary row to a second Google Sheet tab after each successful run, including timestamp and number of domains processed, for quick audit trails.

What the Report Tells You

Once the bot has been running for four weeks you will have enough history to spot patterns: a competitor ramping up paid traffic before a product launch, a site that loses organic visits after a Google core update, or a new entrant growing 30 % week over week. These are signals that manual tab-switching never surfaces fast enough.

If you want to automate your weekly competitor intelligence without writing server code, you can build and host this entire workflow via n8n — including 400+ integrations and a free self-hosting option — to get actionable benchmarking reports delivered every Monday with zero manual effort.

🇩🇪 Deutsch

Dieser Artikel enthält Affiliate-Links (Werbung). Kaufst du darüber, erhalten wir ggf. eine Provision – für dich ohne Mehrkosten.

Wöchentliche Konkurrenzanalyse automatisieren mit n8n und Similarweb

Wer Wettbewerber manuell beobachtet, verliert jede Woche wertvolle Zeit: Browser-Tabs öffnen, Traffic-Zahlen in Tabellen kopieren, Veränderungen berechnen, Bericht formatieren. Mit dem richtigen Automatisierungs-Stack fällt dieser Aufwand vollständig weg. Diese Anleitung zeigt, wie du in n8n — einem Open-Source-Automatisierungstool mit über 400 Integrationen, kostenlos selbst hostbar oder als Cloud-Variante — einen Workflow baust, der wöchentlich frische Daten von Similarweb abruft und einen fertigen Konkurrenzbericht direkt in dein Postfach liefert.

Was du baust

Der fertige Workflow erledigt jeden Montagmorgen automatisch fünf Aufgaben:

  • Startet nach einem wöchentlichen Zeitplan
  • Ruft für jede Wettbewerber-Domain die Similarweb-API ab
  • Formatiert Rohdaten zu Traffic und Engagement in eine übersichtliche Zusammenfassung
  • Vergleicht die Zahlen mit dem Vorwochenwert aus einem Google Sheet
  • Verschickt einen formatierten HTML-E-Mail-Bericht an dein Team

Voraussetzungen

  • n8n-Instanz — Cloud oder selbst gehostet
  • Similarweb-API-Schlüssel — in kostenpflichtigen Similarweb-Plänen enthalten
  • Google Sheets — zur Speicherung historischer Snapshots
  • SMTP- oder Gmail-Zugangsdaten — für den E-Mail-Versand

Schritt 1 — Zeitplan-Trigger einrichten

Öffne n8n und lege einen neuen Workflow an. Füge einen Schedule Trigger-Knoten hinzu. Stelle ihn auf jeden Montag um 07:00 Uhr in deiner lokalen Zeitzone ein. So liegt der Bericht vor Arbeitsbeginn im Posteingang.

Schritt 2 — Wettbewerberliste definieren

Füge direkt nach dem Trigger einen Set-Knoten ein. Erstelle darin ein Array-Feld namens domains und trage die zu beobachtenden Domains ein, zum Beispiel:

  • wettbewerber-a.de
  • wettbewerber-b.de
  • wettbewerber-c.de

Dieser eine Knoten ist die einzige Stelle, die du ändern musst, wenn sich deine Beobachtungsliste ändert.

Schritt 3 — Domains aufteilen und Similarweb-API aufrufen

Füge einen Split In Batches-Knoten (Batch-Größe 1) hinzu, um die Domains einzeln zu verarbeiten. Danach kommt ein HTTP Request-Knoten mit diesen Einstellungen:

  • Methode: GET
  • URL: https://api.similarweb.com/v1/website/{{$json["domain"]}}/total-traffic-and-engagement/visits
  • Query-Parameter: start_date, end_date, granularity=weekly, country=world
  • Authentifizierung: Header — api_key: DEIN_SCHLÜSSEL

Der Endpoint liefert wöchentliche Besuchszahlen, Absprungrate, Seiten pro Besuch und durchschnittliche Sitzungsdauer für die abgefragte Domain.

Schritt 4 — Daten verarbeiten und anreichern

Füge einen Code-Knoten ein, um nur die relevanten Felder zu extrahieren und nützliche Kennzahlen zu berechnen:

  • Gesamtbesuche (letzte 7 Tage)
  • Woche-über-Woche-Veränderung der Besuche (%)
  • Delta der Absprungrate
  • Seiten pro Besuch
  • Durchschnittliche Sitzungsdauer

Ein kurzes JavaScript-Snippet im Code-Knoten berechnet prozentuale Veränderungen anhand des im nächsten Schritt aus Google Sheets gelesenen Vorwochenwerts.

Schritt 5 — Historische Daten in Google Sheets lesen und schreiben

Füge einen Google Sheets-Knoten im Read-Modus hinzu. Verweise auf ein Tabellenblatt namens competitor_snapshots mit den Spalten: date, domain, visits, bounce_rate, pages_per_visit, avg_duration. Filtere nach Zeilen, deren date dem letzten Montag entspricht, um die Vergleichsbasis zu erhalten.

Nach der Delta-Berechnung im Code-Knoten schreibt ein zweiter Google Sheets-Knoten im Append-Modus die heutigen Werte als neue Zeile. Das Tabellenblatt dient gleichzeitig als historisches Archiv und Vergleichsquelle — ganz ohne Datenbank.

Schritt 6 — HTML-Bericht zusammenbauen

Ein weiterer Code-Knoten fügt alle verarbeiteten Wettbewerber-Objekte zu einem einzigen HTML-E-Mail-Body zusammen. Bewährt hat sich folgendes Muster pro Tabellenzeile:

  • Grüner Pfeil + Prozentwert bei gestiegenem Traffic
  • Roter Pfeil + Prozentwert bei gesunkenem Traffic
  • Neutraler Strich bei Veränderungen unter 1 %

Verwende ausschließlich Inline-CSS, damit der Bericht in jedem E-Mail-Client korrekt dargestellt wird.

Schritt 7 — E-Mail versenden

Verbinde einen Send Email- (SMTP) oder Gmail-Knoten. Setze den Betreff auf etwas wie 🔍 Wöchentlicher Konkurrenzbericht — {{aktuelles Datum}}. Füge den zusammengesetzten HTML-String in das Body-Feld ein und trage deine Team-Verteilerliste als Empfänger ein. Der Knoten feuert einmal pro Workflow-Lauf, da der Code-Knoten bereits alle Wettbewerber zu einem einzigen String zusammengeführt hat.

Optionale Erweiterungen

Slack-Benachrichtigung hinzufügen

Füge nach dem E-Mail-Schritt einen Slack-Knoten ein. Poste eine kurze Textzusammenfassung in einen #competitive-intel-Kanal, damit das Team die wichtigsten Zahlen sieht, ohne die E-Mail öffnen zu müssen.

Alarm bei plötzlichen Traffic-Sprüngen

Ein IF-Knoten prüft, ob die Woche-über-Woche-Veränderung eines Wettbewerbers +20 % überschreitet. Bei Zutreffen zweigt eine zweite, dringlichere Slack-Nachricht ab. So wird dein Wochenbericht zu einem Quasi-Echtzeit-Frühwarnsystem für signifikante Konkurrenz-Bewegungen.

Keyword-Traffic-Anteile tracken

Die Similarweb-API stellt auch organische Keyword-Daten bereit. Ein zusätzlicher HTTP-Request-Knoten am organic-search/keywords-Endpoint liefert Daten dazu, welche Keywords den Wettbewerber-Traffic wöchentlich antreiben.

Den Workflow zuverlässig halten

  • Fehlerbehandlung: Aktiviere für jeden HTTP-Request-Knoten die Option Continue on Error, damit ein einzelner API-Fehler nicht den gesamten Lauf abbricht.
  • Rate Limits: Füge zwischen den Domain-Aufrufen einen Wait-Knoten (1–2 Sekunden) ein, um die API-Limits von Similarweb einzuhalten.
  • Zugangsdaten: Speichere den API-Schlüssel im integrierten Credential-Manager von n8n, nicht im Node-Feld selbst.
  • Protokollierung: Schreibe nach jedem erfolgreichen Lauf eine Zusammenfassungszeile (Zeitstempel, Anzahl verarbeiteter Domains) in ein zweites Tabellenblatt für schnelle Auditierbarkeit.

Was der Bericht zeigt

Nach vier Wochen Laufzeit hast du genug Historie, um Muster zu erkennen: ein Wettbewerber, der vor einem Produktlaunch bezahlten Traffic hochfährt; eine Website, die nach einem Google-Core-Update organische Besuche verliert; oder ein Neueinsteiger, der Woche für Woche um 30 % wächst. Das sind Signale, die manuelles Tab-Springen niemals rechtzeitig liefert.

Wenn du deine wöchentliche Wettbewerbsanalyse vollständig automatisieren möchtest, kannst du über n8n diesen gesamten Workflow aufbauen und betreiben — inklusive über 400 Integrationen und kostenlosem Self-Hosting — und bekommst jeden Montag automatisch einen fertigen Benchmarking-Bericht ohne manuellen Aufwand.