La API de búsqueda web de Ollama se puede utilizar para complementar los modelos con la información más reciente para reducir las alucinaciones y mejorar la precisión.
La búsqueda web se proporciona como una API REST con integraciones de herramientas más profundas en las bibliotecas de Python y JavaScript. Esto también permite que modelos como los modelos gpt-oss de OpenAI realicen tareas de investigación de larga duración.
Autenticación
Para acceder a la API de búsqueda web de Ollama, crea una clave API. Se requiere una cuenta gratuita de Ollama.
API de búsqueda web
Realiza una búsqueda web para una sola consulta y devuelve resultados relevantes.
Solicitud
POST https://ollama.com/api/web_search
query(cadena, requerido): la cadena de consulta de búsquedamax_results(entero, opcional): cantidad máxima de resultados a devolver (predeterminado 5, máximo 10)
Respuesta
Devuelve un objeto que contiene:
results(matriz): matriz de objetos de resultados de búsqueda, cada uno contiene:title(cadena): el título de la página weburl(cadena): la URL de la página webcontent(cadena): fragmento de contenido relevante de la página web
Ejemplos
Nota
Asegúrate de que OLLAMA_API_KEY esté configurada o debe pasarse en el encabezado Authorization.
Solicitud cURL
bash
curl https://ollama.com/api/web_search \
--header "Authorization: Bearer $OLLAMA_API_KEY" \
-d '{
"query":"what is ollama?"
}'Respuesta
json
{
"results": [
{
"title": "Ollama",
"url": "https://ollama.com/",
"content": "Cloud models are now available..."
},
{
"title": "What is Ollama? Introduction to the AI model management tool",
"url": "https://www.hostinger.com/tutorials/what-is-ollama",
"content": "Ariffud M. 6min Read..."
},
{
"title": "Ollama Explained: Transforming AI Accessibility and Language ...",
"url": "https://www.geeksforgeeks.org/artificial-intelligence/ollama-explained-transforming-ai-accessibility-and-language-processing/",
"content": "Data Science Data Science Projects Data Analysis..."
}
]
}Biblioteca de Python
python
response = ollama.web_search("What is Ollama?")
print(response)Ejemplo de salida
python
results = [
{
"title": "Ollama",
"url": "https://ollama.com/",
"content": "Cloud models are now available in Ollama..."
},
{
"title": "What is Ollama? Features, Pricing, and Use Cases - Walturn",
"url": "https://www.walturn.com/insights/what-is-ollama-features-pricing-and-use-cases",
"content": "Our services..."
},
{
"title": "Complete Ollama Guide: Installation, Usage & Code Examples",
"url": "https://www.collabnix.com/complete-ollama-guide-installation-usage-code-examples",
"content": "Join our Discord Server..."
}
]Más ejemplos de Ollama en Python
Biblioteca de JavaScript
tsx
const client = new Ollama();
const results = await client.webSearch("what is ollama?");
console.log(JSON.stringify(results, null, 2));Ejemplo de salida
json
{
"results": [
{
"title": "Ollama",
"url": "https://ollama.com/",
"content": "Cloud models are now available..."
},
{
"title": "What is Ollama? Introduction to the AI model management tool",
"url": "https://www.hostinger.com/tutorials/what-is-ollama",
"content": "Ollama is an open-source tool..."
},
{
"title": "Ollama Explained: Transforming AI Accessibility and Language Processing",
"url": "https://www.geeksforgeeks.org/artificial-intelligence/ollama-explained-transforming-ai-accessibility-and-language-processing/",
"content": "Ollama is a groundbreaking..."
}
]
}Más ejemplos de Ollama en JavaScript
API de obtención web
Obtiene una página web individual por URL y devuelve su contenido.
Solicitud
POST https://ollama.com/api/web_fetch
url(cadena, requerido): la URL a obtener
Respuesta
Devuelve un objeto que contiene:
title(cadena): el título de la página webcontent(cadena): el contenido principal de la página weblinks(matriz): matriz de enlaces encontrados en la página
Ejemplos
Solicitud cURL
python
curl --request POST \
--url https://ollama.com/api/web_fetch \
--header "Authorization: Bearer $OLLAMA_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"url": "ollama.com"
}'Respuesta
json
{
"title": "Ollama",
"content": "[Cloud models](https://ollama.com/blog/cloud-models) are now available in Ollama...",
"links": [
"http://ollama.com/",
"http://ollama.com/models",
"https://github.com/ollama/ollama"
]SDK de Python
python
from ollama import web_fetch
result = web_fetch('https://ollama.com')
print(result)Resultado
python
WebFetchResponse(
title='Ollama',
content='[Cloud models](https://ollama.com/blog/cloud-models) are now available in Ollama\n\n**Chat & build
with open models**\n\n[Download](https://ollama.com/download) [Explore
models](https://ollama.com/models)\n\nAvailable for macOS, Windows, and Linux',
links=['https://ollama.com/', 'https://ollama.com/models', 'https://github.com/ollama/ollama']
)SDK de JavaScript
tsx
const client = new Ollama();
const fetchResult = await client.webFetch("https://ollama.com");
console.log(JSON.stringify(fetchResult, null, 2));Resultado
json
{
"title": "Ollama",
"content": "[Cloud models](https://ollama.com/blog/cloud-models) are now available in Ollama...",
"links": [
"https://ollama.com/",
"https://ollama.com/models",
"https://github.com/ollama/ollama"
]
}Construyendo un agente de búsqueda
Utiliza la API de búsqueda web de Ollama como herramienta para construir un mini agente de búsqueda.
Este ejemplo utiliza el modelo Qwen 3 de Alibaba con 4B parámetros.
bash
ollama pull qwen3:4bpython
from ollama import chat, web_fetch, web_search
available_tools = {'web_search': web_search, 'web_fetch': web_fetch}
messages = [{'role': 'user', 'content': "what is ollama's new engine"}]
while True:
response = chat(
model='qwen3:4b',
messages=messages,
tools=[web_search, web_fetch],
think=True
)
if response.message.thinking:
print('Thinking: ', response.message.thinking)
if response.message.content:
print('Content: ', response.message.content)
messages.append(response.message)
if response.message.tool_calls:
print('Tool calls: ', response.message.tool_calls)
for tool_call in response.message.tool_calls:
function_to_call = available_tools.get(tool_call.function.name)
if function_to_call:
args = tool_call.function.arguments
result = function_to_call(**args)
print('Result: ', str(result)[:200]+'...')
# El resultado se trunca debido a longitudes de contexto limitadas
messages.append({'role': 'tool', 'content': str(result)[:2000 * 4], 'tool_name': tool_call.function.name})
else:
messages.append({'role': 'tool', 'content': f'Tool {tool_call.function.name} not found', 'tool_name': tool_call.function.name})
else:
breakResultado
Thinking: Okay, the user is asking about Ollama's new engine. I need to figure out what they're referring to. Ollama is a company that develops large language models, so maybe they've released a new model or an updated version of their existing engine....
Tool calls: [ToolCall(function=Function(name='web_search', arguments={'max_results': 3, 'query': 'Ollama new engine'}))]
Result: results=[WebSearchResult(content='# New model scheduling\n\n## September 23, 2025\n\nOllama now includes a significantly improved model scheduling system. Ahead of running a model, Ollama’s new engine
Thinking: Okay, the user asked about Ollama's new engine. Let me look at the search results.
First result is from September 23, 2025, talking about new model scheduling. It mentions improved memory management, reduced crashes, better GPU utilization, and multi-GPU performance. Examples show speed improvements and accurate memory reporting. Supported models include gemma3, llama4, qwen3, etc...
Content: Ollama has introduced two key updates to its engine, both released in 2025:
1. **Enhanced Model Scheduling (September 23, 2025)**
- **Precision Memory Management**: Exact memory allocation reduces out-of-memory crashes and optimizes GPU utilization.
- **Performance Gains**: Examples show significant speed improvements (e.g., 85.54 tokens/s vs 52.02 tokens/s) and full GPU layer utilization.
- **Multi-GPU Support**: Improved efficiency across multiple GPUs, with accurate memory reporting via tools like `nvidia-smi`.
- **Supported Models**: Includes `gemma3`, `llama4`, `qwen3`, `mistral-small3.2`, and more.
2. **Multimodal Engine (May 15, 2025)**
- **Vision Support**: First-class support for vision models, including `llama4:scout` (109B parameters), `gemma3`, `qwen2.5vl`, and `mistral-small3.1`.
- **Multimodal Tasks**: Examples include identifying animals in multiple images, answering location-based questions from videos, and document scanning.
These updates highlight Ollama's focus on efficiency, performance, and expanded capabilities for both text and vision tasks.Longitud de contexto y agentes
Los resultados de búsqueda web pueden devolver miles de tokens. Se recomienda aumentar la longitud de contexto del modelo a al menos ~32000 tokens. Los agentes de búsqueda funcionan mejor con la longitud de contexto completa. Los modelos en la nube de Ollama se ejecutan con la longitud de contexto completa.
Servidor MCP
Puedes habilitar la búsqueda web en cualquier cliente MCP a través del servidor MCP de Python.
Cline
La búsqueda web de Ollama se puede integrar fácilmente con Cline mediante la configuración del servidor MCP.
Administrar servidores MCP > Configurar servidores MCP > Agrega la siguiente configuración:
json
{
"mcpServers": {
"web_search_and_fetch": {
"type": "stdio",
"command": "uv",
"args": ["run", "path/to/web-search-mcp.py"],
"env": { "OLLAMA_API_KEY": "your_api_key_here" }
}
}
}
Codex
Ollama funciona bien con la herramienta Codex de OpenAI.
Agrega la siguiente configuración a ~/.codex/config.toml
python
[mcp_servers.web_search]
command = "uv"
args = ["run", "path/to/web-search-mcp.py"]
env = { "OLLAMA_API_KEY" = "your_api_key_here" }
Goose
Ollama se puede integrar con Goose a través de su función MCP.


Otras integraciones
Ollama se puede integrar en la mayoría de las herramientas disponibles, ya sea mediante la integración directa de la API de Ollama, bibliotecas de Python/JavaScript, API compatible con OpenAI e integración del servidor MCP.