Testar
10.000 páginas
US$ 3,75
US$ 0,38/1K páginas
- Teste com suas URLs reais
- Mesma API do maior pacote
- Os créditos nunca expiram
Caso de uso · agentes de IA · nome da ferramenta read_url
Um agente que consegue pesquisar mas não ler responde com base em snippets. Dê a ele uma ferramenta que transforma qualquer URL pública em Markdown curto e limpo, e ele consegue ler a fonte, citá-la e referenciá-la, dentro de um orçamento que você define.
Resposta rápida
Qual é a melhor forma de dar a um agente de IA uma ferramenta de web fetch?
Envolva uma API de leitura de páginas web como uma ferramenta que recebe uma URL e retorna o conteúdo principal da página como Markdown, cortado em um comprimento definido. WebReaderAPI faz a leitura, renderiza JavaScript quando necessário, respeita o robots.txt e cobra um crédito por página a partir de US$ 0,07/1K páginas em outubro de 2026. Há código de ferramenta pronto para MCP, function calling da OpenAI, LangChain, n8n e OpenClaw. Sem KYC; cripto.
| Ferramenta | read_url(url, max_chars) chamando https://webreaderapi.com/api/v1/read |
|---|---|
| Retorna | Markdown do conteúdo principal, mais título, autor, data e contagem de palavras |
| Limite de comprimento | max_chars, 1.000 a 500.000 caracteres por página |
| Páginas com JavaScript | Renderização de JavaScript em um navegador headless quando a página precisa (render=auto), ou sempre, ou nunca |
| Recusas | Retornadas como erros claros, nunca cobradas |
| Integrações | MCP, OpenAI, LangChain e LlamaIndex, n8n, OpenClaw |
| Preço | US$ 3,75 por 10.000 páginas; os créditos nunca expiram |
Porque o HTML bruto gasta a janela de contexto com coisas que o modelo não precisa. Uma notícia ou uma página de documentação chega envolta em navegação, scripts, banners de consentimento e links relacionados. Passado como está, isso toma o espaço da conversa e faz o modelo citar menus.
Um leitor resolve três problemas de uma vez. Ele mantém apenas o conteúdo principal, renderiza páginas que ficam vazias até o JavaScript rodar e transforma PDFs em texto. O agente recebe um bloco compacto de Markdown com um título e uma data que pode citar.
Principalmente porque os sites recusam tráfego automatizado. Desde 1º de julho de 2025, o Cloudflare bloqueia crawlers de IA por padrão para novos domínios, e a partir de 15 de setembro de 2026 seus presets bloqueiam tráfego de "Agent" em páginas com anúncios de novos domínios. As ferramentas integradas de agentes de código e assistentes encontram essas recusas como qualquer outro cliente.
Outras falhas são técnicas. A documentação do OpenClaw, lida em 22 de outubro de 2026, diz que seu web_fetch integrado extrai conteúdo com Readability, não executa JavaScript e limita a saída a 20.000 caracteres. Páginas montadas no navegador, documentos longos, servidores lentos e rate limits derrubam essas ferramentas. Um leitor que renderiza páginas resolve o caso do JavaScript; cache e paciência resolvem o resto. As recusas são decisão do dono do site. Nosso guia sobre erros 403 em web fetch explica cada caso.
Para evitar conflito com ferramentas que os agentes já têm. O Claude Code e o OpenClaw vêm com uma ferramenta integrada chamada web_fetch. Uma segunda ferramenta com o mesmo nome confunde o modelo sobre qual ele está chamando. Chamar a nossa de read_url mantém as duas disponíveis: o agente pode usar seu fetcher integrado para verificações rápidas e o read_url quando precisa de Markdown limpo, PDFs ou páginas com JavaScript.
As definições de ferramentas nas nossas páginas de documentação usam todas esse nome, então você pode alternar entre frameworks sem mudar seus prompts.
import os
import requests
API = "https://webreaderapi.com/api/v1/read"
HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}
def read_url(url: str, max_chars: int = 12000) -> str:
"""Return a web page as Markdown for a model, or a short reason it was not read."""
resp = requests.get(API, headers=HEADERS, params={"url": url, "max_chars": max_chars}, timeout=90)
data = resp.json()
if resp.status_code != 200:
err = data.get("error", {})
return "Not read (" + err.get("code", "error") + "): " + err.get("message", "")
head = "# " + (data.get("title") or url) + "\nSource: " + data["final_url"]
if data.get("published_at"):
head += " | Published: " + data["published_at"]
return head + "\n\n" + data["markdown"]
if __name__ == "__main__":
print(read_url("https://example.com/blog/pour-over-coffee", max_chars=2000)[:500])
Dê a ele um orçamento e uma regra. Três hábitos mantêm custos e contexto sob controle:
max_chars em torno de 10.000 a 15.000 caracteres; aumente só quando o word_count mostrar que a resposta provavelmente está mais abaixo.A ferramenta acima retorna as recusas como uma única frase simples, então o modelo pode explicá-las ao usuário.
Um crédito por página, dois quando a página precisa de navegador. Um assistente que responde 100 perguntas por dia e lê 4 páginas para cada uma lê cerca de 12.000 páginas por mês. 50.000 páginas (US$ 14,25) cobrem isso por quatro meses, em outubro de 2026.
Os créditos nunca expiram, então um agente ocupado numa semana e ocioso na seguinte não desperdiça uma cota mensal. Páginas que falham ou que o robots.txt recusa não custam nada.
Faça o protótipo com 10.000 páginas; migre para 50.000 páginas ou 100.000 páginas quando o agente atender usuários reais. Os créditos nunca expiram.
10.000 páginas
US$ 3,75
US$ 0,38/1K páginas
50.000 páginas
US$ 14,25
US$ 0,28/1K páginas
100.000 páginas
US$ 21,75
US$ 0,22/1K páginas
Em todos os planos: Extração do conteúdo principal · Renderização de JavaScript quando necessário · Páginas com falha e recusadas não são cobradas · Os créditos nunca expiram
Sim, por meio de um pequeno servidor MCP que expõe o read_url. A página do MCP tem o código e o trecho de configuração; sua chave de API fica em uma variável de ambiente.
Sim, como um servidor MCP ao lado do web_fetch integrado do OpenClaw. A página do OpenClaw mostra os comandos da própria documentação do OpenClaw.
Não. Se o robots.txt não permitir a página, a API retorna blocked_by_robots; se o site recusar, ela retorna target_refused com o status do site. Nenhum dos dois é cobrado, e nunca tentamos contornar a recusa.
Defina max_chars. O Markdown é cortado nesse tamanho, e word_count informa ao agente o tamanho total da página, para que ele peça mais só quando precisar.
Não. WebReaderAPI não pede documento, selfie, comprovantes nem cartão. O pagamento é em BTC, USDT, USDC, ETH, SOL, LTC, com recarga mínima de US$ 25.
A partir de US$ 0,07/1K páginas · sem KYC
Obtenha uma chave de API