Sem KYC — sem documento de identidade, sem selfie, sem documentos. Pague com cripto: BTC, USDT, USDC, ETH, SOL, LTC
Idioma: Português
Obtenha uma chave de API

Caso de uso · agentes de IA · nome da ferramenta web_search

Uma ferramenta de pesquisa na web para agentes de IA que traz de volta o texto da página

Um agente que consegue pesquisar mas não consegue ler adivinha a partir dos snippets. Dê a ele uma ferramenta que faz as duas coisas: ele pesquisa a web ao vivo e retorna as primeiras páginas como Markdown limpo, numeradas para que o modelo possa citá-las.

Última atualização: · 8 min de leitura

Resposta rápida

Como dou a um agente de IA uma ferramenta de pesquisa na web que retorna o conteúdo da página?

Empacote uma API de pesquisa na web como uma ferramenta que recebe uma consulta e retorna fontes numeradas com o texto da página. LLMWebSearch faz isso em uma chamada: resultados ranqueados de uma pesquisa ao vivo, com as 3 primeiras páginas lidas como Markdown, por um crédito. Os preços começam a partir de US$ 9,25 para 5.000 pesquisas e caem para US$ 1,20/1K pesquisas. Sem KYC; pague com cripto.

LLMWebSearch como ferramenta de agente

Ferramentaweb_search(query, recent) chamando POST https://llmwebsearch.com/api/v1/search
RetornaAté 20 resultados ranqueados; os 3 primeiros com o texto da página em Markdown
Controle de tamanhomax_chars por página, read para o número de páginas, max_results para a lista
CustoUm crédito paga uma pesquisa: até 20 resultados classificados, com as páginas dos 3 primeiros lidas e devolvidas em Markdown. Ler de 4 a 10 páginas custa 2 créditos. Uma chamada que termina em erro não custa nada
FiltrosEscolha o país e o idioma dos resultados, um intervalo de tempo (último dia, semana, mês ou ano), resultados da web ou de notícias, e domínios para incluir ou excluir
Integrações prontasservidor MCP, function calling da OpenAI, LangChain e LlamaIndex, n8n, OpenClaw

Por que um agente precisa do texto da página e não apenas dos snippets?

Porque a resposta raramente está no snippet. Uma página de resultados traz um título e uma ou duas linhas escolhidas pelo mecanismo de busca. O número, a data ou a regra que seu usuário perguntou está mais abaixo na página.

Um agente que só vê snippets tem duas opções ruins. Ele pode responder a partir de um fragmento e correr o risco de errar, ou chamar uma segunda ferramenta para buscar cada página. A segunda opção dobra as idas e voltas e as definições de ferramentas.

Com LLMWebSearch, as primeiras páginas já chegam lidas. Navegação, anúncios e banners de cookies são removidos, então o modelo gasta seus tokens com conteúdo. Os resultados restantes ainda trazem seus snippets, que ajudam o modelo a decidir se deve pesquisar de novo.

Como a ferramenta de pesquisa deve ser definida?

Mantenha o schema enxuto: um query obrigatório e, no máximo, um ou dois switches. Modelos chamam ferramentas simples com mais confiabilidade. O exemplo abaixo expõe uma flag recent que mapeia para time_range=month; todo o resto fica fixo no seu código.

A função retorna texto puro, não JSON. Cada fonte começa com um número, um título e uma URL, seguidos do seu Markdown. Esse layout torna citações como [2] naturais para o modelo.

Se seu agente já inclui uma ferramenta chamada web_search, como fazem o Claude Code e o OpenClaw, dê outro nome à sua, como search_web. Duas ferramentas com o mesmo nome confundem o modelo.

Python: uma ferramenta web_search para function calling no estilo OpenAI
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))

Quando um agente deve pesquisar, e com que frequência?

Pesquise quando a resposta depende de fatos que mudam ou que o modelo não pode saber. Preços, versões, leis, horários e eventos recentes se enquadram. Definições e conhecimento estável geralmente não.

Escreva essa regra no system prompt e adicione um orçamento. Três hábitos ajudam:

  • Planeje antes de pesquisar. Peça ao modelo que escreva suas consultas primeiro. Duas consultas precisas valem mais que cinco vagas.
  • Limite as chamadas. Permita, digamos, quatro pesquisas por turno do usuário. Aumente o limite apenas para tarefas de pesquisa.
  • Pare quando as fontes concordarem. Se três páginas independentes dizem a mesma coisa, o agente pode responder.

Como mantenho a janela de contexto sob controle?

Três parâmetros decidem quanto texto chega ao modelo. read define quantas páginas são lidas, de 0 a 10. max_chars limita cada página, de 500 a 50.000 caracteres. max_results define quantos resultados são listados, de 1 a 20.

Para um agente de chat, read=3 com max_chars=4000 retorna cerca de 12.000 caracteres de texto de página por pesquisa. Isso deixa espaço para várias pesquisas em uma conversa. Para um trabalho de pesquisa que resume à medida que avança, páginas mais longas são adequadas.

