Skip to main content

ScrapingBee and Google Sheets integration template

Workflow preview

Workflow preview
100%
ScrapingBee and Google Sheets integration template preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

This workflow contains community nodes that are only compatible with the self hosted version of n8n. This workflow allows users to extract site...

Best for

  • Market Research automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.extractfromfile, n8n-nodes-base.if, n8n-nodes-base.webhook, n8n-nodes-scrapingbee.scrapingbee, n8n-nodes-base.compression, n8n-nodes-base.code, n8n-nodes-base.googlesheets, n8n-nodes-base.stickynote

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Sahil Sunny.

Original n8n.io source

1.1 Workflow description

Title
ScrapingBee and Google Sheets integration template
Workflow name
ScrapingBee and Google Sheets integration template

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

This workflow allows users to extract sitemap links using ScrapingBee API. It only needs the domain name www.example.com and it automatically checks robots.txt and sitemap.xml to find the links. It is also designed to recursively run the workflow when new .xml links are found while scraping the sitemap.

How It Works

  1. Trigger: The workflow waits for a webhook request that contains domain=www.example.com
  2. It then looks for robots.txt file, if not found it checks sitemap.xml
  3. Once it finds xml links, it recursively scrapes them to extract the website links
  4. For each xml file, first it checks whether it's a binary file and whether it's a compressed xml
  5. If it's a text response, it directly runs a code that extracts normal website link and another code to extract xml links
  6. If it's a binary that is not compressed, it just extracts text from the binary and then extract webiste links and xml links
  7. If it's a compressed binary, it first decompresses it and then extracts the text and then the links and xml
  8. After extracting website links, it appends those links directly to a sheet
  9. After extracting xml links, it scrapes them recursively until it finds all website links

When the workflow is finished, you will see the output in the links column of the Google Sheet that we added to the workflow.

Set Up Steps

  1. Get your ScrapingBee API Key here
  2. Create a new google sheet with an empty column named links. Connect to the sheet by signing in using your Google Credential and add the link to your sheet.
  3. Copy the webhook url, and send a GET request with domain as query parameter. Example:
curl "https://webhook_link?domain=scrapingbee.com"

Customisation Options

  1. If the website you are scraping is blocking your request, you can try using premium or stealth proxy in Scrape robots.txt file, Scrape sitemap.xml file, and Scrape xml file nodes.
  2. If you wish to store the data in a different app/tool or store it as a file, you would just need to replace Append links to sheet node with a relevant node.

Next Steps

If you wish to scrape the pages using the extracted links, then you can implement a new workflow that reads the sheet or file (output generated by this workflow) for links and for each link send a request to ScrapingBee's HTML API and save the returned data.


NOTE: Some heavy sitemaps could result in a crash if the workflow consumes more memory than what is available in your n8n plan or self-hosted system. If this happens, we would recommend you to either upgrade your plan or use a self-hosted solution with a higher memory.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Load the xml file as JSON

Type / Role
n8n-nodes-base.extractFromFile - extractFromFile
Config choices
Version 1

Block 2 - If it's a binary file

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 3 - Domain to scrape

Type / Role
n8n-nodes-base.webhook - webhook
Config choices
Version 2.1

Block 4 - Scrape robots.txt file

Type / Role
n8n-nodes-scrapingbee.ScrapingBee - ScrapingBee
Config choices
Version 1

Block 5 - Scrape sitemap.xml file

Type / Role
n8n-nodes-scrapingbee.ScrapingBee - ScrapingBee
Config choices
Version 1

Block 6 - If sitemap links are found

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 7 - If it's a .gz file

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 8 - Decompress .gz file

Type / Role
n8n-nodes-base.compression - compression
Config choices
Version 1.1

Block 9 - Store the file to data key for easy handling

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 10 - Extract non-xml links

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 11 - Extract xml links

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 12 - Scrape xml file

Type / Role
n8n-nodes-scrapingbee.ScrapingBee - ScrapingBee
Config choices
Version 1

Block 13 - Append links to sheet

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

Block 14 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 15 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 16 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 17 - Sticky Note3

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 18 - Sticky Note4

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 19 - Sticky Note5

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 20 - Sticky Note6

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 21 - Sticky Note7

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 22 - Sticky Note8

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

3. Summary Table

Workflow ScrapingBee and Google Sheets integration template
Complexity advanced
Nodes 22
Categories Market Research
Author Sahil Sunny
Published 27 Aug 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/7927/7927.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does ScrapingBee and Google Sheets integration template do?

This workflow contains community nodes that are only compatible with the self hosted version of n8n. This workflow allows users to extract site...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Market Research use case.