
Tahimik na kinakain ng creator research ang buong hapon. Ini-scroll ang TikTok, YouTube at Instagram, kinokopya ang bilang ng views sa isang sheet, tapos nawawala ang isang post na talagang mahalaga.
Ang lingguhang inbox ng pananaliksik sa mga tagalikha ay sumisira sa rutinang iyon.
Mga Aktor ng Apify mag-scrape ng mga pampublikong post ng tagalikha, at isang daloy ng trabaho sa automation ng n8n binibigyan ng marka ang bawat post, minamarkahan ang mga outlier at nagtatanong ng AI modelo para makita ang mga padron ng kawit.
Pagkatapos, isang malinis na digest ang lilitaw sa Gmail sa parehong araw bawat linggo, handa na bago ang iyong unang kape.
Nasa ibaba ang buong build, node por node, mula sa mga input ng Actor at lohika ng pagmamarka ng pakikipag-ugnayan sa AI mga buod ng nilalaman at mga alerto sa error. Walang teorya, isang sistema lang na maaari mong kopyahin.
AIMOJO's Mabilis na Pagsusulit
Ano ang Pumupunta sa Inbox Mo Linggo-linggo
Bago hawakan ang isang node, i-lock muna ang output. Gumagana lang ang isang research inbox kapag ang bawat email ay sumasagot ng parehong mga tanong sa parehong pagkakasunud-sunod.
| Seksyon ng Digest | Ang Pinapakita Nito | Pinagmulan na Node |
|---|---|---|
| Mga Nangungunang Outlier | Mga post na may pinakamataas na views kumpara sa creator's karaniwang panggitna | Node ng Kodigo ng Pagmamarka |
| Mga Pinuno ng Pakikipag-ugnayan | Mga post na may pinakamaraming likes, comments at shares kada views | Node ng Kodigo ng Pagmamarka |
| Mga Tala ng Pattern | Mga paulit-ulit na hook, format, at paksa sa mga nanalong post | Pangunahing LLM Chain |
| Mga Ideya sa Nilalaman | Tatlong ideya na maaaring subukan ng iyong koponan ngayong linggo | Pangunahing LLM Chain |
| Raw Log Link | Google Sheet na naglalaman ng bawat na-scrape na post para sa pag-filter sa ibang pagkakataon | Node ng Google Sheets |
Ginagamit ito ng mga ahensya para magbigay ng impormasyon sa mga kliyente, ginagamit din ito ng mga brand team para sa paghahanap ng mga influencer partnership , at ginagamit din ito ng mga solo creator para subaybayan ang mga kakumpitensya nang hindi nagbubukas ng kahit isang app.
Ang daloy ng datos ay nananatiling simple:
Pagpili ng mga Apify Actors para sa Data ng Lumikha

Ang Apify Store ay nagho-host ng mga handa nang scraper na tinatawag na Actors. Tatlo sa mga ito ang sumasaklaw sa karamihan ng mga pangangailangan sa pananaliksik ng mga creator , at bawat isa ay naglalantad ng mga date filter na nagpapanatili ng lingguhang pull lean.
| Aktor | Mga Pangunahing Patlang ng Pag-input | Mga Patlang ng Output na Sulit Panatilihin |
|---|---|---|
| YouTube Scrapermga streamer/youtube-scraper | mga startUrl, maxResults, maxResultsShorts, maxResultStreams, sortVideosBy, oldestPostDate | pamagat, url, petsa, bilang ng view, mga like, bilang ng komento, pangalan ng channel, bilang ng mga subscriber |
| TikTok Scraperclockworks/tiktok-scraper | mga profile, resultaKadaPage, profileSorting, ibukod ang mga PinnedPost, pinakamatandangPostDateUnified | teksto, webVideoUrl, createTimeISO, playCount, diggCount, commentCount, shareCount, collectCount, authorMeta.fans |
| Scraper ng Instagramapify/instagram-scraper | mga direktangUrl, uri ng resulta, limitasyon ng resulta, mga Post lamangMas Bago Kaysa | caption, url, shortCode, timestamp, likesCount, commentsCount, videoViewCount, ownerUsername |
Mahalaga ang ilang detalye rito. YouTube Scraper's Ang hanay ng petsa ay nalalapat lamang sa mga URL ng channel, at ang pagtatakda ng anumang limitasyon sa uri sa 0 ay tuluyang nilalaktawan ang format na iyon.
Tinatanggap ng profileSorting ng TikTok Scraper ang pinakabago, sikat, o pinakamatanda. Ang mga filter ng petsa nito ay minarkahan bilang mga naka-charge na filter sa pahina ng Actor, kaya suriin ito bago paganahin ang mga ito.
Kailangan mo ba ng bilang ng mga tagasunod at bio para sa Instagram? Magdagdag ng Instagram Profile Scraper (apify/instagram-profile-scraper) gamit ang usernames array. Nagbabalik ito ng followersCount, talambuhay, na-verify at pinakabagong mga Post.
Opsyonal na mga karagdagang karagdagan ang mga transcript. YouTube Scraper's transkripsyonAtSubtitle at TikTok Scraper's i-download ang Mga Subtitle na Opsyon hilahin ang mga spoken hook, na ginagawang AI mas matalas ang mga tala ng pattern.
Sa loob ng Opisyal na Apify Node para sa n8n

