{ "id": "TApiWf19ChannelDB01", "name": "Channel → Full Video Metadata DB (TranscriptAPI)", "nodes": [ { "parameters": {}, "id": "19191919-1919-4919-8919-191919191901", "name": "Start", "type": "n8n-nodes-base.manualTrigger", "typeVersion": 1, "position": [ -240, 0 ] }, { "parameters": { "assignments": { "assignments": [ { "id": "19191919-1919-4919-8919-1919191919a1", "name": "channel", "value": "REPLACE_WITH_CHANNEL_HANDLE_OR_ID", "type": "string" } ] }, "options": {} }, "id": "19191919-1919-4919-8919-191919191902", "name": "Set Channel", "type": "n8n-nodes-base.set", "typeVersion": 3.4, "position": [ -20, 0 ] }, { "parameters": { "url": "https://transcriptapi.com/api/v2/youtube/channel/resolve", "authentication": "genericCredentialType", "genericAuthType": "httpHeaderAuth", "sendQuery": true, "queryParameters": { "parameters": [ { "name": "input", "value": "={{ $json.channel }}" } ] }, "options": {} }, "id": "19191919-1919-4919-8919-191919191903", "name": "Resolve Channel", "type": "n8n-nodes-base.httpRequest", "typeVersion": 4.2, "position": [ 200, 0 ], "credentials": { "httpHeaderAuth": { "id": "REPLACE_TRANSCRIPTAPI_CRED_ID", "name": "TranscriptAPI - Authorization Bearer" } } }, { "parameters": { "url": "https://transcriptapi.com/api/v2/youtube/channel/videos", "authentication": "genericCredentialType", "genericAuthType": "httpHeaderAuth", "sendQuery": true, "queryParameters": { "parameters": [ { "name": "channel", "value": "={{ $json.channel_id }}" } ] }, "options": {} }, "id": "19191919-1919-4919-8919-191919191904", "name": "List Channel Videos", "type": "n8n-nodes-base.httpRequest", "typeVersion": 4.2, "position": [ 420, 0 ], "credentials": { "httpHeaderAuth": { "id": "REPLACE_TRANSCRIPTAPI_CRED_ID", "name": "TranscriptAPI - Authorization Bearer" } } }, { "parameters": { "jsCode": "// One row per video — ready for Google Sheets / Airtable / a database.\nconst resolved = $('Resolve Channel').first().json;\nconst data = $input.first().json;\nconst videos = data.results || [];\nconst info = data.playlist_info || {};\nreturn videos.map((v) => ({\n json: {\n channelId: resolved.channel_id,\n channelTitle: v.channelTitle || info.ownerName || null,\n videoId: v.videoId,\n title: v.title || null,\n videoUrl: 'https://www.youtube.com/watch?v=' + v.videoId,\n lengthText: v.lengthText || null,\n viewCountText: v.viewCountText || null,\n index: v.index || null,\n },\n}));" }, "id": "19191919-1919-4919-8919-191919191905", "name": "Format Metadata Rows", "type": "n8n-nodes-base.code", "typeVersion": 2, "position": [ 640, 0 ] } ], "connections": { "Start": { "main": [ [ { "node": "Set Channel", "type": "main", "index": 0 } ] ] }, "Set Channel": { "main": [ [ { "node": "Resolve Channel", "type": "main", "index": 0 } ] ] }, "Resolve Channel": { "main": [ [ { "node": "List Channel Videos", "type": "main", "index": 0 } ] ] }, "List Channel Videos": { "main": [ [ { "node": "Format Metadata Rows", "type": "main", "index": 0 } ] ] } }, "active": false, "settings": { "executionOrder": "v1" }, "pinData": {} }