<!-- BusyBot node reference — https://busybot.net/tools/gemini-url-context/ -->

> Node: Gemini URL Context (`gemini_url_context`) · Action · v1
> Category: AI · Credentials: Google AI (`googleAi`)
> Updated: 2026-08-16

# Gemini URL Context

> Ground Gemini responses with URL content for accurate answers about web pages.

## Overview

Gemini URL Context sends your query to Gemini with URL grounding switched on, so the model fetches and reads the pages you reference in the message before answering. The result is grounded in the live page content rather than in the model's training data, which makes it suited to summarizing articles, extracting details from a product or pricing page, and comparing several pages at once. Alongside the answer the node returns URL context metadata, the model name and token usage. Optional file references can be sent as extra context.

**Category:** AI  
**Tool Name:** `gemini_url_context`  
**Version:** 1

**Appearance:** Icon: `gemini` | Color: `#ffffff`

## Node Type

**Action** — processes input items and produces output

## Input / Output

| Direction | Port(s) |
|-----------|--------|
| Input | `Input` |
| Output | `Output`, `Error` |

## Credentials

This tool requires **Google AI** credentials.
See the [Credentials Guide](https://busybot.net/credentials/google-ai/) for setup instructions.

### Parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Model | `options` | No | — | The Gemini model to use for URL-grounded generation. Pick a specific version — labels are pinned, not aliased to "latest". The dropdown lists the models currently available for this node; leave it unset to use the default. |
| System Prompt | `string` | No | — | Optional system instruction that sets the behavior and context for the model. Supports expressions. |
| User Message | `string` | Yes | — | The message to send, including one or more URLs for the model to fetch and analyze. Falls back to item.message or item.prompt if empty. Supports expressions. |
| File URIs | `string` | No | — | Optional. fileUri value(s) from the Gemini File Upload tool. Pass a single URI or a JSON array for multiple files. Files are sent as multimodal context alongside the message. Falls back to item.fileUris if empty. Gemini File API retains uploads for 48 hours. |
| Options | `collection` | No | `{}` | Optional generation settings. |
| — Temperature | `number` | No | `1` | Controls randomness. Lower values are more deterministic, higher values more creative. Range: 0-2. |
| — Max Output Tokens | `number` | No | `8192` | Maximum number of tokens in the generated response. |
| — Response Field Name | `string` | No | `response` | The key name in the output JSON where the generated text will be stored. |
| Include Input | `boolean` | No | `false` | Whether to merge the input item JSON into the output item. |
| Max Concurrency | `number` | No | `10` | Maximum number of items to process concurrently. |

## Output Data

One output item per input item. Binary data arriving from upstream is forwarded untouched.

The output item's JSON contains only the fields below. The input item's JSON is merged in **only** when Include Input is on:

| Field | Description |
|-------|-------------|
| `response` | The grounded answer text. Renamed by **Response Field Name**. |
| `urlContextMetadata` | What the model did with the URLs in your message — which ones it retrieved and how each retrieval went. Empty when the model reports nothing. |
| `model` | The model that produced the response. |
| `finishReason` | Why generation stopped. |
| `usage` | Token usage metadata reported by the model. |

Reference the result downstream by expression, e.g. `{{ $json.response }}`.

## Usage Examples

- Summarize the content of a web page URL
- Extract key information from an article URL
- Compare content across multiple web pages
- Answer questions about a specific web page
- Analyze product pages for pricing and features

## Example Configuration

Summarize one page — put the URL directly in the message:

```json
{
  "type": "gemini_url_context",
  "parameters": {
    "userMessage": "Summarize the main points of this article: {{ $json.url }}"
  }
}
```

Extract fields from a product page, deterministically:

```json
{
  "type": "gemini_url_context",
  "parameters": {
    "systemPrompt": "You are a precise data extraction agent. Extract only the requested fields. Return nothing else.",
    "userMessage": "From the product page at {{ $json.productUrl }}, extract: product name, price, availability, and SKU.",
    "includeInput": true,
    "maxConcurrency": 5,
    "options": {
      "temperature": 0,
      "maxOutputTokens": 256,
      "responseFieldName": "productDetails"
    }
  }
}
```

Compare two pages in a single call:

```json
{
  "type": "gemini_url_context",
  "parameters": {
    "systemPrompt": "You are a competitive analysis assistant. Compare products objectively.",
    "userMessage": "Compare the features and pricing of these two products: {{ $json.urlA }} and {{ $json.urlB }}. Which offers better value?",
    "maxConcurrency": 10,
    "options": {
      "temperature": 0.7,
      "maxOutputTokens": 2048,
      "responseFieldName": "comparison"
    }
  }
}
```

### Error Handling

| Mode | Behavior |
|------|----------|
| **stop** | Halts workflow on first error |
| **continue** | Skips failed items, passes successful ones through |
| **errorPort** | Routes failed items to Error output port |

## Tips

Gemini URL Context sends a user query to the Gemini generateContent API with URL context grounding enabled, allowing the model to fetch and analyze live web page content referenced in the message. Use this tool when your workflow requires answers grounded in specific web pages rather than relying on static training data alone. It returns a generated text response alongside URL context metadata, model information, and token usage counts.