AutomationFlowsWeb Scraping › Extract Internal Links From Webpage

Extract Internal Links From Webpage

Original n8n title: Extract Internal Links From a Webpage

ByAudun @xqus on n8n.io

[](https://xqus.relezy.com/extract-internal-links-from-webpage) Web developers SEO specialists Digital marketers Automates the extraction of internal links from a webpage Eliminates the manual and error-prone process of collecting links Facilitates analysis of website structure…

Event trigger★★★★☆ complexity13 nodesHTTP Request
Web Scraping Trigger: Event Nodes: 13 Complexity: ★★★★☆ Added:

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

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
{
  "nodes": [
    {
      "id": "818f7262-e70c-4297-83c5-41e894bf8a10",
      "name": "When clicking \u2018Test workflow\u2019",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -980,
        -120
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "5cc7d8a9-c253-45ad-a8eb-3c977ad23f84",
      "name": "Split Out",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        -300,
        -120
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "238edb88-1016-4924-ab1f-aa74a843a4d9",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        280,
        -120
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "2950100e-0307-40b8-892a-c92a3056e445",
      "name": "Set Base URL",
      "type": "n8n-nodes-base.set",
      "position": [
        -800,
        -120
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "b045bf61-6dfe-48a1-875d-214d3676b80e",
      "name": "Fetch base URL",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -640,
        -120
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "0d2351f2-7448-4de6-8b56-31827dcdfa95",
      "name": "Extract links",
      "type": "n8n-nodes-base.html",
      "position": [
        -460,
        -120
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "8f5dabe6-bb43-4371-bfa4-19de3d057e78",
      "name": "Find relative links",
      "type": "n8n-nodes-base.if",
      "position": [
        -120,
        -120
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "5ca484fb-1c45-4103-a7d8-daf23d2d3bd3",
      "name": "Append base URL",
      "type": "n8n-nodes-base.set",
      "position": [
        80,
        -220
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "29b4e98f-24e9-4d7d-9b74-5e11884c25f6",
      "name": "Filter external links",
      "type": "n8n-nodes-base.filter",
      "position": [
        460,
        -120
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "4d3984cd-510b-452a-84ba-2a92ce3dd749",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -820,
        -240
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "5c85b507-7a4f-4c48-bc14-4d546ddf52e1",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -660,
        -240
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "178e9eed-70bf-481a-a70c-d4238f686957",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -320,
        -240
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "94d0346e-1e4f-4473-a27f-838210dbda11",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1260,
        -240
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "Filter external links",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out": {
      "main": [
        [
          {
            "node": "Find relative links",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Base URL": {
      "main": [
        [
          {
            "node": "Fetch base URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract links": {
      "main": [
        [
          {
            "node": "Split Out",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch base URL": {
      "main": [
        [
          {
            "node": "Extract links",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Append base URL": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Find relative links": {
      "main": [
        [
          {
            "node": "Append base URL",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "When clicking \u2018Test workflow\u2019": {
      "main": [
        [
          {
            "node": "Set Base URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

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

About this workflow

[](https://xqus.relezy.com/extract-internal-links-from-webpage) Web developers SEO specialists Digital marketers Automates the extraction of internal links from a webpage Eliminates the manual and error-prone process of collecting links Facilitates analysis of website structure…

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

More Web Scraping workflows → · Browse all categories →

Related workflows

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

Web Scraping

This workflow allows you to import any workflow from a file or another n8n instance and map the credentials easily. A multi-form setup guides you through the entire process At the beginning you have t

Execute Command, Read Write File, HTTP Request +3
Web Scraping

[n8n] Advanced URL Parsing and Shortening Workflow - Switchy.io Integration. Uses splitInBatches, stickyNote, httpRequest, html. Event-driven trigger; 56 nodes.

HTTP Request, GitHub, Stop And Error +1
Web Scraping

[](https://youtu.be/c7yCZhmMjtI)

HTTP Request, GitHub, Stop And Error +1
Web Scraping

This automation organizes your n8n workflows files into categorizes (Active, Template, Done, Archived) and uploads them directly to a categorized Google Drive folders. It is designed to help users man

Google Drive, HTTP Request, Time Saved
Web Scraping

Create Animated Stories using GPT-4o-mini, Midjourney, Kling and Creatomate API. Uses httpRequest. Event-driven trigger; 51 nodes.

HTTP Request