← All N8N workflows
AI & researchCodeConvert To FileHtmlHTTP RequestIf

Selenium Ultimate Scraper Workflow

Configured with Convert To File, Html, HTTP Request, Information Extractor, and additional nodes. Review the connections and setup before adapting this template.

Workflow preview
TransformExtract First Url MatchHtmlAI & modelsOpenAI Chat ModelOpenAI Chat ModelWeb / APIClean Webdriver HTTP RequestWeb / APIDelete SessionHTTP RequestWeb / APIDelete Session2HTTP RequestRoutingIf Block1IfWeb / APIDelete Session3HTTP RequestTransformLimitLimitWeb / APIDelete Session1HTTP RequestWeb / APIDelete Session4HTTP RequestWeb / APISuccess with cookieRespond To WebhookWeb / APIRespond to Webhook2Respond To WebhookCodeCodeCodeWeb / APIDelete Session5HTTP RequestWeb / APIErrorRespond To WebhookWeb / APIError1Respond To WebhookWeb / APIError2Respond To WebhookRoutingIfIfWeb / APIInject CookieHTTP RequestWeb / APIRespond to Webhook3Respond To WebhookWeb / APISuccessRespond To WebhookWeb / APIGo on urlHTTP RequestWeb / APIDelete Session6HTTP RequestWeb / APIError3Respond To WebhookAI & modelsInformation ExtractorInformation ExtractorRoutingCheck if empty of NAIfRoutingIf BlockIfWeb / APIGoogle search Query HTTP RequestWeb / APICreate Selenium SessionHTTP RequestWeb / APIGet ScreenShot 1HTTP RequestWeb / APIRefresh browserHTTP RequestWeb / APIGet ScreenShot HTTP RequestTransformConvert to FileConvert To FileTransformConvert to File1Convert To FileWeb / APIDelete Session7HTTP RequestTransformEdit Fields (Fortesting prupose )Edit FieldsWeb / APIGet ScreenShot 2HTTP RequestTransformConvert to File2Convert To FileWeb / APIGo on ip-api.comHTTP RequestWeb / APIDelete Session8HTTP RequestWeb / APIError can't find urlRespond To WebhookWeb / APIResize browser windowHTTP RequestAI & modelsOpenAIOpen AiAI & modelsOpenAI1Open AiAI & modelsInformation Extractor1Information ExtractorAI & modelsOpenAI Chat Model1OpenAI Chat ModelAI & modelsInformation Extractor2Information ExtractorAI & modelsOpenAI Chat Model2OpenAI Chat ModelTriggerWebhookWebhookRoutingIf Target UrlIfRoutingIf1IfWeb / APIGo on url1HTTP RequestRoutingIf2IfWeb / APIGo on url2HTTP RequestRoutingIf3IfWeb / APIGo on url3HTTP Request

Node categories in this workflow

  • Transform
  • AI & models
  • Web / API
  • Routing
  • Code
  • Trigger

Icons describe general node roles, inferred from node types. Inspect the parameters for the configured action.

Drag to pan; use + and − to zoom. Reconstructed from the exported node positions; nothing runs here. Dashed lines represent non-main connections. Full node names and notes appear below.

How it works

The exported workflow contains the following configured nodes. Their connections are shown above; inspect the JSON for the complete logic, expressions, and external actions.

Workflow node names, types, and operations
NodeCategoryTypeOperation
Extract First Url MatchTransformHtmlextractHtmlContent
OpenAI Chat ModelAI & modelsOpenAI Chat ModelSee node parameters
Clean Webdriver Web / APIHTTP RequestPOST
Delete SessionWeb / APIHTTP RequestDELETE
Delete Session2Web / APIHTTP RequestDELETE
If Block1RoutingIfSee node parameters
Delete Session3Web / APIHTTP RequestDELETE
LimitTransformLimitSee node parameters
Delete Session1Web / APIHTTP RequestDELETE
Delete Session4Web / APIHTTP RequestDELETE
Success with cookieWeb / APIRespond To WebhookSee node parameters
Respond to Webhook2Web / APIRespond To WebhookSee node parameters
CodeCodeCodeSee node parameters
Delete Session5Web / APIHTTP RequestDELETE
ErrorWeb / APIRespond To WebhookSee node parameters
Error1Web / APIRespond To WebhookSee node parameters
Error2Web / APIRespond To WebhookSee node parameters
IfRoutingIfSee node parameters
Inject CookieWeb / APIHTTP RequestPOST
Respond to Webhook3Web / APIRespond To WebhookSee node parameters
SuccessWeb / APIRespond To WebhookSee node parameters
Go on urlWeb / APIHTTP RequestPOST
Delete Session6Web / APIHTTP RequestDELETE
Error3Web / APIRespond To WebhookSee node parameters
Information ExtractorAI & modelsInformation ExtractorSee node parameters
Check if empty of NARoutingIfSee node parameters
If BlockRoutingIfSee node parameters
Google search Query Web / APIHTTP RequestSee node parameters
Create Selenium SessionWeb / APIHTTP RequestPOST
Get ScreenShot 1Web / APIHTTP RequestSee node parameters
Refresh browserWeb / APIHTTP RequestPOST
Get ScreenShot Web / APIHTTP RequestSee node parameters
Convert to FileTransformConvert To FiletoBinary
Convert to File1TransformConvert To FiletoBinary
Delete Session7Web / APIHTTP RequestDELETE
Edit Fields (For testing prupose )TransformEdit FieldsSee node parameters
Get ScreenShot 2Web / APIHTTP RequestSee node parameters
Convert to File2TransformConvert To FiletoBinary
Go on ip-api.comWeb / APIHTTP RequestPOST
Delete Session8Web / APIHTTP RequestDELETE
Error can't find urlWeb / APIRespond To WebhookSee node parameters
Resize browser windowWeb / APIHTTP RequestPOST
OpenAIAI & modelsOpen Aiimage / analyze
OpenAI1AI & modelsOpen Aiimage / analyze
Information Extractor1AI & modelsInformation ExtractorSee node parameters
OpenAI Chat Model1AI & modelsOpenAI Chat ModelSee node parameters
Information Extractor2AI & modelsInformation ExtractorSee node parameters
OpenAI Chat Model2AI & modelsOpenAI Chat ModelSee node parameters
WebhookTriggerWebhookSee node parameters
If Target UrlRoutingIfSee node parameters
If1RoutingIfSee node parameters
Go on url1Web / APIHTTP RequestPOST
If2RoutingIfSee node parameters
Go on url2Web / APIHTTP RequestPOST
If3RoutingIfSee node parameters
Go on url3Web / APIHTTP RequestPOST

