Skip to main content

Browse Web Node

Fetch and retrieve the contents of a web page.

The Browse Web node navigates to a URL, retrieves the page content, and returns it as structured text. It supports both fast HTTP fetching and full browser rendering for JavaScript-heavy pages. This node is commonly used for web scraping, data extraction, and retrieving content from specific URLs found via the Search Web node.

Parameters

ParameterTypeRequiredDefaultDescription
urlstring""URL of the web page to browse (supports expressions)
modestringbrowserScraping mode: http (fast) or browser (dynamic pages)
instructionsstring""Additional instructions for browsing (template mode)
runModestringitemRun mode: item or input

url

Type: string | Required:

The URL of the web page to fetch. Can be static or dynamic via expressions.

Examples:

  • Static: https://blog.needle.app/
  • Dynamic (expression): input.url
  • Dynamic (item mode): item.pageUrl

mode

Type: string | Required: ❌ | Default: browser

Controls how the page is fetched:

  • http — Fast HTTP request. Best for static pages and APIs. Does not execute JavaScript.
  • browser — Full browser rendering. Best for dynamically rendered pages (SPAs, pages with lazy loading).

instructions

Type: string | Required:

Additional natural language instructions that guide the browsing behavior. Evaluated in template mode — use ${...} syntax for dynamic values. The instructions can specify what content to focus on, or even provide the URL when parameterMode is set to "ai-decide".

Examples:

  • Browse the Needle blog at https://blog.needle.app/
  • Fetch the full HTML content of the webpage.
  • Fetch the full article content from the article URL.

runMode

Type: string | Required: ✅ | Default: item

Controls how the node processes input data:

  • item — Runs once per array element. Use item in expressions.
  • input — Runs once for the entire input. Use input in expressions.

Configuring This Node

When you select a Browse Web node on the workflow canvas, the right-hand configuration panel displays the following sections from top to bottom:

Run Mode & Error Handling

At the top of the panel you will find:

  • Run Mode dropdown — Choose between Item (the node executes once per array element) and Input (the node executes once for the entire input object). This corresponds to the runMode parameter.
  • Continue on Error toggle — When enabled, the workflow continues to the next node even if this node encounters an error. When disabled (the default), a node error will stop the workflow run.

Variables

A multi-select dropdown that lets you bind workflow variables to this node. Bound variables become accessible in expressions via the variables object (e.g. variables.myVar). You can also click the Create variable button to define a new workflow variable inline without leaving the node panel.

Instructions

A template text area where you can provide natural language guidance for the browsing behavior. Use ${...} syntax to interpolate dynamic values from the workflow context. For example:

Browse ${variables.targetUrl} and extract the main article content.

Property Fields

Below the Instructions area, property fields are organized into Required and Optional sections:

  • url (Required) — The URL of the web page to fetch.
  • mode (Optional) — The scraping mode (http or browser).

Each property field has a parameter mode selector (accessible via a small icon on the field) with three options:

ModeDescription
FixedEnter a static value directly (e.g. paste a URL).
ExpressionWrite a JavaScript expression with access to input, item, and variables from the workflow.
AI DecideLet the AI agent determine the value at runtime based on the node's instructions and context.

Examples

1. Browse a Static URL

Fetch the contents of a specific web page:

Parameters:

{
"runMode": "input",
"url": "https://blog.needle.app/",
"instructions": "Browse the Needle blog."
}

2. Browse a URL from Input

Use a URL produced by a previous node:

Parameters:

{
"runMode": "input",
"url": "input.url",
"instructions": "Fetch the full article content from the article URL.",
"parameterMode": {
"url": "expression"
}
}

3. Browse Multiple URLs

Process an array of URLs in parallel:

Parameters:

{
"runMode": "item",
"url": "item.url",
"instructions": "Fetch the full HTML content of the webpage.",
"parameterMode": {
"url": "expression"
}
}

4. Let AI Decide the URL

Provide the URL in instructions and let the AI determine how to use it:

Parameters:

{
"runMode": "item",
"url": "",
"instructions": "Browse the n8n blog at https://blog.n8n.io/",
"parameterMode": {
"url": "ai-decide"
}
}

Output Structure

The node returns the page content as structured text:

{
"content": "# Blog Title\n\nArticle content here...",
"url": "https://blog.needle.app/",
"title": "Needle Blog"
}

Important Notes

  • Mode selection: Use http mode for speed when the page is static. Use browser mode for JavaScript-rendered content.
  • AI-decide parameter mode: When parameterMode.url is "ai-decide", the AI agent determines the best URL based on the instructions and context.
  • Rate limits: Each page browse consumes credits. Be mindful when browsing many pages in item mode.
  • Complementary to Search Web: Use Search Web to find URLs, then Browse Web to retrieve the full page content.
  • Continue on Error: Enable the Continue on Error toggle in the node panel to allow the workflow to proceed even if a page fails to load (e.g. timeout, 404, or network error). This is especially useful when browsing multiple URLs in item mode where individual failures should not stop the batch.
  • Workflow Variables: Bind workflow variables to this node to use them in expressions. For example, set url to an expression like variables.targetUrl to make the browsed URL configurable across runs.
  • Parameter modes: Each property field supports three modes — Fixed (static value), Expression (JavaScript with access to input, item, variables), and AI Decide (the AI agent determines the value at runtime). Choose the mode that fits your use case via the mode selector on each field.