Probar
5.000 búsquedas
9,25 US$
1,85 US$/1K búsquedas
- Conéctala a un agente
- La misma API que el pack más grande
- Los créditos nunca caducan
Caso de uso · Agentes de IA · nombre de la herramienta web_search
Un agente que puede buscar pero no leer adivina a partir de los fragmentos. Dale una sola herramienta que haga las dos cosas: busca en la web en vivo y devuelve las primeras páginas como Markdown limpio, numeradas para que el modelo pueda citarlas.
Respuesta rápida
¿Cómo doy a un agente de IA una herramienta de búsqueda web que devuelva el contenido de las páginas?
Envuelve una web search API como una herramienta que recibe una consulta y devuelve fuentes numeradas con el texto de su página. LLMWebSearch lo hace en una llamada: resultados ordenados de una búsqueda en vivo, con las 3 primeras páginas leídas como Markdown, por un crédito. Los precios empiezan en 9,25 US$ por 5.000 búsquedas y bajan a 1,20 US$/1K búsquedas. Sin KYC; paga con criptomonedas.
| Herramienta | web_search(query, recent) llamando a POST https://llmwebsearch.com/api/v1/search |
|---|---|
| Devuelve | Hasta 20 resultados clasificados; los 3 primeros con el texto de su página en Markdown |
| Control de longitud | max_chars por página, read para el número de páginas, max_results para la lista |
| Coste | Un crédito paga una búsqueda: hasta 20 resultados clasificados, con las páginas de los 3 primeros leídas y devueltas como Markdown. Leer de 4 a 10 páginas pasa a 2 créditos. Una llamada que termina en error no cuesta nada |
| Filtros | Elige el país y el idioma de los resultados, un rango temporal (último día, semana, mes o año), resultados web o de noticias, y dominios que incluir o excluir |
| Integraciones listas para usar | servidor MCP, function calling de OpenAI, LangChain y LlamaIndex, n8n, OpenClaw |
Porque la respuesta rara vez está en el fragmento. Una página de resultados ofrece un título y una o dos líneas elegidas por el buscador. El número, la fecha o la regla por la que preguntó tu usuario aparecen más abajo en la página.
Un agente que solo ve fragmentos tiene dos malas opciones. Puede responder a partir de un fragmento y arriesgarse a equivocarse, o puede llamar a una segunda herramienta para obtener cada página. La segunda opción duplica los viajes de ida y vuelta y las definiciones de herramientas.
Con LLMWebSearch, las primeras páginas llegan ya leídas. Se eliminan la navegación, los anuncios y los banners de cookies, así que el modelo gasta sus tokens en el contenido. Los resultados restantes conservan sus fragmentos, que ayudan al modelo a decidir si vuelve a buscar.
Mantén el esquema pequeño: un query obligatorio y, como mucho, uno o dos conmutadores. Los modelos llaman de forma más fiable a herramientas sencillas. El ejemplo de abajo expone un flag recent que se corresponde con time_range=month; todo lo demás queda fijado en tu código.
La función devuelve texto plano, no JSON. Cada fuente empieza con un número, un título y una URL, seguidos de su Markdown. Ese formato hace que las citas como [2] sean naturales para el modelo.
Si tu agente ya incluye una herramienta llamada web_search, como hacen Claude Code y OpenClaw, dale otro nombre a la tuya, por ejemplo search_web. Dos herramientas con el mismo nombre confunden al modelo.
import json
import os
import requests
API = "https://llmwebsearch.com/api/v1/search"
HEADERS = {"Authorization": "Bearer " + os.environ["LLMWEBSEARCH_API_KEY"]}
# Tool definition in the OpenAI function-calling format; most agent frameworks accept the same JSON schema.
WEB_SEARCH_TOOL = {
"type": "function",
"function": {
"name": "web_search",
"description": "Search the live web. Returns numbered sources; the first ones include the page text in Markdown.",
"parameters": {
"type": "object",
"properties": {
"query": {"type": "string", "description": "A short search query, 3 to 8 words"},
"recent": {"type": "boolean", "description": "True to keep only results from the past month"},
},
"required": ["query"],
},
},
}
def web_search(query, recent=False, read=3, max_chars=4000):
"""Run one search (1 credit with read <= 3) and return compact text the model can cite."""
body = {"q": query, "max_results": 5, "read": read, "max_chars": max_chars}
if recent:
body["time_range"] = "month"
resp = requests.post(API, headers=HEADERS, json=body, timeout=60)
resp.raise_for_status()
lines = []
for r in resp.json()["results"]:
lines.append(f"[{r['position']}] {r['title']} — {r['url']}")
if r.get("content_status") == "ok":
lines.append(r["content"])
else:
lines.append(r.get("snippet", ""))
lines.append("")
return "\n".join(lines)
def run_tool_call(call):
"""Execute a tool call returned by the model and give back the text for the tool message."""
args = json.loads(call["function"]["arguments"])
return web_search(args["query"], recent=args.get("recent", False))Busca cuando la respuesta dependa de hechos que cambian o que el modelo no puede conocer. Los precios, versiones, leyes, horarios y eventos recientes entran en esa categoría. Las definiciones y el conocimiento estable normalmente no.
Escribe esa regla en el system prompt y añade un presupuesto. Tres hábitos ayudan:
Tres parámetros deciden cuánto texto llega al modelo. read fija cuántas páginas se leen, de 0 a 10. max_chars limita cada página, de 500 a 50 000 caracteres. max_results fija cuántos resultados se listan, de 1 a 20.
Para un agente de chat, read=3 con max_chars=4000 devuelve unos 12 000 caracteres de texto de página por búsqueda. Eso deja espacio para varias búsquedas en una conversación. Para una tarea de investigación que resume sobre la marcha, las páginas más largas van bien.
El campo word_count te indica cuánto medía la página completa antes del corte. El agente puede usarlo para decidir si obtiene más con el endpoint extract.
El resultado sigue llegando, con su título, URL y fragmento, pero sin contenido. Un campo content_status explica por qué.
blocked_by_robots: el robots.txt del sitio no permite nuestro lector.blocked_by_site_policy: Un sitio que establece Content-Signal: ai-input=no en su robots.txt mantiene las páginas de su sitio fuera del contenido de tus resultados.target_refused: el sitio respondió con una negativa; su estado está en target_status.fetch_failed o fetch_timeout: la página no cargó a tiempo.Cuando un sitio rechaza a nuestro lector, el resultado vuelve sin contenido y con el estado del sitio: nunca resolvemos CAPTCHAs, iniciamos sesión en cuentas ni sorteamos un bloqueo o un paywall. Indica al agente que use el fragmento, u otra fuente, cuando una página vuelva vacía. La búsqueda en sí sigue siendo un crédito, pase lo que pase con cada página.
Las herramientas integradas son cómodas, pero te dan menos control. A 22 de octubre de 2026, la herramienta web_search de OpenAI cuesta $10 por 1000 llamadas más el contenido de búsqueda facturado como tokens de entrada. La búsqueda web de Claude de Anthropic también cuesta $10 por 1000 búsquedas más los costes de tokens. El grounding de Gemini 3 incluye 5000 búsquedas gratis al mes en el plan de pago y luego cuesta $14 por 1000.
Estas herramientas devuelven sobre todo una respuesta escrita con citas, no las páginas en bruto. Además, atan tu búsqueda a un único proveedor de modelo. Una herramienta independiente funciona con cualquier modelo y te deja fijar la longitud de cada página. La comparativa de herramientas integradas tiene la tabla completa.
Un crédito por búsqueda cuando read es 3 o menos. Un asistente usado por un equipo, que responde 100 preguntas al día con 4 búsquedas cada una, hace unas 12 000 búsquedas al mes. 25.000 búsquedas por 41,25 US$ cubre ese mes y buena parte del siguiente.
Un agente de programación usado por un desarrollador puede buscar 20 veces al día, o unas 600 veces al mes. 5.000 búsquedas por 9,25 US$ entonces dura varios meses, porque los créditos no caducan. La guía de costes muestra las cuentas para cargas de trabajo mayores.
Haz el prototipo con 5.000 búsquedas; pasa a 25.000 búsquedas o 100.000 búsquedas cuando el agente esté en uso diario.
5.000 búsquedas
9,25 US$
1,85 US$/1K búsquedas
25.000 búsquedas
41,25 US$
1,65 US$/1K búsquedas
100.000 búsquedas
145 US$
1,45 US$/1K búsquedas
En todos los planes: 3 páginas principales leídas como Markdown · Filtros de país, idioma, hora y dominio · Las llamadas fallidas no se cobran · Los créditos nunca caducan
Sí, mediante un pequeño servidor MCP que expone la búsqueda como herramienta. La página de MCP tiene el código y la configuración del cliente.
Sí. El esquema de arriba es JSON Schema puro, que Anthropic, Google, Mistral y los frameworks de código abierto aceptan con pequeños cambios. La herramienta solo llama a nuestro endpoint HTTPS.
Cuenta las llamadas en tu wrapper de la herramienta y devuelve un mensaje breve cuando se agote el presupuesto. Pon también el presupuesto en el system prompt, para que el modelo lo tenga en cuenta.
Puede intentarlo. Trata el texto de la página como datos: indica al modelo en el system prompt que ignore las instrucciones que encuentre dentro de las fuentes, y nunca dejes que una fuente desencadene acciones por sí sola.
Desde 1,20 US$/1K búsquedas · sin KYC
Obtén una clave API