Jueves, 23 de julio de 2026  ·  LATAM / Español
ÚLTIMA HORA
Anthropic lanza mejoras en la API de Claude para América Latina  ·  MCP 2026-07-28 ya en release candidate  ·  Claude Sonnet 5 supera benchmarks de coding agéntico  ·  Claude Code alcanza $1B de run-rate en 6 meses  ·  NSA publica guía de seguridad para el protocolo MCP
Hace 45 min →
Principiante 25 min en total 6 pasos

Cómo hacer que Claude busque en internet

Activa la herramienta de búsqueda web en la API de Claude y obtén respuestas con datos actuales y fuentes.

Imagen de portada editorial · Cómo hacer que Claude busque en internet · Educación · Claude Builders
Requisitos
  • Cuenta en console.anthropic.com con una API key activa
  • Python 3.9+ instalado (o Node.js si prefieres JavaScript)
  • Saldo o créditos en tu cuenta de Anthropic
  • Terminal y editor de código básicos
Lo que vas a aprender
  • Qué es la herramienta web_search y cuándo conviene activarla
  • Cómo instalar el SDK de Anthropic y guardar tu API key de forma segura
  • Cómo hacer una petición donde Claude decide buscar en internet
  • Cómo leer las citas y fuentes que devuelve Claude
  • Cómo limitar dominios y controlar el número de búsquedas
PASO 1 · ~5 min

Instalar el SDK y configurar la API key

Antes de nada necesitas el SDK oficial de Anthropic y tu clave de API. Entra en console.anthropic.com, ve a la sección API Keys y crea una nueva clave. Cópiala una sola vez porque no se vuelve a mostrar. Nunca la escribas directamente en el código: guárdala como variable de entorno para no exponerla en Git ni en repositorios públicos. En este tutorial usamos Python, pero el SDK de JavaScript funciona igual. Instala la librería con pip y exporta la clave en tu terminal. Si estás en España o LATAM, la facturación se hace en dólares independientemente de tu ubicación, así que revisa tu saldo antes de empezar. Con esto ya tienes el entorno listo para hacer que Claude consulte información en tiempo real.

bash
pip install anthropic

# En Linux/macOS
export ANTHROPIC_API_KEY='tu-api-key-aqui'

# En Windows (PowerShell)
setx ANTHROPIC_API_KEY "tu-api-key-aqui"
ConsejoAñade un archivo .env y la línea .env a tu .gitignore para no subir la clave por accidente.
Error comúnNo pegues nunca la API key dentro del código fuente: si la subes a GitHub, Anthropic la detecta y la revoca automáticamente.
PASO 2 · ~4 min

Entender la herramienta web_search

Claude no navega por internet por defecto. Para que busque necesitas pasarle la herramienta web_search en el parámetro tools de tu petición. Cuando la activas, Claude decide por sí mismo si una pregunta requiere información actual y, en ese caso, ejecuta una o varias búsquedas, lee los resultados y responde citando las fuentes. Esto es ideal para preguntas sobre noticias, precios, versiones de software o cualquier dato posterior a su fecha de entrenamiento. La herramienta se identifica con el tipo web_search_20250305 y un nombre fijo, web_search. Puedes controlar cuántas búsquedas hace como máximo con max_uses, para evitar que gaste de más. Cada búsqueda tiene un coste adicional al de los tokens, así que conviene limitarla. La gran ventaja frente a copiar y pegar texto manualmente es que Claude escoge los términos de búsqueda y filtra lo relevante por ti.

python
# Estructura de la herramienta que pasaremos a Claude
tool = {
    "type": "web_search_20250305",
    "name": "web_search",
    "max_uses": 3
}
ConsejoEmpieza con max_uses bajo (2 o 3) mientras pruebas; así controlas el gasto sin cortar respuestas útiles.
PASO 3 · ~6 min

Hacer tu primera búsqueda con Claude

Ahora juntamos todo en una petición real. Creamos el cliente, definimos el modelo y le hacemos una pregunta cuya respuesta cambia con el tiempo, como el resultado de un partido reciente o la última versión de una librería. Al incluir la herramienta en tools, Claude detecta que necesita datos frescos, lanza la búsqueda y te devuelve la respuesta ya redactada. No tienes que orquestar nada más: el ciclo de buscar, leer y responder ocurre dentro de la misma llamada. Fíjate en que el modelo por defecto aquí es claude-opus-4-8. Ejecuta el script y verás cómo el texto final incorpora información que el modelo no tenía en su entrenamiento.