Nagpapadala ang Apify ng isang beripikadong community node, ang @apify/n8n-nodes-apify. Sa n8n Cloud, hanapin ang “Apify” sa nodes panel at i-install ito, basta't pinapayagan ang mga beripikadong community node sa Admin Panel.

Sa self-hosted na n8n, buksan ang Settings > Community Nodes , i-paste ang pangalan ng package at i-install. Kailangan ng node ang n8n 1.57.0 o mas bago.
| Mapagkukunan | Mga Operasyon na Magagamit | Gamitin sa Buong Ito |
|---|---|---|
| Mga Aktor | Isagawa ang isang Aktor, isagawa ang isang Aktor at kunin ang dataset nito, Web Fetch, kunin ang pinakabagong pagpapatupad | Pangunahing hakbang sa pag-scrape |
| Mga Gawain ng Aktor | Isagawa ang isang gawain, isagawa ang isang gawain at kunin ang dataset nito | Mas malinis na mga input na na-save sa Apify |
| Mga Pagbitay sa Aktor | Kumuha ng isa, kumuha ng marami, itigil | Pag-debug at paglilinis |
| Imbakan | Kumuha ng mga item sa dataset, kumuha ng rekord ng tindahan ng key-value | Hilahin ang mga resulta ayon sa defaultDatasetId |
| Trigger | Sa bagong Kaganapan sa Apify (Nagtagumpay, Nabigo, Natigil, Naubusan ng Oras, Anuman) | Hati na bersyon ng inbox para sa malalaking roster |
Gumagana ang authentication sa dalawang paraan. Kinukuha ng mga kredensyal ng Apify API ang iyong API token mula sa Apify Console, habang ang Apify OAuth2 API ay kumokonekta sa isang click lamang sa n8n Cloud.
Inilalantad din ng operasyong Actor ang Custom input (JSON), Timeout sa segundo, Memorya sa megabytes, Build Tag at Maghintay para matapos.
Iwanang blangko ang custom input at gagamitin ng Actor ang naka-save nitong default input.
Gabay sa Hakbang-hakbang na Paggawa para sa Lingguhang Daloy ng Pananaliksik ng Lumikha
Hakbang 1: I-set Up ang Creator Roster sa Google Sheets
Gumawa ng sheet na pinangalanang Creator Roster gamit ang mga column na ito. Maaaring magdagdag o mag-pause ng mga creator ang mga kasamahan sa team mula mismo sa Sheets nang hindi binubuksan ang n8n.
Magdagdag ng pangalawang tab na tinatawag na Post Log . Ang bawat nakapuntos na post ay isinusulat doon, na nagbibigay sa iyo ng kasaysayan para sa mas mahusay na mga baseline sa paglipas ng panahon.
Hakbang 2: I-save ang Bawat Scraper bilang isang Apify Actor Task

