> ## Documentation Index
> Fetch the complete documentation index at: https://docs.crazyrouter.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Web Search

> Production-verified web search with the latest GPT, Claude, and Gemini models

> Дата обновления: 2026-06-06

# Web Search

This page only documents Web Search flows that were **verified with real requests against Crazyrouter production**.

Verification date:

* `2026-03-22`

Verified models:

* `gpt-5.5`
* `claude-opus-4-8`
* `gemini-3.1-pro`

## Verified matrix

| Model             | Protocol               | Endpoint                                      | Success marker                        |
| ----------------- | ---------------------- | --------------------------------------------- | ------------------------------------- |
| `gpt-5.5`         | OpenAI Responses       | `POST /v1/responses`                          | `output` includes `web_search_call`   |
| `claude-opus-4-8` | OpenAI-compatible Chat | `POST /v1/chat/completions`                   | Returns `remote_web_search` tool call |
| `gemini-3.1-pro`  | Gemini Native          | `POST /v1beta/models/{model}:generateContent` | Returns `groundingMetadata`           |

## GPT-5.4

```bash theme={null}
curl https://api.crazyrouter.com/v1/responses \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "gpt-5.5",
    "input": "Use web search to find one current headline from a major technology news site published recently.",
    "tools": [
      {
        "type": "web_search_preview"
      }
    ]
  }'
```

Verified output types:

```json theme={null}
["web_search_call", "web_search_call", "message"]
```

## Claude Sonnet 4.6

```bash theme={null}
curl https://api.crazyrouter.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "claude-opus-4-8",
    "messages": [
      {
        "role": "user",
        "content": "Find one recent technology headline. Use web search and do not answer from memory."
      }
    ],
    "web_search_options": {
      "search_context_size": "medium",
      "user_location": {
        "approximate": {
          "timezone": "Asia/Shanghai",
          "country": "CN"
        }
      }
    },
    "max_tokens": 200
  }'
```

Verified response shape:

```json theme={null}
{
  "tool_calls": [
    {
      "type": "function",
      "function": {
        "name": "remote_web_search"
      }
    }
  ],
  "finish_reason": "tool_calls"
}
```

For first-pass validation, explicitly tell Claude to use web search and not answer from memory. With weaker prompts, it may answer directly without surfacing the tool call.

## Gemini 3 Pro

```bash theme={null}
curl "https://api.crazyrouter.com/v1beta/models/gemini-3.1-pro:generateContent?key=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "role": "user",
        "parts": [
          {
            "text": "Use Google Search to find one recent headline from a major technology news site."
          }
        ]
      }
    ],
    "tools": [
      {
        "googleSearch": {}
      }
    ]
  }'
```

Verified production fields:

* `groundingMetadata.webSearchQueries`
* `groundingMetadata.groundingChunks`
* `groundingMetadata.groundingSupports`

## See Also

* [Responses Web Search](/ru/chat/responses/web-search)
* [OpenAI Web Search](/ru/chat/openai/web-search)
* [Gemini Tools](/ru/chat/gemini/tools)
