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

> Node: Gemini Deep Research (`gemini_deep_research`) · Action · v1
> Category: AI · Credentials: Google AI (`googleAi`)
> Updated: 2026-08-16

# Gemini Deep Research

> Conduct deep research using Gemini with Google Search grounding.

## Overview

Gemini Deep Research sends a research query to the Google Gemini generateContent API with Google Search grounding enabled and thinking mode active, producing a comprehensive research report. Runs with high output token limits and a configurable thinking budget for thorough analysis. Returns the research text, grounding sources, search entry points, and token usage metadata. Ideal for in-depth topic analysis, market research, competitive analysis, and fact-finding tasks.

**Category:** AI  
**Tool Name:** `gemini_deep_research`  
**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 | (current default) | The Gemini model to use for deep research. Pick a specific version — labels are pinned, not aliased to "latest". |
| | | | | Options: the Gemini chat models available to your workspace — pick one from the dropdown. |
| Research Query | `string` | Yes | — | The research question or topic to investigate. Falls back to item.query or item.prompt if empty. Supports expressions like {{ $json.topic }}. |
| 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 research query. Falls back to item.fileUris if empty. Gemini File API retains uploads for 48 hours. Supports expressions. |
| Options | `collection` | No | `{}` | Optional research, generation and output settings — add only the fields you need. |
| — Max Output Tokens | `number` | No | `65536` | Maximum number of tokens in the generated research report. Default is 65536 for comprehensive output. |
| — Temperature | `number` | No | `1` | Controls randomness. Lower values produce more focused research; higher values explore more broadly. Range: 0-2. |
| — Thinking Budget | `number` | No | `32768` | Token budget for the model's internal reasoning before producing the response. Higher values allow deeper analysis. |
| — Response Field Name | `string` | No | `research` | The key name in the output JSON where the research report text will be stored. |
| — Include Sources | `boolean` | No | `true` | Whether to include grounding sources (URLs, titles) and search entry point in the output. |
| Include Input | `boolean` | No | `false` | Whether to merge the input item JSON into the output item. |
| Max Concurrency | `number` | No | `3` | Maximum number of items to process concurrently. Lower default (3) due to heavy API usage per request. |

## Output Data

One research run per input item, and one output item per input item. The report lands on the field named by **Response Field Name** (`research` by default), with the pages the model consulted on `sources`. The rest of the input item JSON is dropped unless **Include Input** is on; binary data on the input item is forwarded unchanged.

```json
{
  "research": "The full research report",
  "sources": [
    { "web": { "uri": "https://example.com/study", "title": "Study title" } }
  ],
  "searchEntryPoint": "the Google Search entry point the API returned",
  "model": "the model that produced the report",
  "finishReason": "the API's reason for ending generation",
  "usage": { "promptTokenCount": 1840, "candidatesTokenCount": 12400 }
}
```

- `sources` is the grounding chunk list exactly as the API returned it, so each entry nests its page under `web` with a `uri` and a `title` — read a URL as `{{ $json.sources[0].web.uri }}`. Both `sources` and `searchEntryPoint` are omitted when **Include Sources** is off, and when the model produced the report without grounding metadata.
- The model's internal reasoning is not returned. **Thinking Budget** buys depth, not visible output — you pay for those tokens (they appear in `usage`) but only the finished report reaches the item.
- `finishReason` is the API's own reason for ending generation — worth checking on long reports, since the **Max Output Tokens** cap and the thinking budget compete for the same run.
- `usage` is the token accounting the API returned for that call.

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

## Usage Examples

- Research the latest advances in quantum computing
- Conduct competitive analysis on a market segment
- Investigate recent regulatory changes in a specific industry
- Generate a comprehensive report on a scientific topic with cited sources
- Explore historical events with grounded facts and references

## Example Configuration

Minimal — one report per item:

```json
{
  "type": "gemini_deep_research",
  "parameters": {
    "query": "What are the latest advancements in quantum computing error correction?"
  }
}
```

Full-depth report with sources, keeping the original item fields:

```json
{
  "type": "gemini_deep_research",
  "parameters": {
    "query": "Analyze the impact of large language models on software engineering productivity",
    "includeInput": true,
    "maxConcurrency": 2,
    "options": {
      "maxOutputTokens": 65536,
      "temperature": 0.7,
      "thinkingBudget": 32768,
      "responseFieldName": "research",
      "includeSources": true
    }
  }
}
```

Faster, cheaper batch pass — each item carries its own question:

```json
{
  "type": "gemini_deep_research",
  "parameters": {
    "query": "{{ $json.question }}",
    "includeInput": true,
    "maxConcurrency": 5,
    "options": {
      "maxOutputTokens": 16384,
      "temperature": 0.5,
      "thinkingBudget": 8192,
      "responseFieldName": "summary",
      "includeSources": false
    }
  }
}
```

### 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 Deep Research submits a query to the Google Gemini generateContent API with Google Search grounding and thinking mode active, performing thorough multi-source analysis on complex topics. Use it when a workflow requires in-depth investigation beyond a single search, such as for market research, competitive analysis, or comprehensive fact-finding tasks. Returns a research report text, grounding sources with citations, search entry points, and token usage metadata on the main output channel.