Buksan ang bawat Actor sa Apify Console, magtakda ng mga makatuwirang limitasyon at i-click ang Save as a new task.
Iniimbak ng mga gawain ng Apify Actor ang input kasama ang timeout at memorya, kaya nananatiling maayos ang n8n na bahagi.
Panatilihing naka-off ang bawat download. Ang mga video file , cover, at avatar ay nagdaragdag ng bigat nang hindi nakakatulong sa pananaliksik.
Hakbang 3: Ikonekta ang Apify, Google Sheets at Gmail Credentials

I-install ang Apify node, pagkatapos ay magdagdag ng tatlong kredensyal sa n8n: Apify API , Google Sheets OAuth2 at Gmail OAuth2 . Subukan ang bawat isa bago bumuo pa.
Ang sirang kredensyal sa kalagitnaan ng isang daloy ng trabaho ay nagsasayang ng pagod sa pag-iimprenta, kaya sulit ang pagsusuring ito.
Hakbang 4: I-configure ang n8n Schedule Trigger
Maglagay ng Schedule Trigger node gamit ang mga setting na ito:
| Field | halaga |
|---|---|
| Pag-trigger ng Pag-agwat | Weeks |
| Mga Linggo sa Pagitan ng mga Trigger | 1 |
| Mag-trigger sa mga araw ng trabaho | Lunes |
| Mag-trigger sa Oras | 7am |
| Mag-trigger sa Minuto | 0 |
Magtakda ng timezone sa ilalim ng Workflow Settings . Kung wala nito, babalik ang n8n sa instance timezone, at ang default na settings ng mga self-hosted ay America/New_York.
Mas gusto mo ba ang cron? Gamitin ang Custom (Cron) na may 0 7 * * 1. Alinman sa dalawa, gagana lamang ang n8n Schedule Trigger pagkatapos ma-save at ma-publish ang workflow.
Hakbang 5: Bumuo ng mga Input ng Platform Gamit ang isang Code Node
Magdagdag ng Google Sheets node (Get Row(s), tab Creator Roster), pagkatapos ay isang Code node. Ginagawang isang input object ng Code node na iyon ang mga roster row sa bawat platform.
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
}
}}];
$ngayon ay n8n's may built-in na Luxon date, kaya awtomatikong susulong ang pitong araw bawat linggo. Walang manu-manong pag-edit ng petsa, kailanman.
Hakbang 6: Ipatupad ang Tatlong Apify Actors nang Parallel
Hatiin ang Code node sa tatlong Apify node. Piliin ang Actor Tasks resource na may operasyong nagsasagawa ng isang gawain at nagbabalik ng mga item sa dataset nito.
Sa Custom input, ipasa ang katugmang object bilang isang expression:
{{ JSON.stringify($json.youtube) }}
Ulitin sa $json.tiktok at $json.instagram. Pinapalitan ng custom input ang naka-save na input ng gawain, habang ang timeout at memorya ay nagmumula pa rin sa gawain.
Mas gusto mo ba ang dalawang magkahiwalay na node? Isagawa ang Actor gamit ang Hintaying matapos , pagkatapos ay idagdag ang Get dataset items gamit ang {{ $json.defaultDatasetId }}. Parehong path ang nagbabalik ng magkaparehong data.

Hakbang 7: Pagsamahin at Gawing Normal sa Isang Schema
Ikonekta ang lahat ng tatlong Apify node sa isang Merge node na nakatakda sa Append. Iba-iba ang pangalan ng bawat platform sa mga field, kaya't minamapa ng isang Code node ang mga ito sa isang ibinahaging hugis.
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 }));
Nagsusulat ang YouTube Scraper ng mga error item para sa mga natanggal na video o nawawalang channel. Inaalis ng p.error check ang mga iyon bago pa man nila mabago ang anumang marka.
Hakbang 8: Markahan ang Bawat Post Gamit ang Outlier at Engagement Math
Mas maganda ang mga raw views kaysa sa malalaking account. Inihahambing ng creator outlier score ang bawat post laban sa median ng creator na iyon, kaya namumukod-tangi ang breakout ng isang maliit na channel.
| metric | Pormula | Ang Sinasabi Nito sa Iyo |
|---|---|---|
| Iskor ng Outlier | mga pagtingin sa post ÷ median na pagtingin ng tagalikha | Gaano kalayo nalampasan ng isang post ang sarili nitong baseline |
| Rate ng Pakikipag-ugnayan | (mga like + komento + pagbabahagi) ÷ mga view × 100 | Gaano kahirap ang reaksyon ng mga manonood |
| Instagram Fallback | mga like ng post ÷ median na like ng tagalikha | Gumagana para sa mga post ng larawan na walang bilang ng pagtingin |
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);
Ang isang linggong pag-post ay lumilikha ng manipis na baseline. Pagkatapos ng ilang linggo, basahin ang tab na Post Log at kalkulahin ang mga median mula sa trailing history.
Hakbang 9: I-block ang mga Ulit Gamit ang Remove Duplicates Node

