AutomationFlowsSocial Media › Download Instagram Reels with Telegram Bot

Download Instagram Reels with Telegram Bot

Original n8n title: Download Instagram Reels & Videos with Telegram Bot

ByGarri @garri on n8n.io

Description

Event trigger★★★★☆ complexity11 nodesTelegram TriggerHTTP RequestTelegram
Social Media Trigger: Event Nodes: 11 Complexity: ★★★★☆ Added:

This workflow corresponds to n8n.io template #7211 — we link there as the canonical source.

This workflow follows the HTTP Request → Telegram 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 →

Download .json
{
  "id": "uDxqFLK8VqISlWYi",
  "name": "Instagram Reels & Video Downloader via Telegram Bot \u2013 Automated with n8n",
  "tags": [],
  "nodes": [
    {
      "id": "0bbb310f-047c-4d8f-bfb4-a92e9863d8e3",
      "name": "Telegram Trigger",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        780,
        100
      ],
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "8a2f4680-aa3c-4375-bb13-c4126babdedd",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        640,
        40
      ],
      "parameters": {
        "color": 4,
        "width": 980,
        "height": 480,
        "content": "## Instagram Downloader"
      },
      "typeVersion": 1
    },
    {
      "id": "ff15f098-58aa-42dc-88b2-9e7646f9664a",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        660,
        -180
      ],
      "parameters": {
        "color": 3,
        "width": 540,
        "height": 200,
        "content": "# Description\n\nThe Instagram Downloader workflow allows users to download Instagram videos or Reels directly through a Telegram Bot.\nSimply send an Instagram link to the bot, and it will process the link via a third-party API to fetch the highest quality video, then send it back to your Telegram chat."
      },
      "typeVersion": 1
    },
    {
      "id": "ad39b38e-863e-4785-a8b3-2dae46523171",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1640,
        40
      ],
      "parameters": {
        "color": 5,
        "width": 560,
        "height": 500,
        "content": "## How It Works\n\n1. Telegram Trigger\nThe workflow starts when the bot receives an Instagram link from a user.\n\n2. HTTP Request \u2013 URL Download\nThe link is sent to the API https://www.mediadl.app/api/download to retrieve video metadata.\n\n3. Delay\nWaits a few seconds to ensure the API response is ready.\n\n4. Filtering URL Only\nExtracts the direct video file URL from the API result.\n\n5. Delay\nAdds a short pause to prevent connection errors during download.\n\n6. HTTP Request \u2013 Proxy Download\nDownloads the MP4 video file directly from the filtered URL.\n\n7. Send Video to Telegram\nSends the downloaded video back to the user in Telegram."
      },
      "typeVersion": 1
    },
    {
      "id": "5094ca0a-d66c-4c88-a70e-623c24a0d2b8",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -60,
        40
      ],
      "parameters": {
        "color": 3,
        "width": 680,
        "height": 520,
        "content": "## How to Set Up\n\n1. Create & Configure a Telegram Bot\nOpen Telegram, search for BotFather.\nSend /newbot \u2192 choose a bot name & username.\nCopy the provided Bot Token.\n\n2. Prepare Your n8n Environment\nLog in to n8n (self-hosted or n8n Cloud).\nCreate Telegram API Credentials using your Bot Token.\n\n3. Import the Workflow\nIn n8n, click Import and select Instagram_Downloader.json.\n\n4. Configure Telegram Nodes\nConnect your Telegram API credentials in the Telegram Trigger and Send Video nodes.\n\n5. Configure HTTP Request Nodes\nEnsure the URL and headers in URL Download and Download nodes are correct (already pre-configured).\nSet responseFormat to file in the final download node.\n\n6. Activate & Test\nToggle Activate.\nSend an Instagram link to your bot to test."
      },
      "typeVersion": 1
    },
    {
      "id": "e3f39d0d-ca89-4315-b5c3-a0cf244e0db9",
      "name": "Download",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1000,
        340
      ],
      "parameters": {
        "url": "https://mediadl.app/api/proxy-download",
        "options": {},
        "sendQuery": true,
        "sendHeaders": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "fileUrl",
              "value": "={{ $json.medias[0].url }}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Accept",
              "value": "*/*"
            },
            {
              "name": "Accept-Language",
              "value": "en-US,en;q=0.9,id;q=0.8,da;q=0.7"
            },
            {
              "name": "Connection",
              "value": "keep-alive"
            },
            {
              "name": "Referer",
              "value": "https://mediadl.app/in?gad_source=1&gad_campaignid=22707685611&gbraid=0AAAAA_JALYirerzrfP-1sYYdbTB1Ig5si&gclid=CjwKCAjwwNbEBhBpEiwAFYLtGMgSfRH09djRgW12vplqCk4gfzg34u365DL6mY7MMNPyn5flg8pRjRoCyLIQAvD_BwE"
            },
            {
              "name": "Sec-Fetch-Dest",
              "value": "empty"
            },
            {
              "name": "Sec-Fetch-Mode",
              "value": "cors"
            },
            {
              "name": "Sec-Fetch-Site",
              "value": "same-origin"
            },
            {
              "name": "User-Agent",
              "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/0.0.0.0 Safari/537.36"
            },
            {
              "name": "sec-ch-ua",
              "value": "\"Not;A=Brand\";v=\"99\", \"Google Chrome\";v=\"139\", \"Chromium\";v=\"139\""
            },
            {
              "name": "sec-ch-ua-mobile",
              "value": "?0"
            },
            {
              "name": "sec-ch-ua-platform",
              "value": "\"Windows\""
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "19d3ee22-fd1e-4117-b2ef-aaa8a3517c1f",
      "name": "Sent To Telegram Video",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1200,
        340
      ],
      "parameters": {
        "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
        "operation": "sendVideo",
        "binaryData": true,
        "additionalFields": {
          "fileName": "={{ $('Delay 3S').item.json.title }}.mp4"
        }
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "b055ad08-6df0-44b7-8174-789f6be48b24",
      "name": "Filtering URL Only",
      "type": "n8n-nodes-base.set",
      "position": [
        1420,
        100
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "cc8edbe6-e9c4-41ca-8f3d-c2a2538b07ae",
              "name": "medias[0].url",
              "type": "string",
              "value": "={{ $json.medias[0].url }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "b91deb65-fbcc-4fa3-bef2-2fd2c4de8583",
      "name": "Delay 3S",
      "type": "n8n-nodes-base.wait",
      "position": [
        1200,
        100
      ],
      "parameters": {
        "amount": 3
      },
      "typeVersion": 1.1
    },
    {
      "id": "3eda9853-3b20-4072-8361-8930b0a9b861",
      "name": "Delay 3S1",
      "type": "n8n-nodes-base.wait",
      "position": [
        800,
        340
      ],
      "parameters": {
        "amount": 3
      },
      "typeVersion": 1.1
    },
    {
      "id": "875e46f0-d7a9-4610-ba72-c5bc4152b91a",
      "name": "URL Download",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1000,
        100
      ],
      "parameters": {
        "url": "https://www.mediadl.app/api/download",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "sendHeaders": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "url",
              "value": "={{ $json.message.text }}"
            },
            {
              "name": "format",
              "value": "bestvideo+bestaudio/best"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Accept",
              "value": "*/*"
            },
            {
              "name": "Accept-Language",
              "value": "en-US,en;q=0.9,id;q=0.8,da;q=0.7"
            },
            {
              "name": "Connection",
              "value": "keep-alive"
            },
            {
              "name": "Origin",
              "value": "https://www.mediadl.app"
            },
            {
              "name": "Referer",
              "value": "https://www.mediadl.app/en"
            },
            {
              "name": "Sec-Fetch-Dest",
              "value": "empty"
            },
            {
              "name": "Sec-Fetch-Mode",
              "value": "cors"
            },
            {
              "name": "Sec-Fetch-Site",
              "value": "same-origin"
            },
            {
              "name": "User-Agent",
              "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/0.0.0.0 Safari/537.36"
            },
            {
              "name": "sec-ch-ua",
              "value": "\"Not;A=Brand\";v=\"99\", \"Google Chrome\";v=\"139\", \"Chromium\";v=\"139\""
            },
            {
              "name": "sec-ch-ua-mobile",
              "value": "?0"
            },
            {
              "name": "sec-ch-ua-platform",
              "value": "\"Windows\""
            }
          ]
        }
      },
      "notesInFlow": true,
      "typeVersion": 4.2
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "c8ad54e7-88ce-4061-a260-01d57dcb2a65",
  "connections": {
    "Delay 3S": {
      "main": [
        [
          {
            "node": "Filtering URL Only",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download": {
      "main": [
        [
          {
            "node": "Sent To Telegram Video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Delay 3S1": {
      "main": [
        [
          {
            "node": "Download",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "URL Download": {
      "main": [
        [
          {
            "node": "Delay 3S",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram Trigger": {
      "main": [
        [
          {
            "node": "URL Download",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filtering URL Only": {
      "main": [
        [
          {
            "node": "Delay 3S1",
            "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.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Description

Source: https://n8n.io/workflows/7211/ — original creator credit. Request a take-down →

More Social Media workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Social Media

Once set up, simply send any Instagram Reel or Facebook video link to your Telegram bot, and it will automatically: Check if the shared link is valid. Detect whether it’s an Instagram or Facebook link

Telegram Trigger, HTTP Request, Telegram
Social Media

&gt; Download TikTok videos instantly without watermarks via Telegram &gt; Fast, reliable, and user-friendly automated workflow

Telegram Trigger, Telegram, HTTP Request
Social Media

Desafio RPA TikTok - Bot Dinâmico Master. Uses telegramTrigger, httpRequest, telegram, errorTrigger. Event-driven trigger; 21 nodes.

Telegram Trigger, HTTP Request, Telegram +1
Social Media

Description This workflow is an n8n-based automation that allows users to download TikTok/Reels videos without watermarks simply by sending the video link through a Telegram Bot.

Telegram Trigger, HTTP Request, Telegram
Social Media

This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

@Blotato/N8N Nodes Blotato, Google Sheets, OpenAI +8