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
Caso de uso · agentes de IA · nome da ferramenta web_search
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.
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.
| Ferramenta | web_search(query, recent) chamando POST https://llmwebsearch.com/api/v1/search |
|---|---|
| Retorna | Até 20 resultados ranqueados; os 3 primeiros com o texto da página em Markdown |
| Controle de tamanho | max_chars por página, read para o número de páginas, max_results para a lista |
| Custo | Um 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 |
| Filtros | Escolha 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 prontas | servidor MCP, function calling da OpenAI, LangChain e LlamaIndex, n8n, OpenClaw |
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.
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.
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))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:
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 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.
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.
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.
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.
5.000 pesquisas
US$ 9,25
US$ 1,85/1K pesquisas
25.000 pesquisas
US$ 41,25
US$ 1,65/1K pesquisas
100.000 pesquisas
US$ 145
US$ 1,45/1K 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
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.
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.
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.
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.
A partir de US$ 1,20/1K pesquisas · sem KYC
Obtenha uma chave de API