O campo word_count informa qual era o tamanho da página completa antes do corte. O agente pode usá-lo para decidir se busca mais com o endpoint de extração.

O que acontece quando uma página não pode ser lida?

O resultado ainda volta, com título, URL e snippet, mas sem conteúdo. Um campo content_status explica o motivo.

  • blocked_by_robots: o robots.txt do site não permite nosso leitor.
  • blocked_by_site_policy: Um site que define Content-Signal: ai-input=no no seu robots.txt mantém as suas páginas fora do conteúdo dos seus resultados.
  • target_refused: o site respondeu com uma recusa; o status está em target_status.
  • fetch_failed ou fetch_timeout: a página não carregou a tempo.

Quando um site recusa o nosso leitor, o resultado volta sem conteúdo e com o status do site: nunca resolvemos CAPTCHAs, não entramos em contas nem contornamos um bloqueio ou um paywall. Instrua o agente a usar o snippet, ou outra fonte, quando uma página voltar vazia. A pesquisa em si continua custando um crédito, aconteça o que acontecer com cada página.

Por que não usar a ferramenta de pesquisa integrada ao modelo?

Ferramentas integradas são práticas, mas dão menos controle. Em 22 de outubro de 2026, a ferramenta web_search da OpenAI custa $10 por 1.000 chamadas mais o conteúdo de pesquisa cobrado como tokens de entrada. A pesquisa na web do Claude, da Anthropic, também custa $10 por 1.000 pesquisas mais custos de tokens. O grounding do Gemini 3 inclui 5.000 pesquisas gratuitas por mês no plano pago, depois custa $14 por 1.000.

Essas ferramentas geralmente retornam uma resposta escrita com citações, não as páginas brutas. Elas também vinculam sua pesquisa a um único fornecedor de modelo. Uma ferramenta independente funciona com qualquer modelo e permite definir o tamanho de cada página. A comparação de ferramentas integradas tem a tabela completa.

Quanto custa rodar um agente com LLMWebSearch?

Um crédito por pesquisa quando read é 3 ou menos. Um assistente usado por uma equipe, respondendo 100 perguntas por dia com 4 pesquisas cada, roda cerca de 12.000 pesquisas por mês. 25.000 pesquisas a US$ 41,25 cobre esse mês e a maior parte do próximo.

Um agente de programação usado por um desenvolvedor pode pesquisar 20 vezes por dia, ou cerca de 600 vezes por mês. 5.000 pesquisas a US$ 9,25 então dura vários meses, porque os créditos nunca expiram. O guia de custos mostra a aritmética para cargas de trabalho maiores.

Qual pack serve para um agente?

Faça o protótipo com 5.000 pesquisas; passe para 25.000 pesquisas ou 100.000 pesquisas quando o agente estiver em uso diário.

Experimente

5.000 pesquisas

US$ 9,25

US$ 1,85/1K pesquisas

  • Integre a um agente
  • A mesma API do maior pacote
  • Os créditos nunca expiram
Escolha 5.000 pesquisas

Desenvolvedor

25.000 pesquisas

US$ 41,25

US$ 1,65/1K pesquisas

  • Um agente de código ou um assistente de pesquisa
  • Pronto para MCP, LangChain e n8n
  • Os créditos nunca expiram
Escolha 25.000 pesquisas

Produção

100.000 pesquisas

US$ 145

US$ 1,45/1K pesquisas

  • Agentes em produção
  • Rate limit maior sob solicitação
  • Os créditos nunca expiram
Escolha 100.000 pesquisas

Em todos os planos: As 3 principais páginas lidas em Markdown · Filtros de país, idioma, hora e domínio · Chamadas com falha não são cobradas · Os créditos nunca expiram

Agentes de IA: perguntas frequentes

Posso adicionar LLMWebSearch ao Claude Desktop, Cursor ou Claude Code?

Sim, por meio de um pequeno servidor MCP que expõe a pesquisa como ferramenta. A página do MCP tem o código e a configuração do cliente.

A ferramenta funciona com modelos além dos da OpenAI?

Sim. O schema acima é JSON Schema puro, que Anthropic, Google, Mistral e frameworks open-source aceitam com pequenas alterações. A ferramenta só chama nosso endpoint HTTPS.

Como impeço um agente de pesquisar demais?

Conte as chamadas no seu wrapper da ferramenta e retorne uma mensagem curta quando o orçamento acabar. Coloque o orçamento também no system prompt, para o modelo planejar com base nele.

O texto de uma página pode dar instruções ao meu agente?

Pode tentar. Trate o texto da página como dados: instrua o modelo no system prompt a ignorar instruções encontradas dentro das fontes e nunca deixe uma fonte disparar ações por conta própria.

Fontes (3)
  1. Preços da API (ferramenta de pesquisa na web) — OpenAI (read 2026-10-22)
  2. Preços (ferramenta de pesquisa na web) — Anthropic (read 2026-10-22)
  3. Preços da Gemini Developer API — Google (read 2026-10-22)

A partir de US$ 1,20/1K pesquisas · sem KYC

Obtenha uma chave de API