AutomationFlowsWeb Scraping › Web Scrape Font Sources from Pages

Web Scrape Font Sources from Pages

Original n8n title: Workflow Export

Workflow-Export. Uses httpRequest. Event-driven trigger; 9 nodes.

Event trigger★★★★☆ complexity9 nodesHTTP Request
Web Scraping Trigger: Event Nodes: 9 Complexity: ★★★★☆ Added:

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
{
  "name": "My workflow",
  "nodes": [
    {
      "parameters": {},
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        -352,
        -48
      ],
      "id": "b682fce5-26bf-42da-8d66-5722177dbee0",
      "name": "When clicking \u2018Execute workflow\u2019"
    },
    {
      "parameters": {
        "url": "http://backend:3000/api/v1/font",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpBearerAuth",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.3,
      "position": [
        -144,
        -48
      ],
      "id": "0c0a8bc7-e918-4aee-aa64-04246e607a11",
      "name": "Pegando as Fontes",
      "credentials": {
        "httpBearerAuth": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "jsCode": "const totalPages = $input.first().json.meta.totalPages\n\nreturn Array.from(\n  { length: totalPages },\n  (_, i) => ({ page: i + 1 })\n);"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        64,
        -48
      ],
      "id": "5d98d265-46d7-4670-a012-f85952999f23",
      "name": "P\u00e1ginas de Fontes"
    },
    {
      "parameters": {
        "options": {}
      },
      "type": "n8n-nodes-base.splitInBatches",
      "typeVersion": 3,
      "position": [
        272,
        -48
      ],
      "id": "67b74dc2-cc9b-4ff8-97d0-eb86a18761a7",
      "name": "Loop Over Items"
    },
    {
      "parameters": {
        "url": "http://backend:3000/api/v1/font",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpBearerAuth",
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "page",
              "value": "={{ $json.page }}"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.3,
      "position": [
        480,
        80
      ],
      "id": "3743469f-297c-4467-898e-eb4b43eded06",
      "name": "Pegando fonte em p\u00e1gina espec\u00edfica",
      "credentials": {
        "httpBearerAuth": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "fieldsToAggregate": {
          "fieldToAggregate": [
            {
              "fieldToAggregate": "data"
            }
          ]
        },
        "options": {
          "mergeLists": true
        }
      },
      "type": "n8n-nodes-base.aggregate",
      "typeVersion": 1,
      "position": [
        480,
        -64
      ],
      "id": "a36cb919-fa44-49fe-9e85-0d60116494c5",
      "name": "Aggregate"
    },
    {
      "parameters": {
        "jsCode": "return $input.first().json.data.map(font => ({...font}))"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        688,
        -64
      ],
      "id": "83f66fd9-79f6-478b-ab08-ab8c4be17a6b",
      "name": "Extraindo todas as fontes"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "http://backend:3000/api/v1/scrapping",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpBearerAuth",
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "fontId",
              "value": "={{ $json.id }}"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.3,
      "position": [
        704,
        176
      ],
      "id": "03ba8376-87c7-41e2-99bf-7c6cad9dc237",
      "name": "Fazendo Scrapping",
      "credentials": {
        "httpBearerAuth": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "jsCode": "return {\n  message: 'Tudo ocorreu bem',\n  jobs: $input.first().json.jobs\n}"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        912,
        176
      ],
      "id": "4de54d95-0d61-49ac-af04-e7332c8161be",
      "name": "Code in JavaScript"
    }
  ],
  "connections": {
    "When clicking \u2018Execute workflow\u2019": {
      "main": [
        [
          {
            "node": "Pegando as Fontes",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Pegando as Fontes": {
      "main": [
        [
          {
            "node": "P\u00e1ginas de Fontes",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "P\u00e1ginas de Fontes": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Pegando fonte em p\u00e1gina espec\u00edfica",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Pegando fonte em p\u00e1gina espec\u00edfica": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "Extraindo todas as fontes",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extraindo todas as fontes": {
      "main": [
        [
          {
            "node": "Fazendo Scrapping",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fazendo Scrapping": {
      "main": [
        [
          {
            "node": "Code in JavaScript",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "41f9f790-7ca5-4515-a7eb-d03f10f131aa",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "OrJ8jm3pHArNJ6Sp",
  "tags": []
}

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

Workflow-Export. Uses httpRequest. Event-driven trigger; 9 nodes.

Source: https://github.com/jaopredo/best-offers/blob/680f6f3cdfce419e75bcabdd707ac79e871ce290/n8n/workflow-export.json — 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