Setup

  1. Download the JSON and import it into an isolated n8n instance. Leave the workflow inactive.
  2. Connect your own credentials through n8n’s credential store. Replace REPLACE_WITH_* values with your resource identifiers.
  3. Inspect API destinations, Code nodes, database queries, file paths, and outbound actions.
  4. Run with synthetic data and harmless destinations. Enable triggers only after checking the actual outputs.

Requirements

An n8n instance with the listed node types and compatible versions. Service-connected workflows may require accounts, credentials, or paid APIs.

Credential types declared in the source

  • openAiApi

Workflow notes

Clean Webdriver

Script to delete traces of selenium in the browser

N8N Ultimate Scraper - Workflow

N8N Ultimate Scraper - Workflow

This workflow's objective is to collect data from any website page, whether it requires login or not.

For example, you can collect the number of stars of the n8n-ultimate-scraper project on GitHub.

Requirements

Selenium Container: Selenium is an open-source automation framework for web applications, enabling browser control and interaction through scripts in various programming languages. You can deploy the Docker Compose file from the associated GitHub project to set up your Selenium container and configuration: https://github.com/Touxan/n8n-ultimate-scraper

Residential Proxy Server: To scrape data at scale without being blocked, I personally recommend GeoNode. They offer affordable, high-quality residential proxies: https://geonode.com/invite/98895

OpenAI API Key: For using GPT-4.

Optional

Session Cookies Collection: To use login functionality with the n8n Ultimate Scraper, you need to collect session cookies from the target website. You can do this using the extension created for this application in the GitHub project: https://github.com/Touxan/n8n-ultimate-scraper. Follow the installation procedure to use it.

How to use

Deploy the project with all the requiremnts and request your webhook.

Example of request: curl -X POST http://localhost:5678/webhook-test/yourwebhookid
-H "Content-Type: application/json"
-d '{ "subject": "Hugging Face", "Url": "github.com", "Target data": [ { "DataName": "Followers", "description": "The number of followers of the GitHub page" }, { "DataName": "Total Stars", "description": "The total numbers of stars on the different repos" } ], "cookies": [] }'

You can also scrape link like this : curl -X POST http://localhost:5678/webhook-test/67d77918-2d5b-48c1-ae73-2004b32125f0
-H "Content-Type: application/json"
-d '{ "Target Url": "https://github.com", "Target data": [ { "DataName": "Followers", "description": "The number of followers of the GitHub page" }, { "DataName": "Total Stars", "description": "The total numbers of stars on the different repo" } ] }'

Note The maximum nimber of Target data is 5.

Debug IP

Debug IP

This small debug flow aims to check the IP you're requesting with, in case you're using a proxy

Search

Search

Description : This part aims to search on Google for the subject and find the URL of the subject page based on the input URL.

Selenium Session

Selenium Session

Description: Creation and configuration of the Selenium session.

Scrape with cookies session

Scrape with cookies session

Description This part goes to the extracted URL, injects the cookies passed into the webhook, takes a screenshot of the webpage, and analyzes the image with GPT to extract the targeted data.

Scrape without cookies session

Scrape without cookies session

Description Same as the 'Scrape with cookies session' flow, but without the cookie injection

Proxy

Proxy

Configuration

To configure your proxy with the project, follow the instructions on the GitHub project: https://github.com/Touxan/n8n-ultimate-scraper. To configure the docker-compose, you also need to add this argument to the 'Create Selenium Session' node : --proxy-server=address:port.

⚠️Warning⚠️

Selenium does not support proxy authentication, so you need to add your server IP to the proxy whitelist. On GeoNode, it's here: https://app.geonode.com/whitelist-ip!

Selenium Ultimate Scraper Workflow

Selenium Ultimate Scraper Workflow

Purpose and structure

This folder contains the Selenium Ultimate Scraper Workflow workflow. Its executable nodes use code, convertToFile, html, httpRequest, if, informationExtractor, limit, lmChatOpenAi, openAi, respondToWebhook, set, webhook. The table and connection map below are derived from the JSON, not an inferred guarantee of behavior.

Setup

Import inactive. Configure your own credentials and replace REPLACE_WITH_* values. Review external destinations and Code nodes before running.

Entry points

Webhook

Verification

Sanitized source candidate; not runtime-tested. This overview is generated from node metadata. Read the folder README for the connection map, credential types, and license.

Attribution

https://github.com/Zie619/n8n-workflows/blob/94007c1445d9258a7da116646b79473e7c7c3282/workflows/Limit/1900_Limit_Code_Automate_Webhook.json MIT; preserve source notices.

More in AI & research