Konkurrentanalys faller isär i de tråkiga detaljerna. Någon gör en uppslagning, klistrar in några rader i ett kalkylark, glömmer datumet och plötsligt är din ”single source of truth” ett lapptäcke.
SEO-specialister märker det först, men en marknadschef som bygger månadsrapporter och en liten byråägare som jonglerar flera kunddomäner hamnar i samma röra. Den här automationslösningen för RapidAPI Sheets-loggning gör att varje konkurrentuppslagning fångas, tidsstämplas och blir konsekvent.
Du sätter upp ett n8n-flöde som tar en domän från ett enkelt formulär, anropar ett Competitor Analysis API på RapidAPI och skriver sedan resultaten till Google Sheets (eller loggar ”hittades inte” när API:et inte returnerar något).
Så fungerar automationen
Här är hela flödet som du kommer att sätta upp:
n8n Workflow Template: RapidAPI till Google Sheets, logga konkurrentdata
flowchart LR
subgraph sg0["On form submission Flow"]
direction LR
n0@{ icon: "mdi:swap-vertical", form: "rounded", label: "Global Storage", pos: "b", h: 48 }
n1@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If", pos: "b", h: 48 }
n2@{ icon: "mdi:cog", form: "rounded", label: "Wait", pos: "b", h: 48 }
n3["<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"]
n4@{ icon: "mdi:database", form: "rounded", label: "Google Sheets", pos: "b", h: 48 }
n5@{ icon: "mdi:database", form: "rounded", label: "Google Sheets1", pos: "b", h: 48 }
n6["<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/>Competitor Analysis Request"]
n1 --> n4
n1 --> n2
n2 --> n5
n0 --> n6
n3 --> n0
n6 --> n1
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 n3 trigger
class n1 decision
class n4,n5 database
class n6 api
classDef customIcon fill:none,stroke:none
class n3,n6 customIcon
Varför det här spelar roll: konkurrentanalys som faktiskt blir loggad
”Vi loggar det i kalkylarket senare” är så konkurrentspårning tyst dör. I stunden känns det snabbare att göra en uppslagning, plocka ut det intressanta och gå vidare. Sedan uppdateras kalkylarket inkonsekvent, kolumner glider och du slutar lita på loggen. Än värre: när du väl behöver historiken (en kvartalsgenomgång, ett kundsamtal, ett plötsligt rankingfall) sitter du och kör om uppslagningar och gissar vad som ändrats. Ärligt talat är den mentala overheaden det som tar kål på processen.
Det växer snabbt. Här är var det börjar spricka.
- Du gör samma RapidAPI-uppslagning två gånger eftersom ingen minns om den redan är gjord.
- Kopiera/klistra-loggar missar kontext som kördatum, domänformat och fall med ”ingen data”, så rapporter blir rena detektivarbetet.
- API:ets rate limits ignoreras när det går fort, vilket leder till misslyckade anrop och luckor i datasetet.
- Tomma svar registreras inte, så du tappar insyn i vad som kontrollerats och vad som behöver följas upp senare.
Det du bygger: RapidAPI-konkurrentuppslagningar loggade till Sheets
Det här flödet gör konkurrentanalys till en enkel ”skicka in och glöm”-process. Du anger en webbdomän i ett n8n-formulär, och flödet sparar den som en strukturerad variabel så att efterföljande steg inte blir röriga. Därefter skickas domänen till ett Competitor Analysis API via RapidAPI med en HTTP POST-förfrågan. En valideringskontroll bekräftar att svaret innehåller faktiska konkurrentdata (inte en tom payload). Om svaret är giltigt lägger flödet till en strukturerad rad i Google Sheets så att loggen förblir konsekvent. Om API:et inte returnerar något väntar flödet kort för att respektera rate limits, och registrerar sedan en tydlig post med ”Ingen data hittades” i stället för att du ska behöva gissa senare.
Flödet startar med att formuläret skickas in. Sedan anropar det RapidAPI och kontrollerar payloaden innan det skriver till Google Sheets. Till sist hanterar det fall med ”saknad data” på ett pålitligt sätt med en kort väntan och en separat loggväg.
Det du bygger
| Det som automatiseras | Det du uppnår |
|---|---|
|
|
Förväntade resultat
Säg att du följer 20 domäner i veckan. Manuellt blir en snabb konkurrentuppslagning ofta cirka 10 minuter: köra anropet, kopiera resultat, formatera celler, lägga till anteckningar och fixa inkonsekvenser, vilket blir runt 3 timmar per vecka. Med det här flödet tar det cirka 1 minut att skicka in domänen, sedan kör API-anrop och loggning i bakgrunden (plus en väntan på 5 sekunder när det behövs). Du får loggen uppdaterad automatiskt och behåller de där timmarna för analys i stället för kalkylarksarbete.
Innan du börjar
- n8n-instans (prova n8n Cloud gratis)
- Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
- Google Sheets för loggen över konkurrentanalys.
- RapidAPI (Competitor Analysis API) för att hämta konkurrentdata.
- RapidAPI-nyckel (hämta den under API:ets flik ”Endpoints”, i headern x-rapidapi-key).
Kunskapsnivå: Nybörjare. Du kopplar konton, klistrar in en API-nyckel och väljer ett Google Sheet som mål.
Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).
Steg för steg
En formulärinlämning triggar körningen. Du anger en domän (kundsajt eller konkurrent) i det inbyggda n8n-formuläret, vilket startar flödet direkt.
Domänen sparas strukturerat. n8n sparar det inskickade värdet i ett dedikerat fält ”site” så att det kan återanvändas pålitligt i API-anropet och i dina rader i Google Sheets.
RapidAPI anropas och svaret kontrolleras. HTTP-förfrågan skickar domänen till Competitor Analysis API:et, och sedan bekräftar ett ”If”-villkor att payloaden innehåller faktiska konkurrentdata i stället för ett tomt svar.
Google Sheets uppdateras med rätt utfall. Giltiga resultat läggs till i din Results-flik. Om inget kommer tillbaka väntar flödet cirka 5 sekunder (rate-limit-vänligt) och loggar sedan en post med ”Ingen data hittades” så att spårningen förblir komplett.
Du kan enkelt justera vilka fält som loggas så att de matchar dina rapportkolumner. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera formulärtriggern
Börja med att konfigurera formuläret som fångar inmatningen av konkurrentdomän.
- Lägg till eller välj noden Form Input Trigger.
- Ställ in Form Title till
Competitor Analysis. - Ställ in Form Description till
Enter website domain to check competitor. - I Form Fields lägger ni till ett fält med etiketten Website, med platshållaren
e.g. instagram.com, och aktiverar Required.
Steg 2: lagra den inskickade domänen
Fånga formulärinmatningen och normalisera den för användning i efterföljande steg.
- Lägg till noden Store Site Variable efter Form Input Trigger.
- I Assignments ställer ni in Name till
website. - Ställ in Value till
{{ $json.Website }}. - Bekräfta kopplingsvägen: Form Input Trigger → Store Site Variable.
Steg 3: anropa konkurrent-API:t och validera payloaden
Skicka domänen till API:t och validera svaret innan ni loggar resultat.
- Lägg till Competitor API Call och koppla den från Store Site Variable.
- Ställ in URL till
https://competitor-analysis2.p.rapidapi.com/competitor.phpoch Method tillPOST. - Aktivera Send Body och ställ in Content Type till
multipart-form-data. - I Body Parameters ställer ni in website till
{{ $json.website }}. - I Header Parameters ställer ni in x-rapidapi-host till
competitor-analysis2.p.rapidapi.comoch x-rapidapi-key till[CONFIGURE_YOUR_API_KEY]. - Lägg till Validate API Payload och koppla den från Competitor API Call.
- I Validate API Payload behåller ni de fyra villkoren som kontrollerar att
{{ $json.data }},{{ $json.data.semrushAPI.organicCompetitors }},{{ $json.data.semrushAPI.organicPages }}och{{ $json.data.semrushAPI.domainOrganicSearchKeywords }}inte är tomma.
⚠️ Vanlig fallgrop: Platshållaren [CONFIGURE_YOUR_API_KEY] måste ersättas med er faktiska RapidAPI-nyckel, annars misslyckas anropet.
Steg 4: konfigurera utdata till Google Sheets
Logga giltiga API-resultat till ett ark och saknad data till en annan väg.
- Lägg till Append Results Sheet på true-utgången från Validate API Payload.
- Ställ in Operation till
appendoch Authentication tillserviceAccount. - Mappa kolumner i Append Results Sheet till:
- Domain →
{{ $('Store Site Variable').item.json.website }} - Organic Page →
{{ $json.data.semrushAPI.organicPages }} - Organic competitor →
{{ $json.data.semrushAPI.organicCompetitors }} - Domain organic search →
{{ $json.data.semrushAPI.domainOrganicSearchKeywords }}
- Domain →
- Lägg till Delay Step på false-utgången från Validate API Payload.
- Koppla Delay Step → Log Missing Data och ställ in Operation till
appendmed AuthenticationserviceAccount. - Mappa kolumner i Log Missing Data till:
- Domain →
{{ $('Store Site Variable').item.json.website }} - Organic Page →
=Not data found. - Organic competitor →
=Not data found. - Domain organic search →
=Not data found.
- Domain →
- Verifiera routingen: Validate API Payload → Append Results Sheet (true), och Validate API Payload → Delay Step → Log Missing Data (false).
- Credential Required: Anslut era googleApi-inloggningsuppgifter i Append Results Sheet.
- Credential Required: Anslut era googleApi-inloggningsuppgifter i Log Missing Data.
Tips: Låt båda Google Sheets-noderna peka mot samma kalkylark och flik (Sheet1), om ni inte vill separera lyckade resultat och saknad data i olika flikar.
Steg 5: testa och aktivera ert workflow
Validera flödet från början till slut innan ni aktiverar workflowet i produktion.
- Klicka på Execute Workflow och skicka in formuläret i Form Input Trigger med en testdomän.
- Bekräfta att Competitor API Call returnerar data och att Validate API Payload routar korrekt.
- Kontrollera ert Google Sheet för att verifiera att en ny rad läggs till av Append Results Sheet, eller av Log Missing Data om API-svaret saknar fält.
- När allt är verifierat, växla workflowet till Active så att formuläret kan ta emot riktiga inskick.
Felsökningstips
- RapidAPI-uppgifter kan löpa ut eller så kan du ligga på fel plannivå. Om anrop plötsligt misslyckas, kontrollera din RapidAPI-dashboard och bekräfta att nyckeln i HTTP Request-noden matchar den aktiva prenumerationen.
- Om du använder Wait-noder eller extern rendering varierar bearbetningstiderna. Öka väntetiden om efterföljande noder misslyckas vid tomma svar.
- Behörigheter i Google Sheets spelar större roll än många tror. Om infogningar misslyckas, öppna n8n-uppgiften för Google Sheets och bekräfta att den har redigeringsåtkomst till exakt det kalkylarket (och rätt flik-/bladnamn).
Snabba svar
Cirka 30 minuter om ditt Sheet och ditt RapidAPI-konto är redo.
Nej, ingen kodning krävs. Du klistrar in din RapidAPI-nyckel i noden HTTP Request och mappar några fält till Google Sheets.
Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna in RapidAPI-prissättning för Competitor Analysis API:et (det finns oftast en gratisnivå och sedan betald användning).
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger dig obegränsat antal körningar men kräver grundläggande serverhantering.
Ja, det är hela poängen. Du kan ändra vad som sparas i Google Sheets genom att redigera mappningarna i ”Append Results Sheet” och ”Log Missing Data”, och du kan byta noden ”Competitor API Call” till en annan RapidAPI-endpoint om teamet följer andra SEO-signaler. Vanliga justeringar är att lägga till ett fält för ”kundnamn” i formuläret, logga API-plan eller vem som körde, samt dela upp resultat i separata flikar per projekt.
Oftast handlar det om behörigheter. Säkerställ att Google-kontot i din n8n-uppgift kan redigera kalkylarket och dubbelkolla att fliknamnet exakt matchar det som noden är konfigurerad att använda. Om det fortfarande misslyckas, välj om kalkylarket i noden så att n8n uppdaterar filreferensen.
De flesta små team kan köra från dussintals till hundratals uppslagningar per vecka utan att tänka på det, så länge din RapidAPI-plan stödjer anropsvolymen.
Det beror på hur noga du är med datakvalitet. n8n gör det enkelt att validera API-payloaden, routa fall med ”tomt svar” till en separat loggväg och lägga in en väntan för att respektera rate limits utan extra task-kostnader. Du får också self-hosting, vilket är praktiskt om du vill köra många gånger utan att betala per körning. Zapier eller Make kan absolut göra ”API till Google Sheets”, men att hantera branching och edge cases blir ofta klumpigt (eller dyrt) när du skalar. Om du vill kan du prata med en automationsexpert så berättar vi vilken väg som är enklast för just din setup.
När detta väl är på plats slutar konkurrentanalys att vara ett kalkylarksjobb och blir ett pålitligt system som du kan bygga rapportering på.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.