Att kopiera Instagram-profiluppgifter till ett kalkylark låter enkelt – tills du har gjort det för 50 konton, inser att hälften av bios har ändrats och att din ”research” redan är inaktuell.
Det här är den typen av Apify Sheets logging-automatisering som sparar marknadsteam timmar, gör att byråägare slipper leverera stökiga leadlistor och ger grundare ett researchsystem de faktiskt kan lita på.
Du får se hur det här n8n-flödet hämtar en lista med användarnamn från Google Sheets, skrapar hela offentliga profiler via en Apify-actor, loggar strukturerade rader i ett andra ark och markerar sedan varje användarnamn som klart.
Så fungerar den här automatiseringen
Hela n8n-flödet, från trigger till slutresultat:
n8n Workflow Template: Apify till Google Sheets: logga Instagramprofiler
flowchart LR
subgraph sg0["Schedule Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Schedule Trigger", pos: "b", h: 48 }
n1@{ icon: "mdi:cog", form: "rounded", label: "Aggregate", pos: "b", h: 48 }
n2@{ icon: "mdi:database", form: "rounded", label: "get usernames", 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/httprequest.dark.svg' width='40' height='40' /></div><br/>call apify actor"]
n4@{ icon: "mdi:cog", form: "rounded", label: "Limit", pos: "b", h: 48 }
n5@{ icon: "mdi:database", form: "rounded", label: "Append full profiles on sheet", pos: "b", h: 48 }
n6@{ icon: "mdi:database", form: "rounded", label: "mark user name as scraped", pos: "b", h: 48 }
n4 --> n1
n1 --> n3
n2 --> n4
n0 --> n2
n3 --> n5
n3 --> n6
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 n0 trigger
class n2,n5,n6 database
class n3 api
classDef customIcon fill:none,stroke:none
class n3 customIcon
Problemet: Instagram-research blir rörigt snabbt
Instagram-profilresearch börjar oftast med goda intentioner. Sedan blir det flikar överallt, inkonsekventa anteckningar och ett kalkylark fullt av ”ungefär”-data som ingen vill ta ansvar för. Du kopierar följarsiffror som ändras i morgon, klistrar in bios med trasiga radbrytningar och missar uppenbar kontext som kategori, externa länkar eller ett nytt namn. Än värre: manuellt arbete uppmuntrar genvägar, så du slutar uppdatera arket och det förvandlas långsamt till ett museum av gamla profiler. Den mentala belastningen är det som tar kål på det: du kan inte skala research när varje profil kräver fokus som ett litet engångsprojekt.
Friktionen byggs på. Här är var det oftast faller isär.
- Researcher lägger cirka 5 minuter per profil bara på att samla in grunderna, och tiden fördubblas när de behöver dubbelkolla att allt stämmer.
- Team får format som inte matchar varandra eftersom en person klistrar in emojis, en annan tar bort dem, och plötsligt blir sortering och filtrering opålitlig.
- Det är lätt att skrapa samma användarnamn två gånger, vilket skräpar ner datasetet och gör att rapporteringen känns opålitlig.
- När en intressent frågar: ”Är det här aktuellt?”, är det ärliga svaret oftast ”inte direkt”, eftersom det saknas en konsekvent uppdateringscykel.
Lösningen: schemalagda Apify-skrapningar som loggar strukturerade rader
Det här flödet gör Instagram-profilresearch till ett repeterbart system. Enligt schema (varje par minuter, eller den frekvens du väljer) öppnar n8n ditt Google Sheet och hämtar en kö med Instagram-användarnamn från en flik som heter Usernames. Den tar upp till 20 åt gången så att du inte överbelastar skrapningen eller arket, och paketerar sedan användarnamnen i en batchförfrågan. Därefter anropar den din anpassade Apify-actor för att skrapa fullständig offentlig profildata, som kommer tillbaka som strukturerade resultat i stället för slumpmässig copy-paste-text. Slutligen lägger flödet till korrekt formaterade profilposter i en andra flik (som heter fullprofiles) och markerar källanvändarnamnen som scraped = TRUE så att de inte behandlas igen.
Flödet börjar med en tidsstyrd trigger och en läsning från Google Sheets. Sedan sköter Apify själva Instagram-profilskrapningen i ett anrop per batch. Google Sheets får två skrivningar på slutet: en för att logga profilraderna och en för att flagga användarnamnen som klara.
Det du får: automatisering vs. resultat
| Vad det här flödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut i praktiken
Säg att du följer 200 Instagram-konton för influencer outreach. Manuellt blir även 5 minuter per profil cirka 16 timmar av rent rutinjobb, och det är innan någon ens formaterar arket. Med det här flödet kan du bearbeta 20 användarnamn per körning; om det körs var 10:e minut under en vanlig arbetsdag får du kapacitet att uppdatera motsvarande cirka 900 profiler utan att röra en webbläsare. Realistiskt sett är du klar med dina 200 på en eftermiddag, och därefter handlar det bara om att hålla datasetet aktuellt.
Det du behöver
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Google Sheets för användarnamnskö och output-tabell
- Apify-actor för att skrapa offentliga Instagram-profiler
- Apify API-token (hämta den i dina kontoinställningar i Apify)
Svårighetsgrad: Nybörjare. Du kopplar Google Sheets, klistrar in en API-token och säkerställer att arkkolumnerna matchar flödet.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis konsultation i 15 minuter).
Så fungerar det
En schemalagd trigger kör flödet. Du väljer frekvens (varje par minuter är vanligt), vilket gör att researchen hålls uppdaterad utan att någon behöver komma ihåg att ”uppdatera arket”.
Användarnamn hämtas från Google Sheets. n8n läser fliken Usernames och begränsar sedan körningen till 20 poster så att du får förutsägbara batchar och färre överraskningar.
Dessa användarnamn skickas till Apify för skrapning. Flödet aggregerar batchen och anropar Apify-actor:n via en HTTP-förfrågan och tar sedan emot strukturerad profildata tillbaka (namn, bio, följarsiffror med mera beroende på vad din actor returnerar).
Strukturerade rader loggas och kön uppdateras. Resultaten läggs till i arket fullprofiles och de ursprungliga användarnamnen markeras som skrapade så att de inte behandlas igen nästa gång.
Du kan enkelt ändra schemat så att det körs varje timme i stället för varannan minut, beroende på dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: Konfigurera schedule trigger
Ställ in workflowet så att det körs automatiskt enligt ett återkommande schema.
- Lägg till och öppna Scheduled Automation Trigger.
- Under Rule → Interval ställer ni in Field till
minutesför att matcha den befintliga schemaregeln. - Koppla Scheduled Automation Trigger till Retrieve Usernames Sheet.
Steg 2: Anslut Google Sheets
Hämta användarnamn från ert kalkylark och förbered workflowets Google Sheets-anslutningar.
- Öppna Retrieve Usernames Sheet och ställ in Document till
[YOUR_ID]och Sheet tillUsernames(värdegid=0). - I Retrieve Usernames Sheet behåller ni filtret på scraped via Filters → lookupColumn inställt på
scraped. - Inloggningsuppgift krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter för Retrieve Usernames Sheet.
- Inloggningsuppgift krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter för Append Profile Records och Flag Usernames Processed.
Steg 3: Sätt upp bearbetningsnoder
Begränsa batchstorleken och aggregera användarnamn till en enda payload för API-anropet.
- Öppna Cap Item Count och ställ in Max Items till
20. - Öppna Combine Usernames och säkerställ att Fields to Aggregate inkluderar fieldToAggregate inställt på
username. - Koppla Retrieve Usernames Sheet → Cap Item Count → Combine Usernames.
username kommer Combine Usernames att ge tom data och API-anropet misslyckas.Steg 4: Konfigurera utdata och API-åtgärder
Skicka användarnamn till scraping-API:t och skriv tillbaka resultat till Google Sheets.
- Öppna Run Profile Scrape API och ställ in URL till
https://api.apify.com/v2/acts/mohamedgb00714~instagram-full-profile-scraper/run-sync-get-dataset-items?token=[CONFIGURE_YOUR_TOKEN]. - I Run Profile Scrape API ställer ni in Send Body till
true, Body Content Type tilljsonoch JSON Body till={ "instagramUsernames": [ {{ $json.username.map(item => `"${item}"`) }} ] }. - Öppna Append Profile Records och ställ in Operation till
append, Document till[YOUR_ID]och Sheet tillfullprofiles(värde458127000). - Öppna Flag Usernames Processed och ställ in Operation till
update, Sheet tillUsernames(värdegid=0) och mappa Columns med scraped inställt påTRUEoch username inställt på={{ $json.username }}. - Koppla Combine Usernames → Run Profile Scrape API.
- Run Profile Scrape API skickar utdata till både Append Profile Records och Flag Usernames Processed parallellt.
[CONFIGURE_YOUR_TOKEN] med er giltiga Apify-token, annars kommer API:t att returnera auktoriseringsfel.Steg 5: Testa och aktivera ert workflow
Verifiera att användarnamn scrap:as, läggs till och flaggas korrekt innan ni kör enligt schema.
- Klicka på Execute Workflow för att köra flödet manuellt från Scheduled Automation Trigger.
- Bekräfta att Append Profile Records lägger till nya rader i arket
fullprofilesoch att Flag Usernames Processed markerarscrapedsomTRUEför de användarnamnen. - Om resultaten är korrekta, växla workflowet till Active för att aktivera schemalagda körningar.
Vanliga fallgropar
- Google Sheets-autentiseringsuppgifter kan gå ut eller kräva specifika behörigheter. Om något slutar fungera, kontrollera först det anslutna Google-kontot och status för n8n-credentials.
- Om din Apify-actor tar längre tid för vissa batchar kan processingtiderna variera. Öka intervallen i schemat (eller lägg till väntetid) om du ser delresultat eller tomma svar som läggs till.
- Apify API-token är lätt att klistra in fel, och ett enda saknat tecken kan orsaka tysta fel. Kopiera token på nytt från Apify och bekräfta sedan att noden HTTP Request använder rätt header eller query-fält.
Vanliga frågor
Cirka 30 minuter om ditt ark och din Apify-token är redo.
Nej. Du kopplar främst Google Sheets och klistrar in din Apify API-token i noden HTTP Request.
Ja. n8n har ett gratis alternativ för egen hosting 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 med Apify-användning, som beror på actor:n och hur ofta du kör den.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och hanterar n8n bra. Egen hosting ger dig obegränsade körningar men kräver grundläggande serveradministration.
Ja, men bara inom ramen för vad din Apify-actor kan returnera juridiskt och tekniskt. Du kan byta vilka fält du sparar genom att justera vad du skickar i HTTP Request-noden ”Run Profile Scrape API” och genom att mappa kolumner i ”Append Profile Records”. Vanliga anpassningar är att lägga till extra output-kolumner (som webbplats-URL), ändra batchstorleken från 20 till ett lägre antal och köra schemat varje timme i stället för varannan minut.
Oftast beror det på en ogiltig eller utgången Apify API-token, så skapa en ny i Apify och uppdatera noden HTTP Request. Det kan också vara en felaktig actor-endpoint, eller att actor:n förväntar sig ett något annat input-format än vad flödet skickar. Om det bara fallerar vid större körningar kan du slå i rate limits eller actor-kapacitet, så minska batchstorleken och sänk körfrekvensen. Kolla även senaste körningens output i n8n; HTTP-svarets body brukar säga vad Apify inte gillade.
Vid varje schemalagd körning hanterar flödet upp till 20 användarnamn, och du kan skala genom att köra oftare eller höja taket. På n8n Cloud beror din månadsgräns för körningar på din plan; om du kör med egen hosting finns ingen körningsgräns, men din server och Apify-actor:ns genomströmning blir de verkliga begränsningarna.
Ofta, ja, eftersom flödet bygger på batchning, förgrening och uppdateringar i arket som blir dyra eller klumpiga i Zapier och Make. n8n gör det enklare att läsa en kö, bearbeta en batch, skriva resultat och sedan markera poster som klara i samma körning. Du får också möjligheten till egen hosting, vilket är viktigt när du kör täta scheman. Men om du bara behöver ett litet flöde med ”ett användarnamn in, en rad ut” kan Zapier eller Make kännas enklare. Prata med en automationsexpert om du vill ha hjälp att välja.
När detta väl är igång slutar ditt kalkylark att vara ”så gott det går” och blir i stället pålitligt. Flödet hanterar det repetitiva, så att du kan lägga tiden på att fatta beslut utifrån data i stället för att samla in den.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.