python
import anthropic

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    tools=[{
        "type": "web_search_20250305",
        "name": "web_search",
        "max_uses": 3
    }],
    messages=[{
        "role": "user",
        "content": "¿Cuál es la última versión estable de Python y qué novedades trae?"
    }]
)

for block in response.content:
    if block.type == "text":
        print(block.text)
ConsejoHaz preguntas que obliguen a buscar ("hoy", "última versión", "precio actual") para comprobar que la herramienta se activa de verdad.
Error comúnSi no incluyes el bloque tools, Claude responderá con sus datos de entrenamiento y no buscará nada, aunque tú creas que sí.
PASO 4 · ~4 min

Leer las fuentes y citas de la respuesta

Una respuesta con búsqueda no es solo texto: incluye bloques adicionales con los resultados encontrados y las citas que respaldan cada afirmación. Esto es clave para verificar la información y mostrar las fuentes a tus usuarios, algo muy valorado en aplicaciones profesionales. Al recorrer response.content encontrarás bloques de tipo server_tool_use (la búsqueda que hizo Claude) y web_search_tool_result (los enlaces que encontró). Dentro del texto, las citas apuntan a las URLs concretas. Recorrer estos bloques te permite construir una lista de fuentes al pie de la respuesta, tal como hace Perplexity o el propio Claude en su web. Guardar y mostrar estas URLs aumenta la confianza y te protege de las alucinaciones, porque puedes contrastar lo que dice el modelo.

python
for block in response.content:
    if block.type == "web_search_tool_result":
        for item in block.content:
            if hasattr(item, "title"):
                print(f"Fuente: {item.title}")
                print(f"URL: {item.url}\n")
    elif block.type == "text":
        print(block.text)
ConsejoMuestra siempre las URLs de las fuentes en tu app: convierte la respuesta en algo verificable y más profesional.
PASO 5 · ~4 min

Limitar dominios para búsquedas fiables

En muchos proyectos no quieres que Claude busque en cualquier web, sino solo en fuentes de confianza (documentación oficial, medios concretos, tu propio dominio). La herramienta admite allowed_domains para restringir dónde busca, o blocked_domains para excluir sitios. Esto es muy útil en entornos empresariales de España y LATAM donde necesitas cumplir criterios editoriales o legales. También puedes usar user_location para orientar los resultados a un país o idioma, algo práctico si quieres respuestas centradas en fuentes en español. Combinando estos parámetros consigues un asistente que busca de forma acotada y predecible, en lugar de traer resultados aleatorios de toda la web.

python
tool = {
    "type": "web_search_20250305",
    "name": "web_search",
    "max_uses": 3,
    "allowed_domains": ["docs.python.org", "python.org"],
    "user_location": {
        "type": "approximate",
        "country": "ES",
        "timezone": "Europe/Madrid"
    }
}
ConsejoUsa allowed_domains para documentación técnica: reduces ruido y aumentas la precisión de las respuestas.
Error comúnNo combines allowed_domains y blocked_domains en la misma herramienta: elige una estrategia, porque juntas generan conflictos.
PASO 6 · ~2 min

Controlar costes y errores comunes

Cada búsqueda web tiene un coste extra sobre los tokens habituales, así que en producción conviene vigilar el gasto. Revisa el bloque usage de la respuesta para saber cuántas búsquedas se hicieron. Un patrón recomendable es cachear resultados para preguntas repetidas y poner un max_uses razonable. También maneja errores: si la búsqueda falla o no encuentra nada, Claude lo indica en el resultado y tu código debe contemplarlo para no romperse. Por último, recuerda que la búsqueda no está disponible en todos los modelos ni regiones por igual; comprueba la documentación si recibes un error de herramienta no soportada. Con estas precauciones tendrás una integración estable y con costes bajo control.

python
print("Búsquedas realizadas:", response.usage)

# Detectar si alguna búsqueda falló
for block in response.content:
    if block.type == "web_search_tool_result":
        if hasattr(block.content, "error_code"):
            print("Error en la búsqueda:", block.content.error_code)
ConsejoRegistra el número de búsquedas por usuario para detectar consultas caras y optimizar tus prompts.
Error comúnNo asumas que siempre habrá resultados: una búsqueda vacía o bloqueada puede devolver un error que debes gestionar.
Resultado

Has conseguido que Claude busque en internet a través de la API: instalaste el SDK, activaste la herramienta web_search, hiciste una petición con datos en tiempo real, leíste las fuentes citadas y aprendiste a acotar dominios y controlar costes. Con esta base puedes construir asistentes con información actualizada y verificable. Si quieres seguir avanzando, este es un punto de partida ideal para aprender a construir sobre la API de Claude y llevar tus prototipos a aplicaciones reales.

PRÓXIMOS PASOS