Magdagdag ng Remove Duplicates node pagkatapos ng pag-iskor. Itakda ang operasyon sa Remove Items Processed in Previous Executions at Keep Items Where to Value Is New.
Pinipigilan ng persistent dedupe na ito ang isang manual retrigger na mag-email ng parehong mga post nang dalawang beses. Nire-reset ito ng Clear Deduplication History habang sinusubukan.
Hakbang 10: Idagdag ang AI Layer ng Pagsusuri ng Pattern
Gumamit ng Limit node para mapanatili ang top 15 posts, pagkatapos ay ang Aggregate node na nakatakda sa All Item Data. Ibibigay nito ang buong batch sa AI bilang isang aytem.

Susunod, magdagdag ng Basic LLM Chain gamit ang anumang chat model na ginagamit mo na, tulad ng OpenAI, Anthropic o Gemini.
I-on ang Kinakailangan ang Tiyak na Format ng Output at maglakip ng Structured Output Parser.
Isa kang taga-strategy ng maikling nilalaman.
Nasa ibaba ang mga sumusunod ngayong linggo's Ang mga nangungunang tagalikha ay nagpo-post bilang JSON, niraranggo ayon sa outlier score.
Ibalik ang JSON gamit ang:
– “mga pattern”: 3 paulit-ulit na hook o format, bawat isa ay may mga URL ng post na binabanggit
– “mga paksa”: mga paksang lumalabas sa 2+ nanalong post
– “mga ideya”: 3 ideya sa nilalaman na maaaring i-film ng aming koponan ngayong linggo
Gumamit lamang ng ebidensya mula sa datos. Kung mahina ang isang padron, sabihin ito.
{{ JSON.stringify($json.data) }}
Hindi na kailangan ng mga caption pa lang ang spoken hook, na siyang karaniwang nagpapasya sa isang maikling video.'s kapalaran.
Kapag naka-on ang mga transcript sa YouTube o TikTok task, ilagay ang mga pambungad na linya ng subtitle text sa normalized na item.
Bawasan ang tekstong iyon sa humigit-kumulang unang 300 karakter. Pagkatapos, ikukumpara ng modelo ang mga totoong linya ng pambungad sa mga nanalo, at mananatiling maliit ang paggamit ng token.
Mahalaga ang linyang "gamitin lamang ang ebidensya". Pinapanatili nito AI nilalaman pagsusuri ng padron na nakaangkla sa mga totoong post sa halip na pangkalahatang usapan tungkol sa mga trend.
Hakbang 11: Buuin ang HTML Digest at Ipadala sa pamamagitan ng Gmail
Ang pangwakas na Code node ay nagpares ng mga post na may marka AI output at binubuo ang katawan ng email:
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);
Pagkatapos ay magdagdag ng Gmail node gamit ang mga setting na ito:

Hakbang 12: Mag-log ng mga Post sa Google Sheets at I-publish
Mag-sangay mula sa Remove Duplicates node patungo sa isang Google Sheets node gamit ang Append o Update Row sa tab na Post Log. Itugma sa post_id para ma-overwrite ng mga na-refresh na stats ang mga lumang row.
Itakda ang pagmamapa sa Map Automaticly , dahil ang mga normalized na pangalan ng field ay tumutugma na sa mga column. Isagawa nang manu-mano, tingnan ang email, pagkatapos ay i-publish ang workflow.
Pagpapalawak Gamit ang mga Iskedyul ng Apify at mga Trigger ng Kaganapan

