This workflow corresponds to n8n.io template #7597 — we link there as the canonical source.
This workflow follows the Agent → HTTP Request recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"meta": {
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "42c65e43-6fd0-4701-b237-4d308767dc71",
"name": "When clicking \u2018Execute workflow\u2019",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-1328,
4064
],
"parameters": {},
"typeVersion": 1
},
{
"id": "3ee44563-519c-41d9-ac0a-e554c398b562",
"name": "Sticky Note17",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1840,
3920
],
"parameters": {
"width": 400,
"height": 928,
"content": "## \u2699\ufe0f Setup Instructions\n\n### 1\ufe0f\u20e3 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\ufe0f\u20e3 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## \ud83d\udcec Contact Information\nNeed help customizing this workflow or building similar automations? \n\n\ud83d\udce7 [robert@ynteractive.com](mailto:robert@ynteractive.com) \n\ud83d\udd17 [Robert Breen](https://www.linkedin.com/in/robert-breen-29429625/) \n\ud83c\udf10 [ynteractive.com](https://ynteractive.com) \n"
},
"typeVersion": 1
},
{
"id": "77b25aac-86e6-4eab-8b6d-eabe92ae9a28",
"name": "Sticky Note18",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1392,
3920
],
"parameters": {
"color": 7,
"width": 1392,
"height": 928,
"content": "# \ud83d\udce8 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": {
"name": "<your credential>"
}
},
"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": {
"name": "<your credential>"
}
},
"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": "Sticky Note19",
"type": "n8n-nodes-base.stickyNote",
"position": [
-624,
4464
],
"parameters": {
"color": 3,
"width": 288,
"height": 304,
"content": "### 1\ufe0f\u20e3 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": "Set Search Term and # of searches",
"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": "Scrape Channels",
"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": {
"name": "<your credential>"
}
},
"typeVersion": 4.2
},
{
"id": "9ba55e16-493f-4d0d-808a-a8de656a02fe",
"name": "Sticky Note20",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1312,
4288
],
"parameters": {
"color": 3,
"width": 288,
"height": 512,
"content": "### 2\ufe0f\u20e3 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": "Extract Email Address",
"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
}
],
"connections": {
"Search Youtube": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items": {
"main": [
[],
[
{
"node": "Scrape Channels",
"type": "main",
"index": 0
}
]
]
},
"Scrape Channels": {
"main": [
[
{
"node": "Extract Email Address",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model3": {
"ai_languageModel": [
[
{
"node": "Extract Email Address",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Extract Email Address": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Structured Output Parser4": {
"ai_outputParser": [
[
{
"node": "Extract Email Address",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Set Search Term and # of searches": {
"main": [
[
{
"node": "Search Youtube",
"type": "main",
"index": 0
}
]
]
},
"When clicking \u2018Execute workflow\u2019": {
"main": [
[
{
"node": "Set Search Term and # of searches",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
httpQueryAuthopenAiApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This 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: Step 1: Search YouTube with Apify based on a keyword or topic Step 2:…
Source: https://n8n.io/workflows/7597/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
🎯 Create viral TikToks, Shorts, Reels, podcasts, and ASMR videos in minutes — all on autopilot.
Generate AI viral videos with NanoBanana & VEO3, shared on socials via Blotato 2. Uses @blotato/n8n-nodes-blotato, googleSheets, lmChatOpenAi, toolThink. Event-driven trigger; 94 nodes.
RAG CHATBOT Main. Uses telegram, telegramTrigger, lmChatOpenAi, n8n-nodes-mcp. Event-driven trigger; 87 nodes.
The best content automation template in the market is now even better—with “deep research” on time-sensitive topics\! Unlike most n8n content automation templates that are mainly for “demo purposes,”
Digital marketers, content creators, social media managers, and businesses who want to use AI marketing automation for YouTube Shorts without spending hours on production. This AI workflow helps anyon