AutomationFlowsWeb Scraping › Daily Website Data Extraction with Firecrawl and Telegram Alerts

Daily Website Data Extraction with Firecrawl and Telegram Alerts

ByAutomate With Marc @marconi on n8n.io

🔥 Automated Daily Firecrawl Scraper with Telegram Alerts Get structured insights scraped daily from the web using Firecrawl’s AI extraction engine — then send them directly to your Telegram chat.

Cron / scheduled trigger★★★★☆ complexity14 nodesHTTP RequestTelegram
Web Scraping Trigger: Cron / scheduled Nodes: 14 Complexity: ★★★★☆ Added:

This workflow corresponds to n8n.io template #5591 — 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": "B8QZbtbhTEZne8nq",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Automated Daily Intelligent Firecrawl Scraper",
  "tags": [],
  "nodes": [
    {
      "id": "d456e62d-f6ce-47c4-9be1-a3b3725e340f",
      "name": "Extract",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -480,
        -100
      ],
      "parameters": {
        "url": "https://api.firecrawl.dev/v1/extract",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"urls\": [\n    \"https://www.website.com\"\n  ],\n  \"prompt\": \"Extract the [insert] information from the page\",\n  \"schema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"notable_trades\": {\n        \"type\": \"array\",\n        \"items\": {\n          \"type\": \"object\",\n          \"properties\": {\n            \"congress_member_name\": {\n              \"type\": \"string\"\n            },\n            \"party\": {\n              \"type\": \"string\"\n            },\n            \"stock_or_asset\": {\n              \"type\": \"string\"\n            },\n            \"amount\": {\n              \"type\": \"number\"\n            },\n            \"transaction_date\": {\n              \"type\": \"string\"\n            }\n          },\n          \"required\": [\n            \"congress_member_name\",\n            \"stock_or_asset\",\n            \"amount\",\n            \"transaction_date\"\n          ]\n        }\n      }\n    },\n    \"required\": [\n      \"notable_trades\"\n    ]\n  }\n}\n",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "758d7a3f-555d-4957-bf92-d24b6ab018e8",
      "name": "Get Results",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        40,
        -120
      ],
      "parameters": {
        "url": "=https://api.firecrawl.dev/v1/extract/{{ $('Extract').item.json.id }}",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "9ded421d-cde6-4c6d-9ebc-3315ee79d30e",
      "name": "Edit Fields",
      "type": "n8n-nodes-base.set",
      "position": [
        500,
        -120
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "4188c94f-170b-4f42-8197-675f171bc1a5",
              "name": "data",
              "type": "string",
              "value": "={{ $json.trades }}"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "9b799432-7fa5-4fa4-a960-fe03b8882263",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -740,
        -100
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 18
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "505faec2-734d-40ac-a832-1a926a77f520",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        220,
        -120
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "or",
          "conditions": [
            {
              "id": "6d815b2e-1717-4d52-a30d-74e17a84f0f3",
              "operator": {
                "type": "array",
                "operation": "empty",
                "singleValue": true
              },
              "leftValue": "={{ $json.trades }}",
              "rightValue": "[empty array]"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "f8ff331e-363b-42eb-9472-e397b3d56691",
      "name": "30 Secs",
      "type": "n8n-nodes-base.wait",
      "position": [
        -200,
        -100
      ],
      "parameters": {
        "amount": 30
      },
      "typeVersion": 1.1
    },
    {
      "id": "e9bd3c21-8a89-424f-9a6e-4d00d6fd87ae",
      "name": "Wait 15 secs",
      "type": "n8n-nodes-base.wait",
      "position": [
        280,
        40
      ],
      "parameters": {
        "amount": 15
      },
      "typeVersion": 1.1
    },
    {
      "id": "aae6f1ba-e4d4-4545-95cc-71f40e690b9b",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -560,
        -260
      ],
      "parameters": {
        "color": 3,
        "width": 280,
        "height": 520,
        "content": "Firecrawl Extract POST"
      },
      "typeVersion": 1
    },
    {
      "id": "29b3688f-0fb0-486c-89cd-550a59299225",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -840,
        -260
      ],
      "parameters": {
        "width": 260,
        "height": 520,
        "content": "Scheduled Trigger"
      },
      "typeVersion": 1
    },
    {
      "id": "ac14b7cf-48ad-4029-a173-331b2d2ad1c6",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -260,
        -260
      ],
      "parameters": {
        "color": 7,
        "width": 220,
        "height": 520,
        "content": "Wait 30 secs"
      },
      "typeVersion": 1
    },
    {
      "id": "34cea142-3592-439d-9238-a25e4c4e7cc1",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -20,
        -260
      ],
      "parameters": {
        "color": 5,
        "width": 480,
        "height": 520,
        "content": "GET Result Loop"
      },
      "typeVersion": 1
    },
    {
      "id": "f8c71a46-4b99-4079-b895-63e7a5811dcd",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        480,
        -260
      ],
      "parameters": {
        "color": 5,
        "width": 400,
        "height": 520,
        "content": "Send Result to Telegram"
      },
      "typeVersion": 1
    },
    {
      "id": "4ea94358-34cd-421e-ad57-5277dbe03aee",
      "name": "Telegram",
      "type": "n8n-nodes-base.telegram",
      "position": [
        660,
        -120
      ],
      "parameters": {
        "text": "={{ $json.data }}",
        "chatId": "Redacted",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "7653b3ac-3210-4c89-a2ff-70034c2f4560",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1600,
        -260
      ],
      "parameters": {
        "color": 5,
        "width": 700,
        "height": 1060,
        "content": "\ud83d\udd25 Automated Daily Firecrawl Scraper with Telegram Alerts\nGet structured insights scraped daily from the web using Firecrawl\u2019s AI extraction engine \u2014 then send them directly to your Telegram chat.\n\n\ud83e\uddf0 What this workflow does:\nThis workflow automatically scrapes specific structured data from any webpage every day at a scheduled time using the Firecrawl API, checks if results are returned, and then sends the formatted results to Telegram.\n\nFor step-by-step video tutorials of n8n builds, check out my channel:\nhttps://www.youtube.com/@Automatewithmarc\n\n\ud83e\udded How It Works:\n\ud83d\udd50 Schedule Trigger (Daily at 6PM)\nStarts the workflow every day at a set time.\n\n\ud83c\udf10 Firecrawl POST Request\nSends a custom extraction prompt and schema to Firecrawl, targeting any list of URLs you provide.\n\n\u23f3 30 Seconds Wait\nWaits to give Firecrawl enough time to complete processing.\n\n\ud83d\udce5 GET Firecrawl Result\nFetches the extraction results using the request ID.\n\n\ud83d\udd01 Loop with IF Node\nChecks whether data is returned. If not, waits another 15 seconds and retries.\n\n\ud83e\uddf9 Format & Clean (Set Node)\nPrepares and formats the extracted result into a readable message.\n\n\ud83d\udcf2 Telegram Message Node\nDelivers the structured data directly to your Telegram channel or group.\n\n\ud83d\udd27 Requirements:\n\u2705 Firecrawl API Key (Header Auth)\n\n\u2705 Telegram Bot Token & Chat ID\n\n\ud83d\udca1 Use Cases:\nExtract structured data (like product info or events) from niche websites\nAutomate compliance monitoring or intelligence gathering\nCreate market alert bots with real-time info delivery\n\n\ud83d\udee0 Customization Ideas:\nSwap Telegram with Gmail, Discord, or Slack\n\nExpand schema to include more complex nested fields\n\nAdd a Google Sheet node to log daily scraped data\n\nIntegrate with a summarizer or language model for intelligent summaries\n\nReady to automate your web intelligence gathering?\n\ud83e\udde0 Let Firecrawl do the scraping \u2014 and let this workflow do the rest."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "40ed9017-f78f-4446-8b36-2a0a06f14add",
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "Wait 15 secs",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "30 Secs": {
      "main": [
        [
          {
            "node": "Get Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract": {
      "main": [
        [
          {
            "node": "30 Secs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields": {
      "main": [
        [
          {
            "node": "Telegram",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Results": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 15 secs": {
      "main": [
        [
          {
            "node": "Get Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Extract",
            "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

🔥 Automated Daily Firecrawl Scraper with Telegram Alerts Get structured insights scraped daily from the web using Firecrawl’s AI extraction engine — then send them directly to your Telegram chat.

Source: https://n8n.io/workflows/5591/ — 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

Women creators, homemakers-turned-entrepreneurs, and feminine lifestyle brands who want a graceful, low-lift way to keep an eye on competitor content and spark weekly ideas.

HTTP Request, Google Sheets, Email Send +1
Web Scraping

How it works

HTTP Request, Html Extract, Telegram
Web Scraping

Turn any Amazon India product URL into a fully-edited 10-second lifestyle video and auto-publish it to Instagram, Facebook, X (Twitter), LinkedIn, YouTube, and Threads — with platform-optimized captio

HTTP Request, @Apify/N8N Nodes Apify, OpenRouter Chat +3
Web Scraping

Schedule Trigger runs every 6 hours (customizable) Apify Scraper fetches Upwork jobs matching your criteria Deduplication filters out jobs you've already seen AI Scoring (GPT-4) evaluates fit, client

HTTP Request, Google Sheets, OpenAI +2
Web Scraping

Turn your n8n workflow into an automated competitive intelligence unit. This template monitors competitor activities across blog feeds and YouTube channels to detect strategic shifts. Instead of simpl

YouTube, @Apify/N8N Nodes Apify, RSS Feed Read +4