Ang isang naka-iskedyul na daloy ng trabaho ay angkop para sa mga roster ng ilang dosenang tagalikha. Higit pa riyan, ang mahahabang trabaho sa pag-scrape ay nagpapanatili sa mga n8n execution na bukas nang ilang minuto at ang isang mabagal na platform ay nagpapabagal sa iba.
Ang mga fix split ay gumagana sa parehong platform:
| Factor | Isang Daloy ng Trabaho | Hatiin ang Daloy ng Trabaho |
|---|---|---|
| Oras ng pag-set up | Mas mabilis | Medyo mas mahaba |
| Mahahabang trabaho sa pagkiskis | Naghihintay ang pagpapatupad sa buong panahon | Bawal maghintay sa loob ng n8n |
| Nabigo ang isang plataporma | Maaaring harangan ang digest | Ang iba ay nakarating pa rin |
| Mga pangangailangang self-hosted | Walang dagdag | Pampublikong WEBHOOK_URL para sa trigger |
Magsisimulang hindi paganahin ang mga bagong iskedyul ng Apify, kaya paganahin ang sa iyo pagkatapos mag-save. Nag-e-email din ang Apify sa iyo kapag hindi nagsimula ang isang naka-iskedyul na gawain .
Pagpapanatiling Malusog ng Pipeline Linggo-Linggo
Ang mga tahimik na pagkabigo ang tunay na kaaway dito. Ang isang walang laman na inbox ay mukhang isang tahimik na linggo, kaya bumuo ng mga alerto mula sa unang araw.
Mananatiling kaunti ang paggamit kahit na limitado ang input. Mahigpit ang mga petsang itinakda, limitado ang mga resulta bawat profile, at mga transcript lamang kung kinakailangan, kaya maliit ang bawat lingguhang pagkuha.
Kung saan Naaabot ng Creator Scraping ang Tunay na mga Limitasyon

Hindi kasama sa bawat automation pitch ang bahaging ito, kaya narito na ito.
Ituring ang inbox bilang isang research assistant , hindi isang orakulo. Tao pa rin ang nagpapasya kung aling pattern ang karapat-dapat sa isang araw ng pagkuha ng litrato.
Mga Mabilisang Sagot sa Pananaliksik sa Tagalikha ng Apify at n8n
Maaari bang ma-trigger ng n8n ang Apify Actors nang walang code?
Ang opisyal na Apify node ay nagpapatupad ng mga Aktor o gawain, naghihintay ng mga resulta at nagbabalik ng mga item sa dataset, lahat ay na-configure sa pamamagitan ng mga field sa n8n.
Sinong mga creator ang maaaring subaybayan ang workflow na ito?
Kahit anong pampublikong YouTube channel, TikTok profile o Instagram account. Magpalit ng ibang Apify Store Actors para magdagdag ng higit pang platform.
Gumagana ba ang Apify node bilang isang AI Kagamitan ng ahente?
Idagdag ang Kagamitan sa Apify sa ilalim ng isang AI ahente's mga tool para makapag-trigger ang isang modelo ng mga scrape kapag hiniling mula sa isang chat.
Konklusyon
Ginagantimpalaan ng pananaliksik ng mga tagalikha ang sinumang unang makakita ng pattern. Ginagawa itong full-time na trabaho dahil sa manu-manong pag-scroll, at karamihan sa mga koponan ay tahimik na sumusuko pagkatapos ng ilang linggo.
Ibinibigay ng Apify at n8n ang trabahong iyon sa isang sistema.
Ang mga Aktor ng Tindahan ay kumukuha ng mga bagong pampublikong post, ang mga Code node ay nagbibigay ng marka sa mga ito laban sa bawat tagalikha's sariling baseline, at isang AI patong ginagawang mga maikling impormasyon ang mga numero.
Magsimula sa iisang naka-iskedyul na daloy ng trabaho at limang tagalikha na sinusubaybayan mo na. Kapag napatunayan nang kapaki-pakinabang ang digest, palakihin ang roster at lumipat sa split setup gamit ang Apify Schedules.
Bigyan ito ng tatlo o apat na linggong naka-log na history.'s kapag tumataas ang mga outlier score at ang iyong Monday inbox ay nagsisimulang malampasan ang anumang trend report na mabibili mo.
Inirerekomenda ni AiMojo:



