
Forskning på skapere spiser stille opp hele ettermiddager. Jeg blar gjennom TikTok, YouTube og Instagram, kopierer visningstall inn i et ark, og mister så det ene innlegget som faktisk betydde noe.
En ukentlig innboks for søk etter skapere ødelegger den rutinen.
Apify-skuespillere skrape offentlige innlegg fra skaperen, og en n8n automatiseringsarbeidsflyt scorer hvert innlegg, flagger avvikere og spør en AI modell for å oppdage heklingsmønstre.
Så lander et rent sammendrag i Gmail samme dag hver uke, klart før din første kaffe.
Nedenfor er den fullstendige byggingen, node for node, fra aktørinndata og logikk for engasjementspoeng til AI innholdssammendrag og feilvarsler. Ingen teori, bare et system du kan kopiere.
AIMOJO's Rask utredning
Hva lander i innboksen din hver uke
Før du berører en node, lås utdataene. En forskningsinnboks fungerer bare når hver e-post besvarer de samme spørsmålene i samme rekkefølge.
| Digest-seksjon | Hva den viser | Kildenode |
|---|---|---|
| Topp uteliggere | Innlegg med flest visninger kontra skaperen's vanlig median | Poengkodenode |
| Engasjementsledere | Innlegg med flest likerklikk, kommentarer og delinger per visning | Poengkodenode |
| Mønsternotater | Gjentakende kroker, formater og emner på tvers av vinnende innlegg | Grunnleggende LLM-kjede |
| Innholdsideer | Tre ideer teamet ditt kan teste denne uken | Grunnleggende LLM-kjede |
| Rå logglenke | Google-ark med alle skrapede innlegg for senere filtrering | Google Regneark-node |
Byråer bruker dette til å orientere kunder, merkevareteam bruker det til å finne influencer-partnerskap , og soloskapere bruker det til å spore konkurrenter uten å åpne en eneste app.
Dataflyten forblir enkel:
Velge Apify-aktører for skaperdata

Apify Store har ferdige skrapere kalt Actors. Tre av dem dekker de fleste behovene til skapere for research , og hver av dem har datafiltre som holder en ukentlig pull slank.
| skuespiller | Viktige inndatafelt | Utdatafelt verdt å beholde |
|---|---|---|
| YouTube-skraperstreamere/youtube-skraper | startURL-er, maksResultater, maksResultatShorts, maksResultatStrømmer, sorterVideoerEtter, eldsteInnleggsdato | tittel, url, dato, antall visninger, likerklikk, antall kommentarer, kanalnavn, antall abonnenter |
| TikTok-skraperClockworks/Tiktok-skraper | profiler, resultaterPerSide, profilSortering, ekskluderFestedeInnlegg, eldsteInnleggDatoSamlet | tekst, webVideoUrl, createTimeISO, playCount, diggCount, commentCount, shareCount, collectCount, authorMeta.fans |
| Instagram Skrapeapify/instagram-skraper | direkteURLer, resultatType, resultatGrense, kunInnleggNyereEnn | bildetekst, url, shortcode, tidsstempel, likerklikkantall, kommentarerantall, videovisningantall, eierbrukernavn |
Noen få detaljer er viktige her. YouTube-skraper's Datoperioden gjelder bare for kanal-URL-er, og hvis du setter en typegrense til 0, hopper du over det formatet fullstendig.
TikTok Scrapers profileSorting godtar nyeste, populære eller eldste. Datofiltrene er merket som belastede filtre på aktørsiden, så sjekk dette før du aktiverer dem.
Trenger du følgerantall og biografier for Instagram? Legg til Instagram Profile Scraper (apify/instagram-profile-scraper) med en brukernavns-array. Den returnerer følgerantall, biografi, verifisert og nyeste innlegg.
Transkripsjoner er valgfritt tillegg. YouTube-skraper's transcriptionAndSubtitle og TikTok-skraper's downloadSubtitlesOptions trekker ut talte kroker, noe som gjør AI mønsternotatene er langt skarpere.
Inne i den offisielle Apify-noden for n8n

Apify sender en verifisert fellesskapsnode, @apify/n8n-nodes-apify. Søk etter «Apify» i nodepanelet på n8n Cloud og installer den, forutsatt at verifiserte fellesskapsnoder er tillatt i administrasjonspanelet.

På selvhostet n8n, åpne Innstillinger > Fellesskapsnoder , lim inn pakkenavnet og installer. Noden trenger n8n 1.57.0 eller nyere.
| Ressurser | Tilgjengelige operasjoner | Bruk i denne versjonen |
|---|---|---|
| Skuespillere | Utfør en aktør, utfør en aktør og hent datasettet, Web Fetch, få siste utførelse | Hovedskrapetrinn |
| Skuespilleroppgaver | Utfør en oppgave, utfør en oppgave og hent datasettet | Rengjøringsinndata lagret i Apify |
| Skuespillerhenrettelser | Hent én, hent mange, avbryt | Feilsøking og opprydding |
| Oppbevaring | Hent datasettelementer, hent nøkkelverdi-lagerpost | Hent resultater som standardDatasettId |
| Avtrekker | Ved ny Apify-hendelse (Vellykket, Mislykket, Avbrutt, Tidsavbrutt, Hvilken som helst) | Delt versjon av innboksen for store lagoppstillinger |
Autentisering fungerer på to måter. Apify API- legitimasjon henter API-tokenet ditt fra Apify Console, mens Apify OAuth2 API kobler seg til med et enkelt klikk bare på n8n Cloud.
Aktør-operasjonen eksponerer også tilpasset input (JSON), tidsavbrudd i sekunder, minne i megabyte, byggekode og vent til ferdigstillelse.
La egendefinert inndata stå tomt, så bruker skuespilleren sin lagrede standardinndata.
Steg-for-steg-guide til den ukentlige arbeidsflyten for skaperundersøkelser
Trinn 1: Konfigurer skaperlisten i Google Regneark
Opprett et ark kalt Skaperliste med disse kolonnene. Lagkamerater kan legge til eller sette skapere på pause direkte fra Regneark uten å måtte åpne n8n.
Legg til en ny fane kalt Innleggslogg . Alle poengberegnede innlegg blir skrevet der, noe som gir deg historikk for bedre grunnlinjer over tid.
Trinn 2: Lagre hver skraper som en Apify Actor-oppgave

Åpne hver aktør i Apify Console, angi fornuftige grenser og klikk på Lagre som ny oppgave.
Apify Actor-oppgaver lagrer input pluss timeout og minne, slik at n8n-siden holder seg ryddig.
Slå av alle nedlastinger. Videofiler , omslag og avatarer gir mer tyngde uten å hjelpe med researchen.
Trinn 3: Koble til Apify, Google Regneark og Gmail-legitimasjon

Installer Apify-noden, og legg deretter til tre påloggingsinformasjoner i n8n: Apify API , Google Sheets OAuth2 og Gmail OAuth2 . Test hver enkelt før du bygger videre.
En ødelagt legitimasjon halvveis i en arbeidsflyt er sløsing med skrapearbeid, så denne sjekken lønner seg.
Trinn 4: Konfigurer n8n-planutløseren
Slipp inn en Schedule Trigger-node med disse innstillingene:
| Field | Verdi |
|---|---|
| Utløserintervall | uker |
| Uker mellom triggere | 1 |
| Utløser på hverdager | mandag |
| Utløser ved time | 7am |
| Utløser på minutt | 0 |
Angi en tidssone under Arbeidsflytinnstillinger . Uten en tidssone går n8n tilbake til instansens tidssone, og selvhostede installasjoner bruker Amerika/New_York som standard.
Foretrekker du cron? Bruk tilpasset (Cron) med 0 7 * * 1. Uansett utløses n8n Schedule Trigger bare etter at arbeidsflyten er lagret og publisert.
Trinn 5: Bygg plattforminnganger med en kodenode
Legg til en Google Sheets-node (Hent rad(er), fanen Oppretterliste), deretter en Kode-node. Denne Kode-noden gjør listerader om til ett inputobjekt per plattform.
const rows = $input.all().map(i => i.json).filter(r => r.active === 'yes');
const since = $now.minus({ days: 7 }).toFormat('yyyy-MM-dd');
const pick = p => rows.filter(r => r.platform === p);
return [{ json: {
youtube: {
startUrls: pick('youtube').map(r => ({ url: r.profile_url })),
maxResults: 15, maxResultsShorts: 15, maxResultStreams: 0,
sortVideosBy: 'NEWEST', oldestPostDate: since
},
tiktok: {
profiles: pick('tiktok').map(r => r.handle),
resultsPerPage: 20, profileSorting: 'latest',
excludePinnedPosts: true, oldestPostDateUnified: since
},
instagram: {
directUrls: pick('instagram').map(r => r.profile_url),
resultsType: 'posts', resultsLimit: 20, onlyPostsNewerThan: since
}
}}];
$nå er n8n's innebygd Luxon-dato, slik at vinduet på syv dager ruller frem automatisk hver uke. Ingen manuelle datoendringer, noensinne.
Trinn 6: Kjør tre Apify-aktører parallelt
Forgren kodenoden til tre Apify-noder. Velg ressursen Actor Tasks med operasjonen som utfører en oppgave og returnerer datasettelementene.
I Tilpasset input, send det samsvarende objektet som et uttrykk:
{{ JSON.stringify($json.youtube) }}
Gjenta med $json.tiktok og $json.instagram. Tilpasset inndata overstyrer den lagrede oppgaven, mens tidsavbrudd og minne fortsatt kommer fra oppgaven.
Foretrekker du to separate noder? Kjør aktøren med Vent til ferdigstillelse på, og legg deretter til Hent datasettelementer ved å bruke {{ $json.defaultDatasetId }}. Begge banene returnerer identiske data.

Trinn 7: Slå sammen og normaliser til ett skjema
Koble alle tre Apify-nodene til en Merge- node som er satt til Append. Hver plattform gir felt forskjellig navn, så en Code-node tilordner dem til én delt form.
const out = [];
for (const { json: p } of $input.all()) {
if (p.error) continue; // skip failed inputs
if (p.webVideoUrl) {
out.push({ platform: 'tiktok', post_id: p.id, creator: p.authorMeta?.name,
url: p.webVideoUrl, caption: p.text, published: p.createTimeISO,
views: p.playCount, likes: p.diggCount, comments: p.commentCount,
shares: p.shareCount });
} else if (p.shortCode) {
out.push({ platform: 'instagram', post_id: p.shortCode, creator: p.ownerUsername,
url: p.url, caption: p.caption, published: p.timestamp,
views: p.videoViewCount ?? null, likes: p.likesCount,
comments: p.commentsCount, shares: null });
} else if (p.viewCount !== undefined) {
out.push({ platform: 'youtube', post_id: p.id, creator: p.channelName,
url: p.url, caption: p.title, published: p.date,
views: p.viewCount, likes: p.likes, comments: p.commentsCount,
shares: null });
}
}
return out.map(json => ({ json }));
YouTube Scraper skriver feilmeldinger for slettede videoer eller manglende kanaler. p.error-sjekken fjerner disse før de forvrenger poengsummen.
Trinn 8: Poengsett hvert innlegg med avviks- og engasjementsmatematikk
Rå visninger er mer gunstig for store kontoer. En avviksscore for skapere sammenligner hvert innlegg med den aktuelle skaperens egen median, slik at en liten kanals utbrudd skiller seg ut.
| Metric | Formel | Hva den forteller deg |
|---|---|---|
| Avvikspoengsum | innleggsvisninger ÷ median visninger for skaperen | Hvor langt et innlegg slo sin egen grunnlinje |
| Forlovelsesgrad | (likes + kommentarer + delinger) ÷ visninger × 100 | Hvor hardt seerne reagerte |
| Instagram-reserve | innleggslikes ÷ median likerklikk for skaperen | Fungerer for bildeinnlegg uten visningstall |
const items = $input.all().map(i => i.json);
const base = it => it.views || it.likes || 0;
const groups = {};
for (const it of items) (groups[it.creator] ??= []).push(base(it));
const median = a => { const s = [...a].sort((x, y) => x - y), m = Math.floor(s.length / 2);
return s.length % 2 ? s[m] : (s[m - 1] + s[m]) / 2; };
return items.map(it => {
const med = median(groups[it.creator]) || 1;
const eng = it.views ? ((it.likes || 0) + (it.comments || 0) + (it.shares || 0)) / it.views * 100 : null;
return { json: { ...it, outlier: +(base(it) / med).toFixed(2),
engagement: eng === null ? null : +eng.toFixed(2) } };
}).sort((a, b) => b.json.outlier - a.json.outlier);
Én uke med innlegg gir et tynt grunnlag. Etter noen uker kan du lese fanen Innleggslogg og beregne medianverdier fra den foreløpige historikken i stedet.
Trinn 9: Blokker gjentakelser med noden Fjern duplikater

Legg til en node for fjerning av duplikater etter poengsum. Angi operasjonen til å fjerne elementer behandlet i tidligere utførelser og beholde elementer der verdien er ny.
Denne vedvarende dedupliseringen hindrer en manuell retrigger i å sende de samme innleggene to ganger på e-post. Tøm dedupliseringshistorikk tilbakestiller den under testing.
Trinn 10: Legg til AI Mønsteranalyselag
Bruk en Limit-node for å beholde de 15 øverste innleggene, deretter en Aggregate-node satt til Alle elementdata. Da overføres hele bunken til AI som én vare.

Deretter legger du til en grunnleggende LLM-kjede med en hvilken som helst chatmodell du allerede bruker, for eksempel OpenAI, Anthropic eller Gemini.
Slå på Krev spesifikt utdataformat og legg ved en strukturert utdataparser.
Du er en innholdsstrateg for kortfattet tekst.
Nedenfor er denne uken's Toppinnlegg fra skapere som JSON, rangert etter avviksscore.
Returner JSON med:
– «mønstre»: 3 tilbakevendende kroker eller formater, som hver siterer innleggs-URL-er
– «emner»: emner som vises i 2+ vinnende innlegg
– «ideer»: 3 innholdsideer teamet vårt kan filme denne uken
Bruk kun bevis fra dataene. Hvis et mønster er svakt, si det.
{{ JSON.stringify($json.data) }}
Teksting alene går glipp av den oppleste hooken, som vanligvis avgjør en kort video's skjebne.
Med transkripsjoner aktivert i YouTube- eller TikTok-oppgaven, overfør de første linjene med underteksten til det normaliserte elementet.
Beskåret teksten til omtrent de første 300 tegnene. Modellen sammenligner deretter de virkelige åpningslinjene på tvers av vinnerne, og bruken av tokens holder seg lav.
«Bruk kun bevis»-linjen er viktig. Den holder AI innhold mønsteranalyse forankret i ekte innlegg i stedet for generisk trendsnakk.
Trinn 11: Sett sammen HTML-sammendraget og send det via Gmail
En endelig kodenode parer scorede innlegg med AI utdata og bygger e-postens brødtekst:
const posts = $('Limit').all().map(i => i.json);
const ai = ('BasicLLMChain').first().json.output;constrows=posts.map(p=>`<tr><td>{p.platform}</td><td>p.creator</td><td><ahref="{p.url}">(p.caption||'').slice(0,70)</a></td><td>{p.outlier}x</td><td>p.engagement??'–'%</td></tr>`).join('');consthtml=`<h2>TopOutliers</h2><tableborder="1"cellpadding="6">{rows}</table>
<h2>Patterns</h2><ul>${ai.patterns.map(x => `<li>${x}</li>`).join('')}</ul>
<h2>Ideas</h2><ul>${ai.ideas.map(x => `<li>${x}</li>`).join('')}</ul>`;
return [{ json: { html } }];const items = $input.all().map(i => i.json);
const base = it => it.views || it.likes || 0;
const groups = {};
for (const it of items) (groups[it.creator] ??= []).push(base(it));
const median = a => { const s = [...a].sort((x, y) => x - y), m = Math.floor(s.length / 2);
return s.length % 2 ? s[m] : (s[m - 1] + s[m]) / 2; };
return items.map(it => {
const med = median(groups[it.creator]) || 1;
const eng = it.views ? ((it.likes || 0) + (it.comments || 0) + (it.shares || 0)) / it.views * 100 : null;
return { json: { ...it, outlier: +(base(it) / med).toFixed(2),
engagement: eng === null ? null : +eng.toFixed(2) } };
}).sort((a, b) => b.json.outlier - a.json.outlier);
Legg deretter til en Gmail-node med disse innstillingene:

Trinn 12: Logg innlegg til Google Regneark og publiser
Forgren deg fra Fjern duplikater-noden til en Google Regneark-node ved å bruke Legg til eller Oppdater rad i Innleggslogg-fanen. Samsvar på post_id slik at oppdatert statistikk overskriver eldre rader.
Sett tilordning til Tilordne automatisk , siden normaliserte feltnavn allerede samsvarer med kolonnene. Kjør én gang manuelt, sjekk e-posten, og publiser deretter arbeidsflyten.
Oppskalering med Apify-planer og hendelsesutløsere

En enkelt planlagt arbeidsflyt passer for lister på noen få dusin skapere. Utover det holder lange skrapejobber n8n-kjøringer åpne i minutter, og én treg plattform stopper resten.
Fikseringsdelingene fungerer på tvers av begge plattformene:
| Faktor | Enkelt arbeidsflyt | Delt arbeidsflyt |
|---|---|---|
| Oppsettstid | Raskere | Litt lengre |
| Lange skrapejobber | Henrettelsen venter hele tiden | Ingen venting inne n8n |
| Én plattform mislykkes | Kan blokkere fordøyelsen | Andre lander fortsatt |
| Selvhostede behov | Ingen ekstra | Offentlig WEBHOOK_URL for utløseren |
Nye Apify-planer er deaktivert, så aktiver dine etter lagring. Apify sender deg også e-post når en planlagt oppgave ikke starter.
Holder rørledningen sunn uke etter uke
Stille feil er den virkelige fienden her. En tom innboks ser akkurat ut som en stille uke, så bygg inn varsler fra dag én.
Bruken holder seg lav utelukkende gjennom inndatabegrensninger. Stramme datovinduer, begrensede resultater per profil og transkripsjoner kun der det er nødvendig, holder hvert ukentlige trekk lavt.
Der hvor skraping av skapere treffer virkelige grenser

Alle automatiseringspresentasjoner hopper over denne delen, så her er den tydelig.
Behandle innboksen som en forskningsassistent , ikke et orakel. Et menneske bestemmer fortsatt hvilket mønster som fortjener en fotodag.
Raske svar på Apify og n8n Creator Research
Kan n8n utløse Apify Actors uten kode?
Den offisielle Apify-noden utfører aktører eller oppgaver, venter på resultater og returnerer datasettelementer, alt konfigurert gjennom felt i n8n.
Hvilke skapere kan denne arbeidsflyten spore?
Enhver offentlig YouTube-kanal, TikTok-profil eller Instagram-konto. Bytt inn andre Apify Store-aktører for å legge til flere plattformer.
Fungerer Apify-noden som en AI Agentverktøy?
Legg til Apify-verktøyet under en AI Agent's verktøy slik at en modell kan utløse skrapinger på forespørsel fra en chat.
Konklusjon
Forskning blant skapere belønner den som først oppdager et mønster. Manuell rulling gjør det til en fulltidsjobb, og de fleste team gir stille opp etter noen uker.
Apify og n8n overfører den jobben til et system.
Store-aktører henter nye offentlige innlegg, kodenoder gir dem poeng mot hver skaper's egen grunnlinje, og en AI lag gjør tall om til briefer.
Start med én planlagt arbeidsflyt og fem innholdsskapere du allerede følger. Når sammendraget viser seg å være nyttig, kan du utvide listen og gå over til delt oppsett med Apify Schedules.
Gi det tre eller fire uker med loggført historikk. Det's når avvikspoengene skjerpes og mandagsinnboksen din begynner å slå enhver trendrapport du kan kjøpe.
AiMojo anbefaler:



