Apify 스크레이퍼와 GPT-4o Mini를 사용하여 YouTube 크리에이터 이메일 추출
이것은AI Summarization, Multimodal AI분야의자동화 워크플로우로, 12개의 노드를 포함합니다.주로 Set, HttpRequest, ManualTrigger, SplitInBatches, Agent 등의 노드를 사용하며. Apify 스크레이퍼와 GPT-4o Mini를 사용하여 YouTube创作者 이메일 추출
- •대상 API의 인증 정보가 필요할 수 있음
- •OpenAI API Key
사용된 노드 (12)
{
"meta": {
"instanceId": "ad0113c344ee237399e44e9f11798b05baeb83a6196d514a9ae9d2ad71c3b5c9",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "42c65e43-6fd0-4701-b237-4d308767dc71",
"name": "'워크플로 실행' 클릭 시",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-1328,
4064
],
"parameters": {},
"typeVersion": 1
},
{
"id": "3ee44563-519c-41d9-ac0a-e554c398b562",
"name": "스티커 노트17",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1840,
3920
],
"parameters": {
"width": 400,
"height": 928,
"content": "## ⚙️ Setup Instructions\n\n### 1️⃣ Set Up OpenAI Connection\n1. Go to [OpenAI Platform](https://platform.openai.com/api-keys) \n2. Navigate to [OpenAI Billing](https://platform.openai.com/settings/organization/billing/overview) \n3. Add funds to your billing account \n4. Copy your API key into the **OpenAI credentials** in n8n \n\n### 2️⃣ Set Up Apify Connection\n1. Go to [Apify Console](https://console.apify.com/) and sign up/login \n2. Get your API token here: [Apify API Keys](https://console.apify.com/account/integrations) \n3. Set up the two scrapers in your Apify account: \n - [YouTube Scraper by streamers](https://apify.com/streamers/youtube-scraper) \n - [YouTube Scraper by apidojo](https://apify.com/apidojo/youtube-scraper) \n4. In n8n, create a **HTTP Query Auth** credential \n - Query Key: `token` \n - Value: `YOUR_APIFY_API_KEY` \n5. Attach this credential to both **HTTP Request nodes** (`Search YouTube` and `Scrape Channels`) \n\n---\n\n\n## 📬 Contact Information\nNeed help customizing this workflow or building similar automations? \n\n📧 [robert@ynteractive.com](mailto:robert@ynteractive.com) \n🔗 [Robert Breen](https://www.linkedin.com/in/robert-breen-29429625/) \n🌐 [ynteractive.com](https://ynteractive.com) \n"
},
"typeVersion": 1
},
{
"id": "77b25aac-86e6-4eab-8b6d-eabe92ae9a28",
"name": "스티커 노트18",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1392,
3920
],
"parameters": {
"color": 7,
"width": 1392,
"height": 928,
"content": "# 📨 YouTube Creator Email Finder (n8n + Apify + OpenAI)\n\nThis workflow automates the process of finding **YouTube creator contact emails** for outreach and partnerships. It combines **Apify scrapers** with **OpenAI** to deliver a clean list of emails from channel descriptions: \n"
},
"typeVersion": 1
},
{
"id": "9243bdc9-5d5f-41f8-b219-fd0195e52367",
"name": "Structured Output Parser4",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
-224,
4496
],
"parameters": {
"jsonSchemaExample": "{\n\t\"emails\": [\"email1\", \"email2\"]\n}"
},
"typeVersion": 1.3
},
{
"id": "93eab497-180b-4430-91fb-f29abb01d59f",
"name": "OpenAI Chat Model3",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-528,
4624
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini",
"cachedResultName": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "4l6TDfLZVFS24g3X",
"name": "OpenAi account 4"
}
},
"typeVersion": 1.2
},
{
"id": "e1060cad-64e1-4c74-9bbe-05b270116c9a",
"name": "Search Youtube",
"type": "n8n-nodes-base.httpRequest",
"position": [
-1216,
4672
],
"parameters": {
"url": "=https://api.apify.com/v2/acts/streamers~youtube-scraper/run-sync-get-dataset-items\n",
"method": "POST",
"options": {},
"jsonBody": "={\n \"dateFilter\": \"month\",\n \"downloadSubtitles\": false,\n \"hasCC\": false,\n \"hasLocation\": false,\n \"hasSubtitles\": false,\n \"is360\": false,\n \"is3D\": false,\n \"is4K\": false,\n \"isBought\": false,\n \"isHD\": false,\n \"isHDR\": false,\n \"isLive\": false,\n \"isVR180\": false,\n \"lengthFilter\": \"under4\",\n \"maxResultStreams\": 0,\n \"maxResults\": {{ $json.channels }},\n \"maxResultsShorts\": 0,\n \"oldestPostDate\": \"10 days\",\n \"preferAutoGeneratedSubtitles\": false,\n \"saveSubsToKVS\": false,\n \"searchQueries\": [\n \"{{ $json.Search }}\"\n ],\n \"sortingOrder\": \"relevance\"\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpQueryAuth"
},
"credentials": {
"httpQueryAuth": {
"id": "wR5zdRq0CfAhl2yx",
"name": "Query Auth account"
}
},
"typeVersion": 4.2
},
{
"id": "5b5d1252-9917-490a-ab37-21125383101b",
"name": "Loop Over Items",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-880,
4192
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "21d45ff7-7e36-4bc3-86aa-c9532050549d",
"name": "스티커 노트19",
"type": "n8n-nodes-base.stickyNote",
"position": [
-624,
4464
],
"parameters": {
"color": 3,
"width": 288,
"height": 304,
"content": "### 1️⃣ Set Up OpenAI Connection\n1. Go to [OpenAI Platform](https://platform.openai.com/api-keys) \n2. Navigate to [OpenAI Billing](https://platform.openai.com/settings/organization/billing/overview) \n3. Add funds to your billing account \n4. Copy your API key into the **OpenAI credentials** in n8n "
},
"typeVersion": 1
},
{
"id": "e6f062bd-6b74-4639-b0c0-409d233c27da",
"name": "검색어 및 검색 횟수 설정",
"type": "n8n-nodes-base.set",
"position": [
-1136,
4064
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "86221d8e-18d1-4a37-9ffe-b31db3a3441d",
"name": "Search",
"type": "string",
"value": "n8n workflows"
},
{
"id": "59c2fc27-8a31-4760-b2ea-713e676a2be8",
"name": "channels",
"type": "string",
"value": "2"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "f4e3e8ac-b072-42fc-8c7b-b9d260caffd5",
"name": "채널 스크래핑",
"type": "n8n-nodes-base.httpRequest",
"position": [
-624,
4080
],
"parameters": {
"url": "=https://api.apify.com/v2/acts/apidojo~youtube-scraper/run-sync-get-dataset-items\n",
"method": "POST",
"options": {},
"jsonBody": "={\n \"customMapFunction\": \"(object) => { return {...object} }\",\n \"duration\": \"all\",\n \"features\": \"all\",\n \"getTrending\": false,\n \"includeShorts\": false,\n \"maxItems\": 1,\n \"sort\": \"r\",\n \"startUrls\": [\n \"{{ $json.channelUrl }}\"\n ],\n \"uploadDate\": \"all\"\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpQueryAuth"
},
"credentials": {
"httpQueryAuth": {
"id": "wR5zdRq0CfAhl2yx",
"name": "Query Auth account"
}
},
"typeVersion": 4.2
},
{
"id": "9ba55e16-493f-4d0d-808a-a8de656a02fe",
"name": "스티커 노트20",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1312,
4288
],
"parameters": {
"color": 3,
"width": 288,
"height": 512,
"content": "### 2️⃣ Set Up Apify Connection\n1. Go to [Apify Console](https://console.apify.com/) and sign up/login \n2. Get your API token here: [Apify API Keys](https://console.apify.com/account/integrations) \n3. Set up the two scrapers in your Apify account: \n - [YouTube Scraper by streamers](https://apify.com/streamers/youtube-scraper) \n - [YouTube Scraper by apidojo](https://apify.com/apidojo/youtube-scraper) \n4. In n8n, create a **HTTP Query Auth** credential \n - Query Key: `token` \n - Value: `YOUR_APIFY_API_KEY` \n5. Attach this credential to both **HTTP Request nodes** (`Search YouTube` and `Scrape Channels`) "
},
"typeVersion": 1
},
{
"id": "6a580837-44e4-4abe-acd8-e86a8acae04e",
"name": "이메일 주소 추출",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-400,
4192
],
"parameters": {
"text": "={{ $json.description }}",
"options": {
"systemMessage": "extract email addresses from this. if they are in a bad format, format them. \n\noutput likd this. \n\n\n{\n\t\"emails\": [\"email1\", \"email2\"]\n}"
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2.2
}
],
"pinData": {},
"connections": {
"e1060cad-64e1-4c74-9bbe-05b270116c9a": {
"main": [
[
{
"node": "5b5d1252-9917-490a-ab37-21125383101b",
"type": "main",
"index": 0
}
]
]
},
"5b5d1252-9917-490a-ab37-21125383101b": {
"main": [
[],
[
{
"node": "f4e3e8ac-b072-42fc-8c7b-b9d260caffd5",
"type": "main",
"index": 0
}
]
]
},
"f4e3e8ac-b072-42fc-8c7b-b9d260caffd5": {
"main": [
[
{
"node": "6a580837-44e4-4abe-acd8-e86a8acae04e",
"type": "main",
"index": 0
}
]
]
},
"93eab497-180b-4430-91fb-f29abb01d59f": {
"ai_languageModel": [
[
{
"node": "6a580837-44e4-4abe-acd8-e86a8acae04e",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"6a580837-44e4-4abe-acd8-e86a8acae04e": {
"main": [
[
{
"node": "5b5d1252-9917-490a-ab37-21125383101b",
"type": "main",
"index": 0
}
]
]
},
"9243bdc9-5d5f-41f8-b219-fd0195e52367": {
"ai_outputParser": [
[
{
"node": "6a580837-44e4-4abe-acd8-e86a8acae04e",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"e6f062bd-6b74-4639-b0c0-409d233c27da": {
"main": [
[
{
"node": "e1060cad-64e1-4c74-9bbe-05b270116c9a",
"type": "main",
"index": 0
}
]
]
},
"42c65e43-6fd0-4701-b237-4d308767dc71": {
"main": [
[
{
"node": "e6f062bd-6b74-4639-b0c0-409d233c27da",
"type": "main",
"index": 0
}
]
]
}
}
}이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
중급 - AI 요약, 멀티모달 AI
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
Robert Breen
@rbreenProfessional services consultant with over 10 years of experience solving complex business problems across industries. I specialize in n8n and process automation—designing custom workflows that integrate tools like Google Calendar, Airtable, GPT, and internal systems. Whether you need to automate scheduling, sync data, or streamline operations, I build solutions that save time and drive results.
이 워크플로우 공유