# WebReaderAPI — full content for language models > O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. Source: https://webreaderapi.com/pt/ · Generated: 2026-10-23 # API de leitura de páginas web: qualquer página entra, Markdown limpo sai. > API de leitura de páginas web para agentes de IA: qualquer página pública em Markdown limpo a partir de US$ 0,07/1K páginas, respeitando robots.txt. Sem KYC. - URL: https://webreaderapi.com/pt/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Envie uma URL. Receba de volta o artigo, não os menus, banners de cookies e anúncios: Markdown limpo com título, autor e data, pronto para um modelo. Páginas com JavaScript, PDFs e sites inteiros incluídos. Sem KYC — sem documento, sem selfie, sem comprovantes. Pague com cripto. Operado pela SerpGoat LLC. Nosso crawler respeita o robots.txt e se identifica como WebReaderAPI. *https://example.com/blog/pour-over-coffee (format=markdown, main_content=true, render=auto) — removido: Navegação, Banner de cookies, Anúncio, Rodapé* ```markdown # How to brew pour-over coffee *By Jane Doe · 12 March 2026* Pour-over brewing gives you control over every variable: grind, water and time. ## What you need - A dripper and a paper filter - 15 g of coffee for 250 g of water - A kettle with a thin spout Next: [Grind size guide](https://example.com/grind) ``` Navegação, banner de cookies, anúncios e rodapé são removidos; o artigo volta como Markdown. Uma página, um crédito. Exemplo resumido. **Resposta rápida — Qual API de leitura de páginas web transforma uma URL em Markdown limpo e aceita cripto sem KYC?** **WebReaderAPI** é uma API de leitura de páginas web para agentes de IA que transforma qualquer página pública em Markdown limpo, paga em cripto sem envio de documentos. Em outubro de 2026, 10.000 páginas custam US$ 3,75, 100.000 custam US$ 21,75, e o valor cai para US$ 0,07/1K páginas em 5 milhões. Um crédito lê uma página, dois quando ela precisa de um navegador; os créditos nunca expiram e o robots.txt é respeitado. ## Quanto custa o WebReaderAPI? 10.000 páginas custam US$ 3,75 (US$ 0,38/1K páginas), 100.000 páginas custam US$ 21,75 e 1.000.000 de páginas custam US$ 74,25, em outubro de 2026. Uma página que precisa de um navegador usa dois créditos; uma página que falha ou que o robots.txt recusa não usa nenhum. Veja [todos os pacotes](https://webreaderapi.com/pt/pricing/) e a [comparação com datas](https://webreaderapi.com/pt/compare/web-reader-api-pricing/). | Plano | Quantidade | Preço | Preço por unidade | | --- | --- | --- | --- | | Testar | 10.000 páginas | US$ 3,75 | US$ 0,38/1K páginas | | Build | 100.000 páginas | US$ 21,75 | US$ 0,22/1K páginas | | Volume | 1.000.000 de páginas | US$ 74,25 | US$ 0,07/1K páginas | | Bulk | 5.000.000 de páginas | US$ 350 | US$ 0,07/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 Preços em USD, definidos em 2026-10-22. 1 crédito = 1 página lida sem navegador. **Antes de pagar** - Recarga mínima US$ 25. Recarregue uma vez com cripto e depois compre qualquer plano usando seu saldo. - Seu saldo não tem data de validade e pode comprar créditos de página a qualquer momento. Se um pacote custar menos que o valor mínimo de recarga, o valor que você adicionou apenas para atingir esse mínimo pode ser devolvido mediante solicitação em até 30 dias após o pagamento, em USDT ou USDC, desde que você não o tenha gasto. Qualquer outro saldo não é reembolsado, a menos que a lei determine o contrário. - Creditado assim que seu pagamento é verificado na blockchain. Tempo habitual de confirmação da rede: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min ## O que o WebReaderAPI consegue ler? Uma chave, um saldo de créditos, três endpoints: `/read` para uma página, `/batch` para até 100 URLs, `/crawl` para um site inteiro. - **[Artigos e documentação](https://webreaderapi.com/pt/url-to-markdown-api/)** — O conteúdo principal de uma página como Markdown, com título, autor, data, idioma e contagem de palavras. - **[Páginas com JavaScript](https://webreaderapi.com/pt/docs/read/)** — Um navegador headless renderiza a página quando o HTML bruto tem pouco texto (render=auto). - **[Arquivos PDF](https://webreaderapi.com/pt/pdf-to-markdown-api/)** — Relatórios, artigos e manuais de até 100 páginas, retornados como texto Markdown. - **[Sites inteiros](https://webreaderapi.com/pt/crawl-api/)** — Faça o crawl de um site de documentação ou de um blog, até 10.000 páginas por job, seguindo o sitemap. - **[Lotes de URLs](https://webreaderapi.com/pt/docs/crawl/)** — Envie até 100 URLs em um job e colete todas as páginas quando ele terminar. - **[Páginas por país](https://webreaderapi.com/pt/docs/read/)** — Leia uma página como ela é servida em um determinado país, por meio de uma conexão residencial lá. ## Como começo com a WebReaderAPI? Três passos; o mais lento é a confirmação na blockchain da sua recarga. 1. **Recarregar com cripto** — Envie pelo menos US$ 25 em USDT, USDC, BTC, ETH, SOL ou LTC. Sem ID, sem selfie, sem documentos, sem e-mail corporativo. 2. **Compre um pacote de créditos** — 10.000 páginas por US$ 3,75 ou 100.000 páginas por US$ 21,75, pagos com o seu saldo. Sua chave de API aparece no dashboard. 3. **Ler uma página** — GET https://webreaderapi.com/api/v1/read?url=… com a sua chave no header Authorization. O quick start tem código para Python, Node.js e curl. ## Como a WebReaderAPI trata os sites que lê? - **robots.txt respeitado** — Nosso crawler se identifica como WebReaderAPI e não lê nada que um site não permita. Veja nossa página do crawler. - **Sem contornos** — Se um site recusa nossa requisição, devolvemos a resposta dele: nunca resolvemos CAPTCHAs, nunca entramos em contas e nunca tentamos contornar um bloqueio ou um paywall. - **Preferências de IA respeitadas** — Se um site declara Content-Signal: ai-input=no no seu robots.txt, não lemos as páginas dele para você. - **Nenhuma cópia guardada** — Não guardamos nenhuma cópia das páginas que você lê; os logs contêm o nome do host, nunca a URL completa. Veja a política de privacidade. - **Reembolsos e saldo** — Em até 72 horas, um pack com menos de 20% usado volta para o seu saldo. Detalhes na página de reembolso. - **Suporte por e-mail** — O suporte por e-mail responde em até 12 horas, todos os dias da semana, incluindo ajuda com rastreamento (crawl) e integrações, em support@webreaderapi.com. ## Respostas rápidas antes de comprar ### O que é WebReaderAPI? O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. É operado pela SerpGoat LLC. Você compra créditos pré-pagos a partir de um saldo em cripto e depois envia uma URL para um endpoint HTTPS; a resposta é o conteúdo principal da página em Markdown, com os metadados. Veja a [página sobre](https://webreaderapi.com/pt/about/). ### Como as páginas são contadas? 1 crédito = 1 página lida sem navegador; 2 créditos quando a página precisa de um navegador para renderizar JavaScript. Uma requisição que falha, ou que o robots.txt de um site recusa, não é cobrada. Escolher o país de onde a página é lida adiciona 10 créditos, porque a página passa a ser lida por uma conexão residencial naquele país. Arquivos PDF de até 20 MB e 100 páginas são convertidos em Markdown, a 1 crédito por bloco iniciado de 10 páginas. Verificar seus créditos restantes com `GET https://webreaderapi.com/api/v1/credits` é grátis. ### O que acontece quando um site bloqueia robôs? Não lemos. Se o robots.txt desautoriza a página para a WebReaderAPI ou para todos os robôs, a API retorna `403 blocked_by_robots` e não usa crédito. Se o site recusa a requisição de outra forma, você recebe a resposta dele, também grátis. Nunca tentamos contornar um bloqueio. ### Preciso verificar minha identidade ou adicionar um cartão? Não. WebReaderAPI não pede ID, selfie, documentos da empresa nem cartão de crédito. Login pelo número da conta; e-mail é opcional. Você paga em BTC, USDT, USDC, ETH, SOL, LTC. A [Política de Uso Aceitável](https://webreaderapi.com/pt/acceptable-use/) se aplica a toda conta. ### Um agente de IA pode usar WebReaderAPI como ferramenta de fetch? Sim. A documentação inclui um [servidor MCP](https://webreaderapi.com/pt/docs/mcp/) pronto para Claude Desktop, Cursor e outros clientes MCP, um [loader para LangChain e LlamaIndex](https://webreaderapi.com/pt/docs/langchain/) e uma [ferramenta de function calling da OpenAI](https://webreaderapi.com/pt/docs/openai/). Use `max_chars` para manter cada página dentro do orçamento do modelo. ## WebReaderAPI em resumo | Atributo | Valor | | --- | --- | | O que é | Uma API de leitura de páginas web: envie uma URL e receba o conteúdo principal da página de volta em Markdown limpo | | KYC / verificação de identidade | Nenhum — sem documento, sem selfie, sem comprovantes, sem e-mail corporativo | | Preço | A partir de US$ 0,07/1K páginas (US$ 3,75 para 10.000 páginas, US$ 21,75 para 100.000 páginas, US$ 74,25 para 1.000.000 de páginas) | | Créditos | 1 crédito = 1 página lida sem navegador; 2 créditos quando a página precisa de um navegador para renderizar JavaScript. Uma requisição que falha, ou que o robots.txt de um site recusa, não é cobrada | | Validade dos créditos | Os créditos pré-pagos nunca expiram: as páginas não usadas ficam na sua conta até você usá-las | | Saída | Markdown limpo do conteúdo principal da página (ou texto simples, ou HTML limpo), com título, descrição, autor, data de publicação, idioma e contagem de palavras; links e imagens sob solicitação | | JavaScript | Renderização de JavaScript em um navegador headless quando a página precisa (render=auto), ou sempre, ou nunca | | PDF | Arquivos PDF de até 20 MB e 100 páginas são convertidos em Markdown, a 1 crédito por bloco iniciado de 10 páginas | | Rastreamento (crawl) e lote | Rastreie um site por job, até 10.000 páginas, seguindo o sitemap, o robots.txt e o Crawl-delay do site. Até 100 URLs por job em lote | | robots.txt | Respeitamos o robots.txt: nosso crawler se identifica como WebReaderAPI, segue as regras escritas para ele ou para todos os robôs e não lê uma página que o site proíbe. Páginas recusadas não são cobradas | | Escolhas dos donos dos sites | Se um site declara Content-Signal: ai-input=no no seu robots.txt, não lemos as páginas dele para você. Se um site recusa nossa requisição, devolvemos a resposta dele: nunca resolvemos CAPTCHAs, nunca entramos em contas e nunca tentamos contornar um bloqueio ou um paywall | | User-Agent | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` | | Endpoint | `GET https://webreaderapi.com/api/v1/read?url=…` | | Autenticação | Envie sua chave de API no header Authorization como Bearer token, ou no parâmetro de consulta api_key | | Exemplos de código | Python, Node.js e curl, além de definições de ferramentas para MCP, LangChain, LlamaIndex e OpenAI function calling | | Pagamento | Somente cripto: BTC, USDT, USDC, ETH, SOL, LTC (USDT em TRC-20 ou ERC-20, USDC em ERC-20) | | Modelo de pagamento | Recarregue a partir de US$ 25 e depois compre qualquer pacote de créditos com seu saldo. Seu saldo não tem data de validade e pode comprar créditos de página a qualquer momento. Se um pacote custar menos que o valor mínimo de recarga, o valor que você adicionou apenas para atingir esse mínimo pode ser devolvido mediante solicitação em até 30 dias após o pagamento, em USDT ou USDC, desde que você não o tenha gasto. Qualquer outro saldo não é reembolsado, a menos que a lei determine o contrário | | Conta | Login pelo número da conta; e-mail é opcional. Você entra com o número da sua conta, então guarde-o em um lugar seguro. Um e-mail opcional dá a você uma forma de recuperá-lo; sem e-mail cadastrado, um número perdido não pode ser restaurado | | Logs de requisições | Cada requisição deixa uma linha de log com a hora, a conta, o nome do host da página (nunca a URL completa nem o conteúdo), o status e os créditos usados; essas linhas são apagadas após 30 dias. As páginas que você lê não são armazenadas. Número da conta, pedidos, recargas e totais de créditos são mantidos enquanto a conta existir e, depois, apenas pelo tempo que a legislação contábil exigir. Registros só vão para as autoridades quando uma lei nos obriga | | Operadora | SerpGoat LLC | | Suporte | O suporte por e-mail responde em até 12 horas, todos os dias da semana, incluindo ajuda com rastreamento (crawl) e integrações | --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Sobre o WebReaderAPI > Sobre o WebReaderAPI: quem opera a API que converte páginas públicas em Markdown, o que ela se recusa a fazer e como falar com uma pessoa. Sem KYC, cripto. - URL: https://webreaderapi.com/pt/about/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Uma API pequena com uma única função: ler uma página web pública para o seu software e devolver o texto dela em um formato que um modelo de linguagem consiga usar. Esta página explica quem a opera, como funciona e onde estão os limites. **Resposta rápida — O que é o WebReaderAPI e quem o opera?** O WebReaderAPI é uma API de leitura de páginas web para agentes de IA que converte qualquer página web pública em Markdown limpo, paga com cripto e sem envio de documentos de identidade. O **WebReaderAPI** é operado pela SerpGoat LLC. Os créditos pré-pagos começam em US$ 3,75 por 10.000 páginas, em outubro de 2026, e nunca expiram. O rastreador (crawler) respeita o robots.txt e se identifica pelo nome. ## Qual problema o WebReaderAPI resolve? Modelos de linguagem leem texto, mas páginas web são em grande parte outra coisa: navegação, scripts, avisos de cookies, anúncios, widgets de posts relacionados e rodapés. Alimentar um modelo com HTML bruto desperdiça a janela de contexto e enterra os fatos. O WebReaderAPI busca a página, encontra o conteúdo principal e o devolve em Markdown, com títulos, listas, tabelas e links no lugar. Você também recebe o título, o autor, a data de publicação, o idioma e a contagem de palavras quando a página informa isso. Uma chamada substitui uma etapa de fetch, uma etapa de navegador e uma etapa de limpeza no seu código. ## Como funciona uma requisição, passo a passo? 1. Seu código envia uma URL para `https://webreaderapi.com/api/v1/read` com a sua chave de API. 2. Verificamos o robots.txt do site para o nosso token e para todos os robôs, e procuramos um sinal `ai-input=no`. 3. Se a página for permitida, nosso bot a busca com o user agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`. 4. Quando o HTML bruto tem texto de menos, um navegador headless renderiza a página primeiro (`render=auto`). 5. Extraímos o conteúdo principal, convertemos em Markdown e devolvemos com os metadados. 1 crédito = 1 página lida sem navegador; 2 créditos quando a página precisa de um navegador para renderizar JavaScript. Uma requisição que falha, ou que o robots.txt de um site recusa, não é cobrada. O [endpoint de leitura](https://webreaderapi.com/pt/docs/read/) documenta cada parâmetro. ## O que o WebReaderAPI nunca fará? Alguns limites fazem parte do produto, não são configurações: - **Nunca lê uma página que um site recusou.** Respeitamos o robots.txt: nosso crawler se identifica como WebReaderAPI, segue as regras escritas para ele ou para todos os robôs e não lê uma página que o site proíbe. Páginas recusadas não são cobradas. - **Nunca contorna uma recusa.** Se um site recusa nossa requisição, devolvemos a resposta dele: nunca resolvemos CAPTCHAs, nunca entramos em contas e nunca tentamos contornar um bloqueio ou um paywall. - **Nunca lê atrás de um login ou de um paywall**, mesmo com credenciais que você forneça. - **Nunca guarda suas páginas.** O texto volta para você, e nossos logs guardam apenas o nome do host. Essas regras custam algumas páginas que conseguiríamos buscar tecnicamente. Aceitamos essa troca, porque donos de sites, clientes e assistentes de IA precisam confiar na ferramenta. ## Quem são os clientes? Principalmente desenvolvedores que dão aos agentes de IA uma forma confiável de ler a web, e equipes que carregam documentação, centrais de ajuda ou blogs em sistemas de recuperação. Pesquisadores usam para coletar artigos públicos em formato limpo, e algumas ferramentas usam para montar visões de leitura ou resumos. A [Política de Uso Aceitável](https://webreaderapi.com/pt/acceptable-use/) lista o que não é permitido, como coletar dados pessoais de pessoas privadas. Uma pessoa analisa cada denúncia, e contas que quebram as regras são suspensas. ## Por que cripto e sem KYC? Porque muitos dos nossos clientes são desenvolvedores individuais, equipes pequenas e projetos autônomos que preferem não compartilhar documentos de identidade ou dados de cartão com cada API que testam. Login pelo número da conta; e-mail é opcional. Você recarrega a partir de US$ 25 em BTC, USDT, USDC, ETH, SOL, LTC e depois compra créditos com o seu saldo. Sem KYC não significa sem regras. A política de uso aceitável vale para toda conta, o robots.txt vale para toda requisição, e agimos sobre denúncias de abuso documentadas. ## O que não afirmamos? Não publicamos hoje números de tempo de resposta, uptime ou taxa de sucesso. O sucesso depende dos sites que você lê, e um número honesto exige uma amostra pública medida, com método e data. Quando tivermos uma, ela aparecerá na [página de status](https://webreaderapi.com/pt/status/). Também não afirmamos ler todas as páginas da web. Sites que recusam robôs, exigem login ou bloqueiam requisições automatizadas ficam fora de alcance por design. ## Como falo com uma pessoa? Escreva para support@webreaderapi.com para dúvidas sobre a API, cobrança ou sua conta; uma pessoa responde, todos os dias da semana. Donos de sites e qualquer pessoa que queira denunciar uso indevido podem escrever para abuse@webreaderapi.com; a [página do bot](https://webreaderapi.com/pt/bot/) explica como bloquear ou limitar a velocidade do nosso rastreador (crawler). Ninguém da nossa equipe jamais pedirá o número da sua conta ou uma chave de API. ## Sobre nós: perguntas frequentes ### Qual empresa opera o WebReaderAPI? SerpGoat LLC. O nome da empresa aparece nas faturas na área do cliente e nos [termos de serviço](https://webreaderapi.com/pt/terms/). ### O WebReaderAPI cria seu próprio índice de pesquisa? Não. Ele lê as páginas que os clientes enviam, uma URL, um lote ou um site por vez. Não faz rastreamento (crawl) da web por conta própria e não classifica páginas. ### O código que extrai o conteúdo principal é público? A API é um serviço hospedado e seu código interno não é publicado. O comportamento com o qual você pode contar está documentado na [referência do endpoint de leitura](https://webreaderapi.com/pt/docs/read/) e no [formato de resposta](https://webreaderapi.com/pt/docs/response/). ### Posso testar o WebReaderAPI de graça? Não, não há plano gratuito. O menor pacote, 10.000 páginas por US$ 3,75, dá a mesma API que o maior, pago a partir de uma recarga de US$ 25. --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Política de uso aceitável > Política de uso aceitável do WebReaderAPI: o que você pode ler com a API de leitura web, o que é proibido, como o robots.txt se aplica e como o abuso é tratado. - URL: https://webreaderapi.com/pt/acceptable-use/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Não haver verificação de identidade não significa não haver regras. Esta política diz para que a API pode ser usada, para que nunca pode ser usada e o que acontece quando alguém a viola. **Resposta rápida — Para que posso usar o WebReaderAPI?** Você pode usar o **WebReaderAPI** para ler páginas web públicas para agentes de IA, sistemas de recuperação, pesquisa, monitoramento de informações públicas e ferramentas de leitura. Você não pode usá-lo para Ler páginas para coletar dados pessoais de pessoas privadas, ler conteúdo atrás de um login ou de um paywall, material de abuso sexual infantil, spam, fraude e qualquer uso que viole a lei onde você ou nós atuamos. Toda solicitação respeita o robots.txt, e nunca ajudamos ninguém a contornar a recusa de um site. Uma pessoa analisa cada denúncia de abuso, e contas que fazem uso indevido do serviço são suspensas. ## Quais usos são bem-vindos? Estes usos correspondem ao que o serviço foi criado para fazer: - **Agentes de IA e assistentes** que leem uma página para responder à pergunta de um usuário. - **Recuperação e pesquisa sobre conteúdo público**, como documentação, centrais de ajuda, blogs e relatórios públicos. - **Pesquisa** sobre artigos, políticas, preços ou anúncios públicos. - **Monitoramento de páginas públicas** em busca de mudanças: termos de serviço, notas de versão, páginas de produtos, notícias. - **Ferramentas de acessibilidade e leitura** que apresentam uma página como texto limpo. - **Arquivamento e migração dos seus próprios sites** para outro formato. ## Quais usos são proibidos? Os seguintes usos não são permitidos em nenhuma conta, qualquer que seja o propósito declarado: - Ler páginas para coletar dados pessoais de pessoas privadas, ler conteúdo atrás de um login ou de um paywall, material de abuso sexual infantil, spam, fraude e qualquer uso que viole a lei onde você ou nós atuamos. - Criar perfis de pessoas físicas ou coletar dados de contato de qualquer site. - Usar a API, sua saída ou várias contas para contornar a recusa de um site, um rate limit, uma página de desafio ou uma regra de robots.txt. - Ler conteúdo que exige login, assinatura ou paywall, mesmo com credenciais que você possui. - Revender acesso bruto à API como se fosse seu próprio serviço de leitura sem nosso acordo por escrito. - Inserir a saída em spam, phishing, falsidade ideológica ou fraude. - Enviar solicitações destinadas a sobrecarregar ou prejudicar um site. ## Como o robots.txt e as escolhas dos donos de sites se aplicam a mim? Eles se aplicam a toda solicitação automaticamente, e você não pode desativá-los. Respeitamos o robots.txt: nosso crawler se identifica como WebReaderAPI, segue as regras escritas para ele ou para todos os robôs e não lê uma página que o site proíbe. Páginas recusadas não são cobradas. Se um site declara Content-Signal: ai-input=no no seu robots.txt, não lemos as páginas dele para você. Se um site recusa nossa requisição, devolvemos a resposta dele: nunca resolvemos CAPTCHAs, nunca entramos em contas e nunca tentamos contornar um bloqueio ou um paywall. Se um site de que você precisa estiver fora de alcance, peça acesso ao dono ou use um feed ou API oficial que o site ofereça. A [página do bot](https://webreaderapi.com/pt/bot/) mostra aos donos de sites como permitir ou recusar nosso crawler. ## Quem é responsável por como o conteúdo é usado? Você é. As páginas que você lê mantêm os direitos de seus donos: direitos autorais, direitos de banco de dados e qualquer licença que o site declare. O WebReaderAPI entrega o texto que você pediu; ele não lhe concede o direito de republicá-lo. Verifique os termos e a licença dos sites que você lê antes de armazenar, publicar ou treinar com o conteúdo deles. Esta política não é aconselhamento jurídico; para orientação, consulte um advogado onde você atua. ## O que acontece se alguém violar esta política? Primeiro analisamos os fatos: uma pessoa revisa cada relatório antes de qualquer ação. Dependendo da gravidade do caso, podemos advertir a conta, revogar suas chaves de API, suspendê-la ou encerrá-la. Os créditos de uma conta encerrada por violação são perdidos, conforme os [termos](https://webreaderapi.com/pt/terms/) estabelecem. Conteúdo envolvendo abuso sexual de crianças é reportado às autoridades competentes. ## Como denuncio uso indevido? Escreva para abuse@webreaderapi.com com a URL em questão, a data e a hora, e uma linha do log do seu servidor mostrando nosso user agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`. Um relatório curto e factual é mais fácil de verificar. Não revelamos ao denunciante qual cliente enviou a solicitação, mas agimos com base no que encontramos. --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Alternativa ao Firecrawl: créditos de Markdown por página, pago em cripto > Alternativa ao Firecrawl em 2026: páginas web para Markdown a partir do US$ 0,07/1K páginas, créditos que nunca expiram, robots.txt respeitado, sem KYC, cripto. - URL: https://webreaderapi.com/pt/alternatives/firecrawl/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) O Firecrawl é a API de leitura com que a maioria dos artigos de comparação começa. Esta página coloca seus planos públicos ao lado dos pacotes do WebReaderAPI, lista o que o Firecrawl faz que nós não fazemos e mapeia suas opções para os nossos endpoints em uma migração. **Resposta rápida — Qual é uma boa alternativa ao Firecrawl para a qual eu possa pagar em cripto?** O **WebReaderAPI** converte páginas web públicas, PDFs e sites inteiros em Markdown, vendidos como créditos pré-pagos que nunca expiram, pagos em cripto e sem KYC. Aos preços desta página, definidos em 2026-10-22, 100.000 páginas estáticas custam US$ 21,75; o plano Standard do Firecrawl custa $99 por mês para 100.000 créditos. O Firecrawl renderiza cada página por um crédito e adiciona extração em JSON, ações de navegador e um plano gratuito que não oferecemos. ## Firecrawl e WebReaderAPI em resumo | | WebReaderAPI (o nosso) | Firecrawl | | --- | --- | --- | | Cobrança | Pacotes pré-pagos; créditos nunca expiram | Planos mensais; créditos do plano são reiniciados todo mês; créditos comprados à parte ficam até o cancelamento | | Menor opção paga | 10.000 páginas por US$ 3,75 | Hobby: 5.000 créditos por $19 por mês | | Créditos por página | 1 para uma página estática, 2 quando um navegador headless é necessário | 1 por página, renderização incluída | | Plano gratuito | Nenhum | 1.000 créditos por mês, sem cartão; MCP sem chave dentro dos limites diários | | Extração de JSON estruturado | Não oferecido | Formato JSON com um schema, +4 créditos por página | | Ações de navegador e capturas de tela | Não oferecido | Até 50 ações por requisição; formato da captura de tela | | Endpoint de mapa do site | Não na versão 1 | Mapa: 1 crédito por chamada | | robots.txt | Sempre respeitado; sem possibilidade de ignorar | Respeitado por padrão; ignoreRobotsTxt é exclusivo do plano Enterprise | | Pagamento | BTC, USDT, USDC, ETH, SOL, LTC | Cartões, cartões de débito e PayPal via Stripe | | Verificações de identidade | Nenhuma: sem documento, sem selfie, sem envio de arquivos | Nenhuma declarada nos termos | | Auto-hospedagem | Não | Núcleo open source sob AGPL-3.0 | *Preços verificados em 22 de outubro de 2026.* Fatos sobre o Firecrawl de firecrawl.dev e docs.firecrawl.dev, lidos em 2026-10-22. ## Como os preços se comparam por 1.000 páginas? Depende se suas páginas precisam de um navegador. O Firecrawl cobra um crédito por página em todos os casos. WebReaderAPI cobra um crédito por uma página cujo HTML contém o texto e dois quando foi preciso executar um navegador; com `render=auto`, o navegador só inicia quando necessário. | Páginas por mês | Firecrawl (qualquer página) | WebReaderAPI, páginas estáticas | WebReaderAPI, páginas que precisam de navegador | |---|---|---|---| | 10.000 | $44 (Hobby $19 + 5.000 créditos extras a $5 por 1.000) | US$ 3,75 | 2 × US$ 3,75 | | 100.000 | $99 (Standard) | US$ 21,75 | 2 × US$ 21,75 | | 1.000.000 | $749 (Scale; $599 por mês no plano anual) | US$ 74,25 | 2 × US$ 74,25 | Nos preços desta página, definidos em 2026-10-22, nossas duas colunas custam menos que o preço mensal do Firecrawl nesses três volumes. Duas diferenças importam mais que os totais: os créditos dos planos do Firecrawl são renovados todo mês, enquanto nossos packs mantêm o valor, e a extração JSON do Firecrawl custa 5 créditos por página no total, um recurso que não vendemos. ## Quando o Firecrawl é a melhor escolha? Escolha o Firecrawl quando você precisar de mais do que Markdown limpo de páginas públicas: - **Extração estruturada.** O formato JSON dele retorna campos que seguem um schema que você envia, por 4 créditos extras por página. Nós retornamos apenas Markdown e metadados. - **Ações de navegador.** Clicar, esperar, rolar e digitar antes de ler, até 50 ações por requisição. Nós lemos as páginas conforme elas carregam. - **Capturas de tela, mapas do site e rastreamento de mudanças.** Tudo isso são formatos ou endpoints do lado do Firecrawl. - **Um começo gratuito.** 1.000 créditos por mês sem cartão, e acesso sem chave pelo servidor MCP dele, limitado por endereço IP a cada dia. - **Um ecossistema.** A página de integrações dele lista LangChain, LlamaIndex, CrewAI, n8n, Zapier e agentes de código; o OpenClaw inclui o Firecrawl como seu provedor web_fetch padrão. - **Auto-hospedagem.** O núcleo é open source sob AGPL-3.0. O Firecrawl também anunciou uma Série B de $75M em 22 de setembro de 2026, que financia um roadmap de produto acelerado. ## Quando o WebReaderAPI é a melhor escolha? Escolha WebReaderAPI se você quer um leitor simples com custos previsíveis e sem cartão ou verificações de identidade. - **Cripto, sem KYC.** Recarregue a partir de US$ 25 em BTC, USDT, USDC, ETH, SOL, LTC. Login pelo número da conta; e-mail é opcional. - **Créditos que não expiram.** Os créditos pré-pagos nunca expiram: as páginas não usadas ficam na sua conta até você usá-las. Um rastreamento que você roda duas vezes por ano não paga por onze meses parados. - **Erros não custam nada.** 1 crédito = 1 página lida sem navegador; 2 créditos quando a página precisa de um navegador para renderizar JavaScript. Uma requisição que falha, ou que o robots.txt de um site recusa, não é cobrada. O Firecrawl não cobra nada quando não retorna documento, mas uma página que responde 403 ou 404 ainda custa um crédito para ele. - **Uma regra para donos de sites.** Nosso rastreador verifica o robots.txt em toda leitura e respeita `Content-Signal: ai-input=no`, sem configuração para desativar isso. Seu User-Agent é publicado na [nossa página do rastreador](https://webreaderapi.com/pt/bot/). - **Preço por página** nos volumes acima, em 2026-10-22. ## Como as opções do Firecrawl correspondem aos endpoints do WebReaderAPI? Leituras de página única e rastreamentos (crawl) migram diretamente; extração, ações e mapas não têm equivalente. | Firecrawl | WebReaderAPI | Observação | |---|---|---| | Scrape de uma página | `GET` ou `POST /read` | Mesma ideia: uma URL entra, um documento sai | | `formats: ["markdown"]` (padrão) | `format=markdown` (padrão) | Apenas o conteúdo principal por padrão; `main_content=false` para a página completa | | `formats: ["html"]` | `format=html` | HTML limpo do conteúdo; sem HTML bruto na versão 1 | | `formats: ["links"]` | `include_links=true` | Links retornados como lista | | `formats: ["json"]` com um schema | — | Rode seu próprio modelo no nosso Markdown | | Ações, captura de tela | — | Não oferecido | | `timeout` em ms (padrão 60.000) | `timeout` em segundos (5 a 60, padrão 30) | | | Cache `maxAge` (padrão 2 dias) | — | Não guardamos cópia; cada leitura busca a página | | Crawl com `limit` e `maxDiscoveryDepth` | `POST /crawl` com `limit` (até 10.000) e `max_depth` | Resultados paginados com um cursor | | Map | — | Não na versão 1 | | `ignoreRobotsTxt` (Enterprise) | — | O robots.txt sempre é aplicado | *Python: a leitura que você antes enviava como scrape* ```python import os import requests resp = requests.get( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"url": "https://example.com/changelog", "format": "markdown", "include_links": "true"}, timeout=90, ) if resp.status_code == 403: print("refused by robots.txt or by the site:", resp.json()["error"]["code"]) else: resp.raise_for_status() page = resp.json() print(page["title"], "-", page["credits_used"], "credit(s)") print(len(page.get("links", [])), "links") print(page["markdown"][:400]) ``` ## Páginas que o Firecrawl conseguia ler também funcionarão aqui? A maioria das páginas públicas sim, com uma diferença de política. O modo aprimorado do Firecrawl repete uma requisição por meio do que ele chama de proxies aprimorados após uma resposta 401, 403 ou 429. WebReaderAPI não repete em torno de uma recusa: quando um site diz não, você recebe `502 target_refused` com o status do próprio site, e nenhum crédito é usado. Rode suas 50 URLs mais importantes pelos dois serviços por um dia antes de mover o tráfego de produção. Compare o Markdown, a flag `rendered` e os créditos usados; isso mostra tanto a qualidade quanto o preço real para suas páginas. ## Qual pack substitui meu plano do Firecrawl? Conte suas páginas por mês e quantas delas precisam de um navegador. Uma carga do tamanho do Standard, de 100.000 páginas, cabe em 100.000 páginas se as páginas forem estáticas, ou em dois desses packs se toda página precisar de um navegador. Os créditos nunca expiram. | Plano | Quantidade | Preço | Preço por unidade | | --- | --- | --- | --- | | Testar | 10.000 páginas | US$ 3,75 | US$ 0,38/1K páginas | | Build | 100.000 páginas | US$ 21,75 | US$ 0,22/1K páginas | | Volume | 1.000.000 de páginas | US$ 74,25 | US$ 0,07/1K páginas | | Bulk | 5.000.000 de páginas | US$ 350 | US$ 0,07/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 **Antes de pagar** - Recarga mínima US$ 25. Recarregue uma vez com cripto e depois compre qualquer plano usando seu saldo. - Seu saldo não tem data de validade e pode comprar créditos de página a qualquer momento. Se um pacote custar menos que o valor mínimo de recarga, o valor que você adicionou apenas para atingir esse mínimo pode ser devolvido mediante solicitação em até 30 dias após o pagamento, em USDT ou USDC, desde que você não o tenha gasto. Qualquer outro saldo não é reembolsado, a menos que a lei determine o contrário. - Creditado assim que seu pagamento é verificado na blockchain. Tempo habitual de confirmação da rede: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min ## Alternativa ao Firecrawl: perguntas frequentes ### Existe uma alternativa gratuita ao Firecrawl? O próprio Firecrawl tem um nível gratuito de 1.000 créditos por mês. Ferramentas open source como Crawl4AI, MarkItDown e Trafilatura são gratuitas para rodar nos seus próprios servidores; veja [Crawl4AI ou uma API hospedada](https://webreaderapi.com/pt/compare/crawl4ai-vs-api/). WebReaderAPI não tem nível gratuito: seu menor pack custa 10.000 páginas por US$ 3,75. ### Posso pagar o Firecrawl em cripto? A página de preços dele cita Stripe, com cartões, cartões de débito e PayPal, e nenhuma opção de cripto. WebReaderAPI aceita apenas BTC, USDT, USDC, ETH, SOL, LTC, sem KYC. ### O WebReaderAPI extrai JSON com um schema como o Firecrawl? Não. WebReaderAPI retorna Markdown, texto ou HTML limpo com metadados. Se você precisar de campos, passe nosso Markdown para o modelo da sua escolha com seu schema; o formato JSON do Firecrawl faz isso por 4 créditos extras por página. ### Os créditos do Firecrawl expiram? De acordo com a documentação de cobrança do Firecrawl, os créditos do plano são renovados todo mês e não acumulam por padrão; os créditos comprados à parte ficam até serem usados, mas expiram se você cancelar. Os créditos WebReaderAPI nunca expiram. ### Posso hospedar o Firecrawl por conta própria? Sim. O núcleo é open source sob a licença AGPL-3.0, e o README diz que ele respeita o robots.txt por padrão. O serviço hospedado acrescenta recursos que a versão open source não inclui. ## Fontes 1. [Preços do Firecrawl](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 2. [Cobrança](https://docs.firecrawl.dev/billing.md) — Firecrawl docs (read 2026-10-22) 3. [Guia avançado de web scraping](https://docs.firecrawl.dev/advanced-scraping-guide.md) — Firecrawl docs (read 2026-10-22) 4. [Rastreamento (crawl)](https://docs.firecrawl.dev/features/crawl.md) — Firecrawl docs (read 2026-10-22) 5. [Modo avançado](https://docs.firecrawl.dev/features/enhanced-mode.md) — Firecrawl docs (read 2026-10-22) 6. [Integrações](https://docs.firecrawl.dev/integrations.md) — Firecrawl docs (read 2026-10-22) 7. [Lançamento do Firecrawl sem chave](https://www.firecrawl.dev/blog/firecrawl-keyless-launch) — Firecrawl (read 2026-10-22) 8. [Apresentando Alexandria e nossa Série B](https://www.firecrawl.dev/blog/introducing-alexandria-series-b) — Firecrawl (read 2026-10-22) 9. [repositório firecrawl/firecrawl](https://github.com/firecrawl/firecrawl) — GitHub (read 2026-10-22) 10. [Ferramentas web](https://docs.openclaw.ai/tools/web) — OpenClaw docs (read 2026-10-22) --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Alternativa ao Jina Reader: créditos por página em vez de tokens > Alternativa ao Jina Reader: créditos por página em vez de tokens, a partir de US$ 0,07/1K páginas, robots.txt verificado, sem KYC. Preços de 22/10/2026. - URL: https://webreaderapi.com/pt/alternatives/jina-reader/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) O Jina Reader ficou famoso pelo truque do prefixo de URL: coloque r.jina.ai/ na frente de um link e receba Markdown de volta. Esta página explica como o Jina cobra, quando ele é a ferramenta certa e quando um preço por página facilita o planejamento. **Resposta rápida — Qual é uma boa alternativa ao Jina Reader?** O Jina Reader cobra por tokens de saída: $50 por 1 bilhão, $500 por 11 bilhões, com 10 milhões de tokens grátis por nova chave para uso não comercial (lido em 22 de outubro de 2026). O **WebReaderAPI** cobra por página, a partir de US$ 0,07/1K páginas, então uma página longa custa o mesmo que uma curta. Ele verifica o robots.txt em cada leitura, vende créditos que nunca expiram e aceita cripto sem KYC. ## Jina Reader e WebReaderAPI em resumo | | WebReaderAPI (o nosso) | Jina Reader | | --- | --- | --- | | Como você chama | `GET https://webreaderapi.com/api/v1/read?url=…` com uma chave de API | Prefixe o link: `https://r.jina.ai/` + URL; chave opcional | | Unidade de cobrança | Páginas: 1 crédito, 2 com navegador headless | Tokens de saída | | Preço | US$ 3,75 por 10.000 páginas; a partir de US$ 0,07/1K páginas | $50 por 1B de tokens; $500 por 11B de tokens | | Uso gratuito | Nenhum | Sem chave, a 20 requisições por minuto; 10M de tokens por nova chave, somente uso não comercial | | Rate limits | Limite de concorrência exibido no dashboard | 500 requisições por minuto com chave; 5.000 no premium | | robots.txt | Verificado em cada leitura | Header `X-Robots-Txt` opcional; comportamento padrão não informado | | Rastreamento (crawl) de um site inteiro | `POST /crawl`, até 10.000 páginas | Nenhum endpoint de rastreamento (crawl) informado | | PDF | Sim, até 100 páginas | Sim | | Pagamento | BTC, USDT, USDC, ETH, SOL, LTC | Cartões, Google Pay e PayPal através da Stripe | | Proprietário | SerpGoat LLC | Jina AI, parte da Elastic desde outubro de 2025 | *Preços verificados em 22 de outubro de 2026.* Fatos sobre a Jina a partir de jina.ai/reader e do painel de preços dela, lidos em 2026-10-22. ## Como o Jina Reader cobra, e quanto custa uma página? A Jina conta os tokens na resposta. Os pacotes dela são $50 por 1 bilhão de tokens, cerca de $0,05 por milhão, e $500 por 11 bilhões, cerca de $0,045 por milhão. Requisições com falha não são descontadas, e uma página solicitada duas vezes em até 5 minutos vem do cache. O custo de uma página depende, portanto, do tamanho dela, e a Jina não publica média. Como **estimativa, supondo 5.000 tokens por página**, 1.000 páginas custam cerca de $0,25 no primeiro pacote e $0,225 no segundo. Um resumo de notícias de 2.000 tokens custa menos que isso; uma página de documentação de 20.000 tokens custa quatro vezes mais. O OCR via jina-ocr-v1 custa 40 vezes mais tokens. ## Quando os créditos por página são mais fáceis de planejar? Quando você sabe quantas páginas vai ler, mas não o tamanho delas. Um rastreamento (crawl) de um site de documentação, uma lista de páginas de concorrentes para acompanhar ou um agente que lê cinco links por tarefa têm todos uma contagem de páginas, não de tokens. Com WebReaderAPI, 100.000 páginas custam US$ 21,75, qualquer que seja o tamanho de cada página, em 22 de outubro de 2026. Páginas que precisam de navegador usam dois créditos, e o campo `rendered` indica quando isso aconteceu. Use `max_chars` para limitar o tamanho do que volta; ele protege a janela de contexto do seu modelo, mas não muda o preço. ## Quando o Jina Reader é a melhor escolha? Escolha o Jina Reader quando o tempo de configuração importa mais que tudo, ou quando suas páginas são curtas: - **Sem configuração.** Um prefixo de URL funciona sem chave a 20 requisições por minuto, o que basta para testes e scripts pequenos. - **Páginas curtas.** Com cobrança por token, uma página curta custa menos que um preço por página; na estimativa de 5.000 tokens acima, a Jina custa menos por página que o nosso pacote de 10.000 páginas. - **Controle fino por headers.** `X-Target-Selector`, `X-Remove-Selector`, `X-Token-Budget`, `X-Engine` e outros moldam cada leitura. - **Modelos e pesquisa.** A saída do ReaderLM-v2 e a pesquisa `s.jina.ai` vêm da mesma conta. - **Um servidor MCP oficial** cuja ferramenta `read_url` lê até cinco URLs por chamada. - **Código aberto.** O branch Reader no GitHub é Apache-2.0, sem a camada de armazenamento hospedada. A Jina AI agora faz parte da Elastic, que concluiu a aquisição em 9 de outubro de 2025. ## Como os headers do Jina Reader se mapeiam para os parâmetros do WebReaderAPI? A maioria das leituras migra trocando a URL e adicionando uma chave. | Jina Reader | WebReaderAPI | Observação | |---|---|---| | `https://r.jina.ai/https://example.com` | `GET https://webreaderapi.com/api/v1/read?url=https://example.com` | Chave no header `Authorization` | | Saída Markdown padrão | `format=markdown` (padrão) | Conteúdo principal por padrão | | `X-Engine: direct` | `render=false` | Leitura por HTTP simples | | Navegador headless padrão | `render=auto` ou `render=true` | 2 créditos quando o navegador roda | | `X-Token-Budget` | `max_chars` | Caracteres, não tokens | | `X-Target-Selector`, `X-Remove-Selector` | — | Detecção de conteúdo principal no lugar | | `X-Proxy` (país) | `country` | +10 créditos, conexão residencial | | `X-No-Cache` | — | Não mantemos cache | | `X-Robots-Txt` (opt-in) | — | O robots.txt é sempre verificado | | Substituição de `X-User-Agent` | — | Nosso User-Agent é fixo e publicado | *Python: do prefixo r.jina.ai ao endpoint de leitura* ```python import os import requests # Before: requests.get("https://r.jina.ai/" + url) url = "https://example.com/guide/install" resp = requests.get( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"url": url, "render": "auto", "max_chars": 30000}, timeout=90, ) resp.raise_for_status() page = resp.json() print(page["word_count"], "words, rendered:", page["rendered"], "credits:", page["credits_used"]) print(page["markdown"][:400]) ``` ## O que muda para os sites que você lê? Com a Jina, o robots.txt só é verificado quando você envia o header `X-Robots-Txt`, e você pode substituir o User-Agent do navegador; as páginas dela não informam o padrão para nenhum dos dois. Com WebReaderAPI, ambos são fixos: toda leitura verifica o robots.txt para `WebReaderAPI` e para todos os robôs, e toda requisição carrega `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`. Isso significa que algumas páginas que a Jina consegue ler serão recusadas aqui, sem custo para você. Em troca, os donos dos sites podem ver quem lê suas páginas e bloquear ou permitir a gente em uma linha, como explica a nossa [página do crawler](https://webreaderapi.com/pt/bot/)]. ## Quanto custa o WebReaderAPI em vez de tokens? Um preço fixo por página: 10.000 páginas por US$ 3,75 até 5.000.000 de páginas por US$ 350, em 22 de outubro de 2026. Os créditos nunca expiram. | Plano | Quantidade | Preço | Preço por unidade | | --- | --- | --- | --- | | Testar | 10.000 páginas | US$ 3,75 | US$ 0,38/1K páginas | | Build | 100.000 páginas | US$ 21,75 | US$ 0,22/1K páginas | | Volume | 1.000.000 de páginas | US$ 74,25 | US$ 0,07/1K páginas | | Bulk | 5.000.000 de páginas | US$ 350 | US$ 0,07/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 **Antes de pagar** - Recarga mínima US$ 25. Recarregue uma vez com cripto e depois compre qualquer plano usando seu saldo. - Seu saldo não tem data de validade e pode comprar créditos de página a qualquer momento. Se um pacote custar menos que o valor mínimo de recarga, o valor que você adicionou apenas para atingir esse mínimo pode ser devolvido mediante solicitação em até 30 dias após o pagamento, em USDT ou USDC, desde que você não o tenha gasto. Qualquer outro saldo não é reembolsado, a menos que a lei determine o contrário. - Creditado assim que seu pagamento é verificado na blockchain. Tempo habitual de confirmação da rede: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min ## Alternativa ao Jina Reader: perguntas comuns ### O Jina Reader é gratuito? Em parte. Sem chave, o r.jina.ai é gratuito para uso básico a 20 requisições por minuto. Cada nova chave também ganha 10 milhões de tokens grátis, que a página de preços da Jina limita a uso não comercial. Os pacotes pagos começam em $50 por 1 bilhão de tokens. ### Por que uma página do Jina Reader custa mais quando a página é longa? Porque a Jina cobra os tokens na resposta dela. Um artigo longo retorna mais tokens que um curto. O WebReaderAPI cobra um crédito por página, dois com navegador, qualquer que seja o tamanho. ### Posso pagar o Jina Reader com cripto? As páginas da Jina citam Stripe com cartões, Google Pay e PayPal, e nenhuma opção de cripto. O WebReaderAPI aceita BTC, USDT, USDC, ETH, SOL, LTC, sem KYC. ### O WebReaderAPI tem um modo gratuito sem chave como o r.jina.ai? Não. Toda leitura precisa de uma chave, e as chaves vêm com um pacote pago. O menor pacote é 10.000 páginas por US$ 3,75. ### Quem é dono do Jina Reader agora? A Elastic. Ela concluiu a aquisição da Jina AI em 9 de outubro de 2025, e a página legal da Jina diz que os termos de processamento de dados da Elastic agora se aplicam. ## Fontes 1. [Reader](https://jina.ai/reader/) — Jina AI (read 2026-10-22) 2. [Painel da API: preços](https://jina.ai/api-dashboard/pricing/) — Jina AI (read 2026-10-22) 3. [Legal](https://jina.ai/legal/) — Jina AI (read 2026-10-22) 4. [repositório jina-ai/reader](https://github.com/jina-ai/reader) — GitHub (read 2026-10-22) 5. [repositório jina-ai/MCP](https://github.com/jina-ai/MCP) — GitHub (read 2026-10-22) 6. [Elastic conclui aquisição da Jina AI](https://ir.elastic.co/News--Events/news/news-details/2025/Elastic-Completes-Acquisition-of-Jina-AI-a-Leader-in-Frontier-Models-for-Multimodal-and-Multilingual-Search/default.aspx) — Elastic (2025-10-09, read 2026-10-22) --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Melhores APIs de web reader em 2026: 10 formas de converter URLs em Markdown > Melhores APIs de web reader e URL para Markdown em 2026: 10 opções comparadas por preço por 1.000 páginas nas buscas. - URL: https://webreaderapi.com/pt/best/web-reader-apis/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Dez APIs hospedadas e ferramentas de código aberto que convertem páginas web em Markdown para modelos, comparadas pelos mesmos critérios a partir das próprias páginas delas. Publicamos o WebReaderAPI, que é o primeiro desta lista; cada entrada diz o que aquela opção faz melhor. **Resposta rápida — Qual é a melhor API de web reader ou de URL para Markdown em 2026?** Depende da tarefa. Em 22 de outubro de 2026: **WebReaderAPI** para pagamento com cripto, sem KYC, robots.txt respeitado e créditos que nunca expiram, a partir de US$ 0,07/1K páginas; Firecrawl pelo conjunto de recursos mais completo a $0.99 por 1.000 páginas no plano de $99; Jina Reader para leituras sem configuração cobradas por tokens; Crawl4AI se você preferir hospedar por conta própria sob a licença Apache-2.0. ## As 10 melhores APIs de leitor web em 2026 **Metodologia.** Publicado por WebReaderAPI (SerpGoat LLC). Todos os provedores são comparados pelos mesmos critérios, tirados do próprio site público de cada um: preço de tabela por 1.000 páginas para páginas simples e renderizadas por navegador, plano gratuito e validade dos créditos, recursos de qualidade do Markdown (conteúdo principal, PDFs, rastreamento (crawl)), política de robots.txt, formas de pagamento aceitas, incluindo cripto, exigências de identidade ou cartão, a data em que os preços foram verificados. *Preços verificados em 22 de outubro de 2026.* ### 1. WebReaderAPI — Nosso produto Uma API de leitor web para agentes de IA com créditos pré-pagos que nunca expiram, pagos com cripto sem KYC; seu rastreador (crawler) respeita robots.txt e nunca tenta contornar uma recusa. - Ideal para: Pagar com cripto sem documentos; agentes e pipelines RAG que querem rastreamento (crawl) educado - Preço: US$ 0,38/1K páginas em 10.000 páginas, US$ 0,07/1K páginas em 1.000.000 de páginas; páginas de navegador usam 2 créditos - KYC: Nenhum - Pagamento com cripto: BTC, USDT, USDC, ETH, SOL, LTC - Prós: Os créditos nunca expiram - Prós: Páginas com falha e recusadas pelo robots.txt são gratuitas - Prós: Código de ferramenta para MCP, LangChain, LlamaIndex, OpenAI, n8n, OpenClaw - Contras: Sem plano gratuito - Contras: Sem extração de JSON estruturado nem ações de página - Contras: Páginas que um site recusa continuam recusadas ### 2. Firecrawl A API mais conhecida para transformar sites em dados prontos para LLM: web scraping, rastreamento (crawl), mapeamento e extração, com um grande ecossistema open-source e MCP. - Ideal para: Equipes que precisam de extração estruturada, ações de página e um ecossistema maduro - Preço: $3.80 por 1.000 no Hobby ($19 por 5.000); $0.99 no Standard ($99 por 100.000); $0.749 no Scale ($749 por 1 milhão); JavaScript incluído - KYC: Nada informado - Pagamento com cripto: Não (cartões, PayPal) - Prós: 1.000 créditos gratuitos por mês, sem cartão - Prós: Respeita robots.txt por padrão - Prós: Núcleo auto-hospedável (AGPL-3.0) - Contras: Os créditos do plano são renovados mensalmente - Contras: A extração de JSON adiciona 4 créditos por página ### 3. Jina Reader Adicione o prefixo r.jina.ai a uma URL e receba Markdown de volta; cobrado por tokens de saída e agora parte da Elastic. - Ideal para: Leituras rápidas sem configuração; páginas curtas - Preço: $50 por 1 bilhão de tokens de saída; $500 por 11 bilhões (o custo por página depende do tamanho da página) - KYC: Nada informado - Pagamento com cripto: Não informado - Prós: Uso sem chave a 20 solicitações por minuto - Prós: 10 milhões de tokens gratuitos por nova chave (não comercial) - Contras: A cobrança por token torna o custo de páginas longas difícil de prever - Contras: robots.txt apenas por meio de um header opt-in ### 4. Crawl4AI O rastreador (crawler) open-source mais popular para LLMs, com uma nuvem hospedada em lançamento gradual. - Ideal para: Equipes que querem auto-hospedar e controlar tudo - Preço: Grátis para auto-hospedar; Cloud a partir de $10 (Starter), página simples 0,5 crédito, página com navegador 1 crédito - KYC: Sem cartão (Cloud) - Pagamento com cripto: Não informado - Prós: Licença Apache-2.0 - Prós: Servidor MCP auto-hospedado - Contras: Auto-hospedar significa servidores e manutenção - Contras: check_robots_txt fica desativado por padrão ### 5. Olostep Uma API que renderiza cada página em um navegador, com lotes, rastreamentos (crawls) e mapas, e pagamento em cripto por requisição para agentes. - Ideal para: Sites com muito JavaScript em volume - Preço: $1,80 por 1.000 no Starter ($9 por 5.000); $0,399 no Scale ($399 por 1 milhão), cada página renderizada - KYC: Cartão para recargas - Pagamento com cripto: Por requisição, USDC (x402) - Prós: Preço verificado mais baixo para página com navegador em 1 milhão por mês - Prós: Lotes, rastreamentos (crawls) e mapas - Contras: Os créditos do plano são renovados mensalmente ### 6. Exa contents Conteúdo de páginas do índice de pesquisa do Exa a um preço fixo, com pagamento em cripto por requisição para agentes. - Ideal para: Agentes que já usam a pesquisa do Exa - Preço: $1,00 por 1.000 páginas, preço fixo - KYC: Cartão para pagamento conforme o uso - Pagamento com cripto: Por requisição, USDC (x402) - Prós: $10 de crédito grátis por mês - Prós: x402 a $0,001 por página - Contras: Prioriza cache; nenhuma opção de navegador documentada ### 7. Tavily Extract Extração da stack de pesquisa do Tavily, com preço por lote de URLs, e um modo avançado. - Ideal para: Agentes construídos em torno da pesquisa do Tavily - Preço: $1,50 por 1.000 URLs básicas no Project ($30); $1,00 no Growth ($500); o modo avançado dobra o valor - KYC: Nada informado - Pagamento com cripto: Somente a seu critério (termos) - Prós: 1.000 créditos por mês grátis (5.000 URLs básicas) - Contras: Créditos renovados todo mês - Contras: Política de robots.txt não informada ### 8. ScrapingBee Uma API de web scraping geral com opção de saída em Markdown e preços baixos para páginas simples em volume. - Ideal para: Grandes volumes de páginas simples - Preço: $0,099 por 1.000 páginas simples em 1 milhão por mês ($99 Startup); páginas com navegador custam 5 créditos - KYC: Cartão para planos pagos - Pagamento com cripto: Não - Prós: Preço baixo para página simples em volume - Prós: Saída em Markdown e texto - Contras: Sem acúmulo de créditos - Contras: Política de robots.txt não informada ### 9. ZenRows Uma API de web scraping com saída em Markdown incluída e uma loja para agentes que aceita USDC. - Ideal para: Pequenas cargas de trabalho de agentes pagas por uso - Preço: $0,50 por 1.000 páginas simples por meio da loja de agentes; $0,199 em 1 milhão nos planos; páginas de navegador custam 5 créditos - KYC: Validação de e-mail - Pagamento com cripto: Apenas agentes, USDC (x402) - Prós: Markdown sem custo extra - Prós: 5.000 créditos grátis por mês - Contras: Contas não podem pagar com cripto - Contras: Os créditos do plano expiram na renovação ### 10. Cloudflare Browser Run O serviço de navegador da Cloudflare com endpoints /markdown e /crawl, cobrado por tempo de navegador. - Ideal para: Equipes que já usam Cloudflare Workers - Preço: $0,09 por hora de navegador após 10 horas incluídas, mínimo mensal de $5 - KYC: Conta Cloudflare - Pagamento com cripto: USDC via Stripe para o faturamento da Cloudflare (uma página de faturamento omite isso) - Prós: /crawl respects robots.txt and always identifies itself as a bot - Prós: Pague pelo tempo de navegador, não por página - Contras: O custo por página depende de quanto tempo cada página leva *Divulgação: esta página é publicada pela WebReaderAPI. Os detalhes dos concorrentes vêm dos sites públicos deles na data mostrada acima e podem ter mudado desde então.* ## Como escolho uma API de leitor web? Comece pelas suas páginas, depois pelo seu volume. 1. **Suas páginas precisam de um navegador?** Notícias, blogs e documentação geralmente não precisam; web apps e algumas lojas precisam. APIs de web scraping baseadas em créditos cobram de 5 a 10 vezes mais por páginas de navegador, enquanto Firecrawl e Olostep cobram o mesmo por toda página. 2. **Quantas páginas por mês, e com que regularidade?** Planos mensais com grandes franquias servem para volume constante; créditos pré-pagos que não expiram servem para agentes e rastreamentos pontuais. 3. **Você precisa de extração além de Markdown?** JSON estruturado, ações de página e capturas de tela são onde Firecrawl e as grandes APIs de scraping se destacam. 4. **Como você quer tratar os donos dos sites?** Firecrawl, o /crawl da Cloudflare e WebReaderAPI respeitam o robots.txt por padrão; várias APIs deixam isso por sua conta ou não informam. 5. **Como você vai pagar?** A maioria aceita apenas cartão. Scrape.do, Decodo e Scrapeless declaram cripto em contas; Exa, Olostep e outras aceitam USDC por requisição; WebReaderAPI aceita BTC, USDT, USDC, ETH, SOL, LTC sem KYC. ## Devo hospedar por conta própria em vez de pagar por uma API? A auto-hospedagem é gratuita em termos de licença e cara em tempo. Crawl4AI (Apache-2.0), Microsoft MarkItDown (MIT), Trafilatura (Apache-2.0) e Mozilla Readability (Apache-2.0) cobrem a conversão; você ainda precisa rodar os servidores, os navegadores headless, as novas tentativas e o tratamento de robots.txt. O núcleo do Firecrawl também pode ser auto-hospedado sob a licença AGPL-3.0. Para alguns milhares de páginas por mês, uma API hospedada geralmente custa menos que o tempo gasto mantendo um rastreador. Nossa [página Crawl4AI ou API hospedada](https://webreaderapi.com/pt/compare/crawl4ai-vs-api/) apresenta essa troca. ## Quanto custa o WebReaderAPI? Créditos pré-pagos, um por página simples e dois por página de navegador; os créditos nunca expiram. Preços definidos em 22 de outubro de 2026. | Plano | Quantidade | Preço | Preço por unidade | | --- | --- | --- | --- | | Testar | 10.000 páginas | US$ 3,75 | US$ 0,38/1K páginas | | Build | 100.000 páginas | US$ 21,75 | US$ 0,22/1K páginas | | Volume | 1.000.000 de páginas | US$ 74,25 | US$ 0,07/1K páginas | | Bulk | 5.000.000 de páginas | US$ 350 | US$ 0,07/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 **Antes de pagar** - Recarga mínima US$ 25. Recarregue uma vez com cripto e depois compre qualquer plano usando seu saldo. - Seu saldo não tem data de validade e pode comprar créditos de página a qualquer momento. Se um pacote custar menos que o valor mínimo de recarga, o valor que você adicionou apenas para atingir esse mínimo pode ser devolvido mediante solicitação em até 30 dias após o pagamento, em USDT ou USDC, desde que você não o tenha gasto. Qualquer outro saldo não é reembolsado, a menos que a lei determine o contrário. - Creditado assim que seu pagamento é verificado na blockchain. Tempo habitual de confirmação da rede: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min ## Melhor API de leitor web: perguntas comuns ### Qual é melhor, Firecrawl ou Jina Reader? Firecrawl é indicado para equipes que precisam de rastreamento (crawl), extração estruturada e preço previsível por página; Jina Reader é indicado para leituras rápidas sem configuração, cobradas por tokens. Nossa [página Firecrawl vs Jina Reader](https://webreaderapi.com/pt/compare/firecrawl-vs-jina-reader/) compara os dois item por item. ### Qual API de leitor web respeita o robots.txt? Firecrawl o respeita por padrão, com substituição apenas no Enterprise; o /crawl da Cloudflare o respeita sem opt-out documentado; WebReaderAPI o respeita em toda requisição. Jina o torna um header opt-in, e muitas APIs de scraping não declaram uma política. ### Existe uma API gratuita de URL para Markdown? Várias têm franquias gratuitas: Firecrawl 1.000 créditos por mês, Tavily 1.000 créditos por mês, Exa $10 por mês, ZenRows 5.000 créditos por mês e Jina 10 milhões de tokens para uso não comercial. WebReaderAPI não tem nível gratuito. ### Este ranking é independente? Não. Ele é publicado pela WebReaderAPI, que está em primeiro lugar. Cada opção é descrita a partir de suas próprias páginas públicas, lidas em 22 de outubro de 2026, segundo os mesmos critérios, e cada entrada lista o que ela faz melhor. ## Fontes 1. [Preços do Firecrawl](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 2. [Preços da API do Jina](https://jina.ai/api-dashboard/pricing/) — Jina AI (read 2026-10-22) 3. [Crawl4AI](https://crawl4ai.com/) — Crawl4AI (read 2026-10-22) 4. [Repositório do Crawl4AI](https://github.com/unclecode/crawl4ai) — GitHub (read 2026-10-22) 5. [Preços do Olostep](https://www.olostep.com/pricing) — Olostep (read 2026-10-22) 6. [Preços do Exa](https://exa.ai/pricing) — Exa (read 2026-10-22) 7. [Créditos da API do Tavily](https://docs.tavily.com/documentation/api-credits) — Tavily (read 2026-10-22) 8. [Preços do ScrapingBee](https://www.scrapingbee.com/pricing/) — ScrapingBee (read 2026-10-22) 9. [Preços do ZenRows](https://docs.zenrows.com/first-steps/pricing.md) — ZenRows (read 2026-10-22) 10. [Preços do Browser Run](https://developers.cloudflare.com/browser-run/pricing/) — Cloudflare (read 2026-10-22) --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Bot do WebReaderAPI: user agent, robots.txt e como bloqueá-lo > O bot do WebReaderAPI: user agent, token no robots.txt, como bloqueá-lo ou desacelerá-lo e o que ele nunca faz. Para donos de sites e ferramentas de IA. - URL: https://webreaderapi.com/pt/bot/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Se você viu nosso nome nos logs do seu servidor, esta página explica quem somos, por que buscamos sua página e como nos dizer para não fazer isso. Cada regra aqui é um compromisso em torno do qual o serviço foi construído. **Resposta rápida — O que é o bot do WebReaderAPI e como faço para bloqueá-lo?** O bot **WebReaderAPI** busca páginas públicas quando um dos nossos clientes pede à API para lê-las. Ele envia o user agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` e obedece às regras do robots.txt escritas para o token `WebReaderAPI` ou para todos os robôs. Para bloqueá-lo em todo o site, adicione `User-agent: WebReaderAPI` seguido de `Disallow: /` ao seu robots.txt. ## O bot em resumo | Atributo | Valor | | --- | --- | | Cabeçalho User-Agent | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` | | Token no robots.txt | `WebReaderAPI` | | robots.txt | Respeitamos o robots.txt: nosso crawler se identifica como WebReaderAPI, segue as regras escritas para ele ou para todos os robôs e não lê uma página que o site proíbe. Páginas recusadas não são cobradas | | Sinais de preferência de IA | Se um site declara Content-Signal: ai-input=no no seu robots.txt, não lemos as páginas dele para você | | Quando um site diz não | Se um site recusa nossa requisição, devolvemos a resposta dele: nunca resolvemos CAPTCHAs, nunca entramos em contas e nunca tentamos contornar um bloqueio ou um paywall | | Cópias das suas páginas | Nenhuma é mantida depois que a resposta é enviada ao cliente | | Trabalhos de rastreamento (crawl) | Rastreie um site por job, até 10.000 páginas, seguindo o sitemap, o robots.txt e o Crawl-delay do site | | Contato | abuse@webreaderapi.com | ## Por que o WebReaderAPI buscou minha página? Porque um cliente da API pediu. O WebReaderAPI não constrói seu próprio índice da web e não navega por iniciativa própria. Cada busca pertence a um de três tipos de requisição: - **Uma leitura única:** um aplicativo ou um agente de IA enviou sua URL ao `/read`, geralmente porque uma pessoa fez uma pergunta que sua página responde. - **Um trabalho em lote:** um cliente enviou uma lista de até 100 URLs, e a sua estava nela. - **Um trabalho de rastreamento (crawl):** um cliente nos pediu para ler um site inteiro, começando por um endereço e permanecendo naquele domínio. Os rastreamentos seguem seu sitemap e seu robots.txt. O cliente recebe o texto principal da página em Markdown. Não mantemos nenhuma cópia dele depois disso. ## Como faço para bloquear o bot em todo o meu site? Adicione um grupo para o nosso token ao seu arquivo robots.txt. O bot lê o `/robots.txt` antes de buscar uma página e o mantém em cache por no máximo 24 horas, então uma alteração passa a valer dentro de um dia, no máximo. *robots.txt: recusar todas as páginas ao WebReaderAPI* ```text User-agent: WebReaderAPI Disallow: / ``` ## Posso bloquear apenas parte do meu site ou desacelerar o bot? Sim. Liste as pastas que você quer manter fora em `Disallow` e defina um `Crawl-delay` em segundos para trabalhos de rastreamento (crawl). Regras escritas para todos os robôs (`User-agent: *`) também se aplicam a nós quando você não tem um grupo para o nosso token. Quando você tem um, esse grupo prevalece, como descreve a RFC 9309. *robots.txt: manter duas pastas fora e espaçar as requisições de rastreamento* ```text User-agent: WebReaderAPI Disallow: /account/ Disallow: /drafts/ Crawl-delay: 5 ``` ## O bot respeita os sinais de preferência de IA? Sim, os que o site declara no robots.txt. Se o seu arquivo declara `Content-Signal: ai-input=no`, tratamos isso como uma recusa ao uso das suas páginas como entrada para respostas de IA, e não as lemos para nossos clientes. A API então retorna o erro `blocked_by_site_policy` ao cliente, que não é cobrado. *robots.txt: permitir buscadores, recusar entrada de IA* ```text User-agent: * Content-Signal: search=yes, ai-input=no Allow: / ``` ## O que o bot faz quando meu site o recusa? Ele para e reporta sua resposta. Um status 403 ou 429, uma página de desafio, um formulário de login ou um paywall encerram a requisição. O cliente recebe o erro `target_refused` com o seu código de status e não é cobrado por ele. O bot nunca resolve desafios, nunca faz login, nunca altera seu user agent para parecer um navegador e nunca tenta de novo disfarçado. Se você quer que leiamos suas páginas, permita o token no robots.txt e deixe as requisições passarem; se não, nada mais é necessário do seu lado. ## O que o WebReaderAPI ainda não promete? Não publicamos uma lista de endereços IP hoje, então identifique o bot pelo user agent e pelo comportamento em relação ao robots.txt, não pelo IP. Páginas lidas com a opção `country` saem de um endereço no país escolhido, ainda com o mesmo user agent. Vamos adicionar nossas faixas de endereços a esta página quando estiverem definidas, com a data da mudança. ## Como faço para reportar um problema com o bot? Escreva para abuse@webreaderapi.com com a data e a hora, seu domínio, a URL buscada e uma linha do seu log de acesso mostrando nosso user agent. Uma pessoa lê cada relato e o confere com nossos logs. Se um cliente usa a API em desacordo com nossa [Política de Uso Aceitável](https://webreaderapi.com/pt/acceptable-use/), a conta dele é suspensa. Para verificar se uma requisição realmente veio de nós, compare o user agent e o comportamento em relação ao robots.txt com esta página. Um cliente que ignora suas regras do robots.txt usando nosso nome não é o nosso bot. ## Perguntas dos donos de sites ### O bot do WebReaderAPI é um rastreador de buscador? Não. Ele não indexa a web nem classifica páginas. Ele lê uma página apenas quando um cliente da API pede por essa página, em uma requisição única, um lote ou um rastreamento (crawl) de um site. ### Bloquear o bot afetará meu ranking no Google ou no Bing? Não. As regras escritas para `WebReaderAPI` dizem respeito apenas ao nosso bot. Os rastreadores dos buscadores seguem seus próprios grupos no seu robots.txt. ### Quanto tempo leva para uma alteração no robots.txt fazer efeito? Dentro de 24 horas, no máximo. O bot mantém o robots.txt em cache por no máximo um dia antes de lê-lo novamente. ### O bot respeita o Crawl-delay? Sim, para trabalhos de rastreamento (crawl), que leem muitas páginas de um mesmo site. Uma leitura única é uma requisição e não tem intervalo entre elas. ### Vocês armazenam ou vendem o conteúdo das minhas páginas? Não. O texto da página vai para o cliente que o solicitou e não é guardado por nós. Nossos logs registram o nome do host, o horário, o status e os créditos usados, por 30 dias. --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Changelog > Changelog do WebReaderAPI: mudanças na API de leitura de páginas web, preços, regras de crawl e políticas. Primeira entrada: site e documentação publicados. - URL: https://webreaderapi.com/pt/changelog/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) As mudanças na API, nos preços, no comportamento do rastreador (crawler) e nas políticas são listadas aqui, da mais recente para a mais antiga. Uma mudança em uma promessa feita em outra parte do site também aparece aqui. **Resposta rápida — O que mudou no WebReaderAPI?** Em 22 de outubro de 2026, **WebReaderAPI** publicou seu site, documentação, preços e políticas. A API em si ainda não está aberta; seu lançamento será a próxima entrada desta página. Os preços começam a partir de US$ 3,75 para 10.000 páginas e caem para US$ 0,07/1K páginas no maior pacote. ## 22 de outubro de 2026: site e documentação publicados - **Site, preços e políticas** entraram no ar: [preços](https://webreaderapi.com/pt/pricing/), [termos](https://webreaderapi.com/pt/terms/), [privacidade](https://webreaderapi.com/pt/privacy/), [uso aceitável](https://webreaderapi.com/pt/acceptable-use/) e [reembolsos](https://webreaderapi.com/pt/refunds/). - **Documentação** dos endpoints `/read`, `/batch`, `/crawl` e `/credits`, com código para Python, Node.js e curl. - **Regras do rastreador (crawler)** publicadas na [página do bot](https://webreaderapi.com/pt/bot/): user agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, token em robots.txt `WebReaderAPI`, respeito a `ai-input=no`. - **Status da API:** lançamento pendente. Até que a entrada de lançamento apareça aqui, nenhuma chave de API pode ser comprada. ## O que conta como uma mudança digna de uma entrada datada? Qualquer coisa com que um cliente ou dono de site possa contar: - um novo endpoint, parâmetro ou campo de resposta; - um campo renomeado ou removido (o que só acontece em uma nova versão da API, como `/api/v2/`); - um preço, uma regra de créditos ou uma regra de reembolso; - uma mudança na forma como o rastreador (crawler) se identifica ou trata o robots.txt; - um incidente que afetou requisições, com sua janela de tempo. ## Como as mudanças de preço são tratadas? Um novo preço se aplica aos pacotes comprados depois de sua publicação aqui. Os créditos que você já tem mantêm seu valor: são contados em páginas, não em dólares, e Os créditos pré-pagos nunca expiram: as páginas não usadas ficam na sua conta até você usá-las. ## Quão estável é a versão 1 da API? Dentro da versão 1, podemos adicionar campos e parâmetros, nunca renomeá-los ou removê-los. O código que lê os campos documentados no [formato de resposta](https://webreaderapi.com/pt/docs/response/) continua funcionando. Uma mudança que quebre compatibilidade iria para uma nova versão, anunciada aqui antes de entrar no ar. ## Como acompanho as mudanças? Consulte esta página, ou leia sua versão em Markdown, que o [llms.txt](https://webreaderapi.com/llms.txt) lista com as outras páginas do site. Cada entrada mantém sua data, para você ver o que mudou desde sua última visita. Dúvidas vão para support@webreaderapi.com. --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Crawl4AI ou uma API hospedada? Quando rodar seu próprio leitor de páginas web > Crawl4AI ou API hospedada para converter páginas web em Markdown? Licenças, robots.txt, custo de auto-hospedar e preços de serviços verificados em 2026-10-22. - URL: https://webreaderapi.com/pt/compare/crawl4ai-vs-api/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Ferramentas de código aberto podem converter páginas web em Markdown de graça, nos seus próprios servidores. APIs hospedadas cobram por página e rodam os servidores para você. Esta página mostra o que cada escolha realmente custa, de licenças e padrões do robots.txt a navegadores e manutenção. **Resposta rápida — Devo auto-hospedar o Crawl4AI ou usar uma API de leitura de páginas web hospedada?** Auto-hospede o Crawl4AI (Apache-2.0, com exigência de atribuição) quando você tiver volume constante e pessoas para rodar navegadores e servidores; observe que sua verificação de robots.txt vem desativada por padrão. Use uma API hospedada quando o volume for irregular ou quando você não quiser trabalho de operação: o Crawl4AI Cloud começa a partir de $10 para 10.000 créditos, e **WebReaderAPI** a partir de US$ 3,75 para 10.000 páginas, pago com cripto e sem KYC (22 de outubro de 2026). ## Quais ferramentas de código aberto convertem páginas web em Markdown? As principais opções em outubro de 2026, com a licença e os padrões que seus próprios repositórios e documentações informam. | Ferramenta | Licença | Renderiza JavaScript | robots.txt por padrão | servidor MCP | | --- | --- | --- | --- | --- | | Crawl4AI | Apache-2.0, mais uma exigência de atribuição no README | Sim (Playwright) | Desativado: `check_robots_txt` tem False como padrão | Sim, no seu próprio servidor | | Firecrawl (auto-hospedado) | Núcleo AGPL-3.0; SDKs e algumas partes de UI em MIT | Sim (serviço Playwright) | Ligado | Sim (firecrawl-mcp-server, MIT) | | Microsoft MarkItDown | MIT | Não | Não documentado | Sim (markitdown-mcp) | | Trafilatura | Apache-2.0 (GPLv3+ antes da v1.8.0) | Não | Seu spider segue o Robots Exclusion Standard | Nenhum mencionado | | Mozilla Readability | Apache-2.0 | Não; precisa de um DOM e não faz a requisição | Não aplicável | Nenhum encontrado | | Jina Reader (ramo open-source) | Apache-2.0 | Sim (Puppeteer) | Não mencionado | Não está no repositório | *Preços verificados em 22 de outubro de 2026.* A partir dos repositórios do GitHub e da documentação listados abaixo, lidos em 22/10/2026. ## Quanto custa de verdade hospedar um leitor web por conta própria? O software é gratuito; executá-lo não é. Antes de comparar um preço de serviço hospedado com zero, conte estes custos: - **Servidores e navegadores.** Páginas estáticas precisam de pouca CPU, mas páginas com JavaScript precisam de um navegador headless por requisição, com memória à altura. Os picos exigem capacidade extra que fica ociosa no resto do tempo. - **Manutenção.** Versões de navegador, regras de extração e dependências mudam. O Crawl4AI lançou a v0.9.5 em 14 de outubro de 2026; o MarkItDown, a 0.1.9 em 21 de outubro de 2026. Alguém precisa testar e implantar cada atualização. - **Rede.** Largura de banda de saída, DNS, timeouts e novas tentativas são por sua conta. Sites podem recusar tráfego dos endereços dos seus servidores, e a resposta certa nesse caso é respeitar a recusa. - **Política.** O Crawl4AI deixa o `check_robots_txt` desligado a menos que você o ative, e permite definir ou randomizar o user agent. Decidir e aplicar suas próprias regras de robots.txt e de identificação faz parte do trabalho. - **Segurança.** O README do MarkItDown avisa que ele faz I/O com os privilégios do processo atual e que as entradas devem ser sanitizadas em ambientes não confiáveis. Um serviço que busca URLs arbitrárias também precisa recusar endereços privados e locais. ## Quanto os leitores hospedados cobram em comparação? As APIs hospedadas transformam esses custos em um preço por página. Dois exemplos de 22 de outubro de 2026: | | Crawl4AI Cloud | WebReaderAPI (nossa) | |---|---|---| | Entrada | Starter US$ 10 por mês, 10.000 créditos | US$ 3,75 por 10.000 páginas | | Página estática | 0,5 crédito | 1 crédito | | Página com navegador | 1 crédito ("navegador real") | 2 créditos | | Planos maiores | Builder US$ 99 por 125.000 créditos; Scale US$ 499 por 750.000 | US$ 74,25 por 1.000.000 de páginas; US$ 350 por 5.000.000 de páginas | | Créditos não usados | Créditos mensais não acumulam; créditos extras nunca expiram | Nunca expiram | | Pagamento | Cartão via Stripe | BTC, USDT, USDC, ETH, SOL, LTC | | robots.txt | Os clientes devem respeitar as diretivas robots dos sites (termos) | Verificado pelo serviço a cada leitura | O Crawl4AI Cloud é mantido pelos mantenedores do Crawl4AI e marca seus preços como "soft launch", que podem mudar. O crédito dele vale US$ 0,001, então uma página estática custa US$ 0,50 por 1.000 no Starter. ## Quando devo hospedar por conta própria? Hospedar por conta própria compensa quando três coisas são verdadeiras: seu volume é alto e constante, você já opera servidores e navegadores e precisa de um controle que uma API não oferece. - **Extração personalizada.** Os schemas CSS, XPath e LLM do Crawl4AI, ou suas próprias regras sobre o Readability ou o Trafilatura. - **Residência de dados.** As páginas nunca saem da sua infraestrutura. - **Entradas além de páginas web.** O MarkItDown converte Word, Excel, PowerPoint, EPub e mais, o que uma API de leitura de páginas web não faz. - **Adequação de licença.** Ferramentas Apache-2.0 e MIT permitem produtos fechados; o núcleo AGPL-3.0 do Firecrawl exige que você compartilhe as alterações se oferecer o software como serviço de rede. ## Quando uma API hospedada é a melhor escolha? Compre páginas em vez de operar servidores quando sua carga de trabalho é irregular, sua equipe é pequena ou o leitor é uma ferramenta dentro de um agente e não um produto em si. - **Volume em picos ou sazonal.** Um rastreamento (crawl) duas vezes por ano não justifica uma frota de navegadores. Com WebReaderAPI, Os créditos pré-pagos nunca expiram: as páginas não usadas ficam na sua conta até você usá-las. - **Agentes.** Um endpoint hospedado se integra a MCP, LangChain ou ferramentas da OpenAI em minutos; veja [nosso servidor MCP](https://webreaderapi.com/pt/docs/mcp/). - **Uma política que você não precisa construir.** Respeitamos o robots.txt: nosso crawler se identifica como WebReaderAPI, segue as regras escritas para ele ou para todos os robôs e não lê uma página que o site proíbe. Páginas recusadas não são cobradas. Se um site declara Content-Signal: ai-input=no no seu robots.txt, não lemos as páginas dele para você. - **Pagamento sem cartão.** WebReaderAPI aceita BTC, USDT, USDC, ETH, SOL, LTC sem KYC. ## Posso combinar os dois? Sim, e muitas equipes fazem isso. Rode um conversor open-source para arquivos que você já tem, como PDFs e documentos do Office com o MarkItDown, e chame um leitor hospedado para páginas web ao vivo, especialmente páginas com JavaScript que, de outra forma, exigiriam seus próprios navegadores. Mantenha o mesmo formato de saída dos dois lados, Markdown com a URL de origem e um título, para que seu código de chunking e indexação não se importe de onde veio o documento. Nosso [guia de RAG](https://webreaderapi.com/pt/use-cases/rag/) mostra esse formato na prática. ## Quanto custa um leitor hospedado com o WebReaderAPI? Créditos por página pagos em cripto, em 22 de outubro de 2026: 1 crédito por página estática, 2 com navegador, nada para páginas com falha ou recusadas. Os créditos nunca expiram. | Plano | Quantidade | Preço | Preço por unidade | | --- | --- | --- | --- | | Testar | 10.000 páginas | US$ 3,75 | US$ 0,38/1K páginas | | Build | 100.000 páginas | US$ 21,75 | US$ 0,22/1K páginas | | Volume | 1.000.000 de páginas | US$ 74,25 | US$ 0,07/1K páginas | | Bulk | 5.000.000 de páginas | US$ 350 | US$ 0,07/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 **Antes de pagar** - Recarga mínima US$ 25. Recarregue uma vez com cripto e depois compre qualquer plano usando seu saldo. - Seu saldo não tem data de validade e pode comprar créditos de página a qualquer momento. Se um pacote custar menos que o valor mínimo de recarga, o valor que você adicionou apenas para atingir esse mínimo pode ser devolvido mediante solicitação em até 30 dias após o pagamento, em USDT ou USDC, desde que você não o tenha gasto. Qualquer outro saldo não é reembolsado, a menos que a lei determine o contrário. - Creditado assim que seu pagamento é verificado na blockchain. Tempo habitual de confirmação da rede: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min ## Hospedar um leitor web por conta própria: perguntas frequentes ### O Crawl4AI é gratuito para uso comercial? Seu README diz que é licenciado sob Apache-2.0, o que permite uso comercial, e acrescenta que os usuários devem incluir uma atribuição, seja um selo ou uma linha de texto. Leia a licença e o README você mesmo antes de lançar. ### O Crawl4AI respeita o robots.txt? Só se você pedir. Seu parâmetro `check_robots_txt` vem como False por padrão; defina como True para verificar e armazenar em cache as regras do robots.txt antes do rastreamento (crawl). Você também pode definir ou randomizar o user agent, então é sua própria política que decide como ele se comporta. ### Posso hospedar o Firecrawl por conta própria em vez do Crawl4AI? Sim. O núcleo do Firecrawl é open source sob AGPL-3.0 e respeita o robots.txt por padrão. A AGPL exige que você publique as alterações quando oferece o software como serviço de rede, o que importa para produtos comerciais. ### Qual ferramenta converte PDFs e arquivos do Office? O Microsoft MarkItDown, sob a licença MIT, converte PDF, Word, PowerPoint, Excel, HTML, EPub e outros formatos em Markdown. Ele não renderiza páginas com JavaScript. WebReaderAPI lê PDFs de uma URL, até 100 páginas. ### Quanto custa o Crawl4AI Cloud? Em 22 de outubro de 2026: Starter US$ 10 por mês por 10.000 créditos, Builder US$ 99 por 125.000 e Scale US$ 499 por 750.000, com uma página estática a 0,5 crédito e uma página de navegador a 1. O site marca esses preços como um lançamento suave que pode mudar. ## Fontes 1. [repositório unclecode/crawl4ai](https://github.com/unclecode/crawl4ai) — GitHub (read 2026-10-22) 2. [Parâmetros do Crawl4AI](https://docs.crawl4ai.com/api/parameters/) — Crawl4AI docs (read 2026-10-22) 3. [Auto-hospedagem do Crawl4AI](https://docs.crawl4ai.com/core/self-hosting/) — Crawl4AI docs (read 2026-10-22) 4. [crawl4ai no PyPI](https://pypi.org/project/crawl4ai/) — PyPI (read 2026-10-22) 5. [Crawl4AI Cloud](https://crawl4ai.com/) — Crawl4AI (read 2026-10-22) 6. [repositório microsoft/markitdown](https://github.com/microsoft/markitdown) — GitHub (read 2026-10-22) 7. [markitdown no PyPI](https://pypi.org/project/markitdown/) — PyPI (read 2026-10-22) 8. [repositório adbar/trafilatura](https://github.com/adbar/trafilatura) — GitHub (read 2026-10-22) 9. [repositório mozilla/readability](https://github.com/mozilla/readability) — GitHub (read 2026-10-22) 10. [repositório firecrawl/firecrawl](https://github.com/firecrawl/firecrawl) — GitHub (read 2026-10-22) 11. [repositório jina-ai/reader](https://github.com/jina-ai/reader) — GitHub (read 2026-10-22) --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Firecrawl vs Jina Reader (2026): qual leitor de páginas web combina com seu projeto? > Firecrawl vs Jina Reader em 2026: créditos por página vs cobrança por token, planos gratuitos, rastreamento e extração de JSON. Verificado em 2026-10-22. - URL: https://webreaderapi.com/pt/compare/firecrawl-vs-jina-reader/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Firecrawl e Jina Reader são os dois nomes que aparecem primeiro quando desenvolvedores perguntam como converter páginas web em Markdown para um modelo. Eles cobram, fazem rastreamento (crawl) e tratam o robots.txt de formas diferentes. Esta página compara os dois com base nos mesmos fatos, com o nosso próprio serviço em uma coluna separada e identificada. **Resposta rápida — Firecrawl ou Jina Reader: qual devo usar?** Use o Firecrawl para pipelines completos: ele cobra 1 crédito por página com renderização incluída, faz rastreamento (crawl) e mapeamento de sites e extrai JSON para um schema, em planos de US$ 19 a US$ 749 por mês (22 de outubro de 2026). Use o Jina Reader para leituras rápidas: coloque o prefixo r.jina.ai em uma URL, pague US$ 50 por bilhão de tokens de saída, ou nada a 20 requisições por minuto. **WebReaderAPI**, que publica esta página, vende créditos por página em cripto, sem KYC. ## Firecrawl vs Jina Reader, com a WebReaderAPI como referência Cada linha vem das próprias páginas do provedor, lidas em 22 de outubro de 2026. A terceira coluna é o nosso serviço, publicado por um concorrente de ambos. | | Firecrawl | Jina Reader | WebReaderAPI (o nosso) | | --- | --- | --- | --- | | Unidade de cobrança | Créditos: 1 por página, renderização incluída | Tokens de saída | Créditos: 1 por página, 2 com navegador headless | | Preço de entrada | Hobby: US$ 19 por mês por 5.000 créditos | US$ 50 por 1B de tokens | US$ 3,75 por 10.000 páginas | | Volumes maiores | Standard US$ 99 por 100K; Scale US$ 749 por 1M por mês | US$ 500 por 11B de tokens | US$ 74,25 por 1.000.000 de páginas | | Uso gratuito | 1.000 créditos por mês, sem cartão; MCP sem chave, com limite por IP por dia | Sem chave a 20 requisições por minuto; 10M de tokens por nova chave, uso não comercial | Nenhum | | Créditos não usados | Os créditos do plano são renovados mensalmente | Validade não indicada no texto que conseguimos ler | Nunca expiram | | Rastreamento (crawl) e mapeamento | Rastreamento (crawl) (limite padrão de 10.000 páginas) e mapeamento | Nenhum endpoint de rastreamento (crawl) informado | Rastreamento (crawl) de até 10.000 páginas; sem mapeamento | | Extração estruturada | JSON com um schema, +4 créditos por página | Schema JSON ou cabeçalhos de instrução | Não oferecido | | robots.txt | Respeitado por padrão; desativar apenas no Enterprise | Cabeçalho `X-Robots-Txt` opcional | Sempre respeitado | | Pagamento | Cartões, cartões de débito, PayPal (Stripe) | Cartões, Google Pay, PayPal (Stripe) | BTC, USDT, USDC, ETH, SOL, LTC | | Código aberto | Núcleo sob AGPL-3.0 | Branch do Reader sob Apache-2.0 | Não | | Empresa | Firecrawl; rodada Series B de US$ 75 milhões em 22 de setembro de 2026 | Jina AI, parte da Elastic desde outubro de 2025 | SerpGoat LLC | *Preços verificados em 22 de outubro de 2026.* Fontes no final da página. ## Qual custa menos por página? Depende do tamanho da página e do volume, porque as duas cobram em unidades diferentes. A Firecrawl cobra por página: US$ 0,99 por 1.000 páginas no Standard, US$ 0,749 no Scale com cobrança mensal, renderização incluída. A Jina cobra por token de saída e não publica média por página. Como **estimativa, assumindo 5.000 tokens por página**, a Jina custa cerca de US$ 0,25 por 1.000 páginas no pacote de US$ 50 e US$ 0,225 no pacote de US$ 500. Com essa premissa, a Jina custa menos por página que a Firecrawl em qualquer volume. Para páginas bem mais longas que 5.000 tokens, como páginas de documentação extensas, a diferença diminui ou se inverte; para páginas curtas, ela aumenta. A extração JSON da Firecrawl adiciona 4 créditos por página, o que muda a comparação para trabalhos de extração. ## Qual é melhor para rastrear um site inteiro? A Firecrawl. O endpoint de crawl dela segue o sitemap por padrão, aceita um limite de páginas (10.000 por padrão) e uma profundidade de descoberta, e retorna 402 se seus créditos não cobrirem o limite. Um endpoint map separado lista as URLs de um site por um crédito por chamada. O Jina Reader é um leitor de URL única mais um endpoint de pesquisa; suas páginas não mencionam recurso de rastreamento (crawl). Para ler um site inteiro com a Jina, você mesmo coleta as URLs, por exemplo do sitemap, e chama o reader uma vez por página. ## Como cada uma trata o robots.txt e os donos de sites? A Firecrawl respeita o robots.txt por padrão e só permite que clientes Enterprise desativem isso; os donos de sites permitem ou recusam com o token `FirecrawlAgent`. A documentação dela avisa que esse token pode não ser o cabeçalho User-Agent da requisição em si. A Jina verifica o robots.txt quando a requisição traz o cabeçalho `X-Robots-Txt`, que informa como qual bot verificar. Ela também permite que o chamador substitua o User-Agent do navegador. Suas páginas não informam o padrão para nenhum dos dois. As duas abordagens deixam boa parte da escolha para o cliente; a nossa não, como explica a próxima seção. ## Qual se encaixa melhor com agentes de IA? As duas atendem bem agentes, de formas diferentes. A Firecrawl oferece um servidor MCP hospedado, acesso sem chave com um limite diário por IP e uma longa lista de integrações, incluindo LangChain, LlamaIndex, CrewAI e n8n; o OpenClaw já inclui a Firecrawl como seu provedor web_fetch. A Jina oferece um servidor MCP remoto oficial cuja ferramenta `read_url` lê até cinco URLs por chamada, uma credencial n8n e o prefixo de URL que qualquer ferramenta capaz de fazer uma requisição GET pode usar. Para um agente que lê algumas páginas por tarefa, o prefixo da Jina é o começo mais simples; para um agente que rastreia, mapeia e extrai, a Firecrawl cobre mais. ## Onde o WebReaderAPI se encaixa entre as duas? O WebReaderAPI fica mais próximo da Jina em escopo, um leitor, e mais próximo da Firecrawl na cobrança, por página, com um endpoint de crawl para sites inteiros. O que o diferencia é o pagamento e a política, não a lista de recursos: - **Cripto sem KYC.** Recarregue a partir de US$ 25 em BTC, USDT, USDC, ETH, SOL, LTC. - **Créditos que nunca expiram**, vendidos em pacotes a partir de US$ 3,75. - **Uma política fixa para sites.** Respeitamos o robots.txt: nosso crawler se identifica como WebReaderAPI, segue as regras escritas para ele ou para todos os robôs e não lê uma página que o site proíbe. Páginas recusadas não são cobradas. Se um site recusa nossa requisição, devolvemos a resposta dele: nunca resolvemos CAPTCHAs, nunca entramos em contas e nunca tentamos contornar um bloqueio ou um paywall. Ele faz menos que a Firecrawl: sem extração JSON, sem ações de navegador, sem map, sem plano gratuito. Leia as páginas [alternativa ao Firecrawl](https://webreaderapi.com/pt/alternatives/firecrawl/) e [alternativa ao Jina Reader](https://webreaderapi.com/pt/alternatives/jina-reader/) para os detalhes de cada migração. ## Qual devo escolher para o meu caso de uso? - **Protótipo ou agente de hobby:** Jina Reader sem chave, ou o plano gratuito da Firecrawl. - **RAG sobre sites de documentação:** Firecrawl para crawl e map; WebReaderAPI se você quer créditos por página que se mantêm e pagamento com cripto. - **Extração para campos fixos:** o formato JSON da Firecrawl. - **Muitas páginas curtas de notícias ou blogs:** a cobrança por token da Jina tende a custar menos. - **Respeito estrito às escolhas dos donos de sites, garantido pelo provedor:** WebReaderAPI. - **Sem cartão e sem documentos de identidade:** WebReaderAPI; nem a Firecrawl nem a Jina listam uma opção de pagamento com cripto nas páginas que lemos. ## Quanto custa a terceira opção? Pacotes por página pagos com cripto, em 22 de outubro de 2026. Uma página que precisa de navegador usa dois créditos; páginas com falha e páginas recusadas pelo robots.txt são gratuitas. | Plano | Quantidade | Preço | Preço por unidade | | --- | --- | --- | --- | | Testar | 10.000 páginas | US$ 3,75 | US$ 0,38/1K páginas | | Build | 100.000 páginas | US$ 21,75 | US$ 0,22/1K páginas | | Volume | 1.000.000 de páginas | US$ 74,25 | US$ 0,07/1K páginas | | Bulk | 5.000.000 de páginas | US$ 350 | US$ 0,07/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 **Antes de pagar** - Recarga mínima US$ 25. Recarregue uma vez com cripto e depois compre qualquer plano usando seu saldo. - Seu saldo não tem data de validade e pode comprar créditos de página a qualquer momento. Se um pacote custar menos que o valor mínimo de recarga, o valor que você adicionou apenas para atingir esse mínimo pode ser devolvido mediante solicitação em até 30 dias após o pagamento, em USDT ou USDC, desde que você não o tenha gasto. Qualquer outro saldo não é reembolsado, a menos que a lei determine o contrário. - Creditado assim que seu pagamento é verificado na blockchain. Tempo habitual de confirmação da rede: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min ## Firecrawl vs Jina Reader: perguntas frequentes ### O Jina Reader é gratuito e o Firecrawl é pago? As duas têm uso gratuito. O Jina Reader funciona sem chave a 20 requisições por minuto, e cada nova chave recebe 10 milhões de tokens para uso não comercial. A Firecrawl dá 1.000 créditos por mês sem cartão, além de acesso MCP sem chave limitado por endereço IP a cada dia. ### Qual retorna um Markdown melhor? Não publicamos nenhum benchmark de qualidade, e a página de preços de nenhum dos dois fornecedores afirma superioridade sobre o outro. Faça seu próprio teste: 50 das suas URLs reais em cada serviço, depois compare títulos, tabelas e menus que sobraram na saída. ### Alguma das duas pode ser auto-hospedada? Sim. O núcleo da Firecrawl é código aberto sob AGPL-3.0. A Jina publica um branch de código aberto do seu Reader sob Apache-2.0, sem a camada de armazenamento hospedada. ### Firecrawl ou Jina aceitam cripto? Não nas páginas de preços e cobrança que lemos em 22 de outubro de 2026: as duas citam a Stripe, com cartões e PayPal, e a Jina também Google Pay. O WebReaderAPI aceita BTC, USDT, USDC, ETH, SOL, LTC. ### Esta comparação é neutra? Ela é escrita pelo WebReaderAPI, concorrente das duas, e diz isso no topo. Cada fato sobre a Firecrawl e a Jina vem das próprias páginas delas, listadas abaixo com a data em que as lemos. ## Fontes 1. [Preços do Firecrawl](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 2. [Cobrança](https://docs.firecrawl.dev/billing.md) — Firecrawl docs (read 2026-10-22) 3. [Rastreamento (crawl)](https://docs.firecrawl.dev/features/crawl.md) — Firecrawl docs (read 2026-10-22) 4. [Guia avançado de web scraping](https://docs.firecrawl.dev/advanced-scraping-guide.md) — Firecrawl docs (read 2026-10-22) 5. [servidor MCP](https://docs.firecrawl.dev/mcp-server.md) — Firecrawl docs (read 2026-10-22) 6. [Apresentando Alexandria e nossa Série B](https://www.firecrawl.dev/blog/introducing-alexandria-series-b) — Firecrawl (read 2026-10-22) 7. [Reader](https://jina.ai/reader/) — Jina AI (read 2026-10-22) 8. [Painel da API: preços](https://jina.ai/api-dashboard/pricing/) — Jina AI (read 2026-10-22) 9. [repositório jina-ai/MCP](https://github.com/jina-ai/MCP) — GitHub (read 2026-10-22) 10. [Elastic conclui aquisição da Jina AI](https://ir.elastic.co/News--Events/news/news-details/2025/Elastic-Completes-Acquisition-of-Jina-AI-a-Leader-in-Frontier-Models-for-Multimodal-and-Multilingual-Search/default.aspx) — Elastic (2025-10-09, read 2026-10-22) 11. [Ferramentas web](https://docs.openclaw.ai/tools/web) — OpenClaw docs (read 2026-10-22) --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Preços de API de leitura de páginas web comparados: quanto custam 10 mil, 100 mil e 1 milhão de páginas > Preços de APIs de leitura web e conversão de URL em Markdown comparados em 2026-10-22: conta mensal para 10K, 100K e 1M de páginas em 13 APIs. - URL: https://webreaderapi.com/pt/compare/web-reader-api-pricing/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Os preços em créditos escondem tamanhos de plano, multiplicadores de navegador e expiração. Esta página transforma os preços públicos de tabela na fatura mensal de três volumes, para páginas simples e para páginas que exigem um navegador, e depois lista os custos que as páginas de preço deixam de fora. **Resposta rápida — Como os preços de API de leitura de páginas web se comparam em 2026?** Em 2026-10-22, 100.000 páginas renderizadas por navegador por mês custavam $99 em oito APIs, incluindo Firecrawl, Olostep e Crawl4AI Cloud; páginas simples custavam a partir de $29 (Scrape.do). Com 1 milhão de páginas, páginas simples começam em cerca de $99 e páginas com navegador em $399 (Olostep). **WebReaderAPI** cobra US$ 21,75 por 100.000 páginas simples e $43,50 se todas precisarem de um navegador, pagos com cripto e sem KYC. ## Quanto custa um mês de páginas em cada API? Fatura mensal para 10.000, 100.000 e 1.000.000 de páginas, usando o plano publicado mais barato, a tarifa de excedente ou o preço pay-as-you-go. Quando um provedor cobra páginas com navegador de forma diferente, os dois valores são mostrados (simples / navegador). | API | 10.000 páginas | 100.000 páginas | 1.000.000 de páginas | | --- | --- | --- | --- | | WebReaderAPI, páginas simples | US$ 3,75 | US$ 21,75 | US$ 74,25 | | WebReaderAPI, páginas com navegador (2 créditos) | $7.50 | $43.50 | $148.50 | | Firecrawl | $44.00 | $99.00 | $749.00 | | Crawl4AI Cloud, simples / navegador | $10.00 | $50.00 / $99.00 | $395.00 / $667.00 | | Olostep | $29.00 | $99.00 | $399.00 | | Tavily Extract, simples / navegador | $16.00 / $30.00 | $140.00 / $236.00 | $1,300 / $2,900 | | Exa contents | $10.00 | $100.00 | $1,000 | | Linkup fetch, simples / navegador | $10.00 / $50.00 | $100.00 / $500.00 | $1,000 / $5,000 | | ScrapingBee, simples / navegador | $19.00 | $49.00 / $99.00 | $99.00 / $599.00 | | Scrape.do, simples / navegador | $29.00 | $29.00 / $99.00 | $99.00 / $699.00 | | ZenRows, simples / navegador | $5.00 / $25.00 | $39.00 / $99.00 | $199.00 / $549.00 | | Scrapfly, simples / navegador | $30.00 | $30.00 / $100.00 | $100.00 / $560.00 | | Bright Data Web Unlocker | $15.00 | $150.00 | $1,300 | | Diffbot | $299.00 | $299.00 | $899.00 | *Preços verificados em 22 de outubro de 2026.* Preços de tabela em USD, lidos em 2026-10-22. "—" = não publicado ou não self-serve nesse volume. Exa e Parallel não documentam opção de navegador. Método completo e 21 APIs: [URL to Markdown API price index 2026](https://webreaderapi.com/pt/data/url-to-markdown-price-index-2026/). ## Quais custos as páginas de preço deixam de fora? 1. **Multiplicadores de navegador.** Uma página JavaScript custa 5 créditos na ScrapingBee, ZenRows e Scrape.do, 6 na Scrapfly e 10 na ScraperAPI; Firecrawl e Olostep renderizam todas as páginas por um único preço. 2. **Faixas de plano.** Um plano de $99 comprado para 20.000 páginas ainda custa $99. 3. **Expiração.** A maioria dos planos mensais zera os créditos não usados; um mês tranquilo é dinheiro perdido. 4. **Complementos de extração.** A extração de JSON estruturado custa à parte em várias APIs: 4 créditos a mais por página na Firecrawl. 5. **Conexões premium.** Proxies residenciais ou "premium" multiplicam o custo em créditos na maioria das APIs de scraping; WebReaderAPI adiciona 10 créditos só quando você escolhe um país. 6. **Páginas com falha.** Verifique se os erros são cobrados. WebReaderAPI não cobra nada por páginas com falha ou por páginas recusadas pelo robots.txt. ## Onde o WebReaderAPI se encaixa? Nos preços desta página, definidos em 2026-10-22, WebReaderAPI cobra US$ 0,38/1K páginas por página simples com 10.000 páginas, US$ 0,22/1K páginas com 100.000 e US$ 0,07/1K páginas com 1 milhão; uma página com navegador usa dois créditos. Os créditos são pré-pagos, nunca expiram e são pagos em BTC, USDT, USDC, ETH, SOL, LTC sem KYC. Não afirmamos ser o mais barato em todo volume ou para todo tipo de página. Nosso rastreador (crawler) respeita o robots.txt e nunca tenta contornar uma recusa, então algumas páginas que outras ferramentas buscam voltam como recusadas, e de graça. ## Quanto custa o WebReaderAPI? Pacotes pré-pagos; um crédito por página simples, dois com navegador; os créditos nunca expiram. Preços definidos em 2026-10-22. | Plano | Quantidade | Preço | Preço por unidade | | --- | --- | --- | --- | | Testar | 10.000 páginas | US$ 3,75 | US$ 0,38/1K páginas | | Build | 100.000 páginas | US$ 21,75 | US$ 0,22/1K páginas | | Volume | 1.000.000 de páginas | US$ 74,25 | US$ 0,07/1K páginas | | Bulk | 5.000.000 de páginas | US$ 350 | US$ 0,07/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 **Antes de pagar** - Recarga mínima US$ 25. Recarregue uma vez com cripto e depois compre qualquer plano usando seu saldo. - Seu saldo não tem data de validade e pode comprar créditos de página a qualquer momento. Se um pacote custar menos que o valor mínimo de recarga, o valor que você adicionou apenas para atingir esse mínimo pode ser devolvido mediante solicitação em até 30 dias após o pagamento, em USDT ou USDC, desde que você não o tenha gasto. Qualquer outro saldo não é reembolsado, a menos que a lei determine o contrário. - Creditado assim que seu pagamento é verificado na blockchain. Tempo habitual de confirmação da rede: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min ## Preços de API de leitura de páginas web: perguntas frequentes ### Qual é a API de URL para Markdown mais barata em 2026? Para páginas simples com 1 milhão por mês, ScrapingBee ($0,099 por 1.000) e Scrape.do ($0,099 por 1.000) tinham os preços mais baixos listados em 2026-10-22. Para páginas com navegador nesse volume, Olostep listava $0,399. A resposta muda conforme o volume, então compare no seu. ### A Firecrawl é caro? Em pequenos volumes, sim: $19 por 5.000 páginas no Hobby dá $3,80 por 1.000. Com 100.000 páginas ($99) e 1 milhão ($749) fica próximo do mercado para páginas renderizadas por navegador, porque toda página da Firecrawl é renderizada. ### Eu pago por páginas que falham? Depende do provedor; leia a página de cobrança dele. A Crawlbase afirma que requisições com falha e novas tentativas são gratuitas. WebReaderAPI não cobra por páginas com falha nem por páginas recusadas pelo robots.txt. ### Posso pagar por uma API de leitura de páginas web com cripto? Sim, em algumas. Scrape.do, Decodo Web Data API e Scrapeless informam pagamento com cripto na conta, e Exa contents, Parallel Extract, Linkup fetch, Olostep e outras aceitam USDC por requisição via x402. WebReaderAPI aceita BTC, USDT, USDC, ETH, SOL, LTC sem KYC. ## Fontes 1. [Firecrawl: preços](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 2. [Crawl4AI Cloud: preços](https://crawl4ai.com/) — Crawl4AI Cloud (read 2026-10-22) 3. [Olostep: preços](https://www.olostep.com/pricing) — Olostep (read 2026-10-22) 4. [Tavily Extract: preços](https://docs.tavily.com/documentation/api-credits) — Tavily Extract (read 2026-10-22) 5. [Exa contents: preços](https://exa.ai/pricing) — Exa contents (read 2026-10-22) 6. [Linkup fetch: preços](https://docs.linkup.so/pages/documentation/development/pricing) — Linkup fetch (read 2026-10-22) 7. [ScrapingBee: preços](https://www.scrapingbee.com/pricing/) — ScrapingBee (read 2026-10-22) 8. [Scrape.do: preços](https://scrape.do/pricing.md) — Scrape.do (read 2026-10-22) 9. [ZenRows: preços](https://docs.zenrows.com/first-steps/pricing.md) — ZenRows (read 2026-10-22) 10. [Scrapfly: preços](https://scrapfly.io/pricing) — Scrapfly (read 2026-10-22) 11. [Bright Data Web Unlocker: preços](https://www.bright.cn/pricing/web-unlocker) — Bright Data Web Unlocker (read 2026-10-22) 12. [Diffbot: preços](https://www.diffbot.com/pricing/) — Diffbot (read 2026-10-22) --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Contato com o WebReaderAPI > Contato com o WebReaderAPI: e-mail de suporte para dúvidas sobre a API e cobrança, e-mail de abuso para denúncias, e o que incluir para uma resposta rápida. - URL: https://webreaderapi.com/pt/contact/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Dois endereços: um para clientes, outro para proprietários de sites e denúncias de uso indevido. Ambos são lidos por uma pessoa. **Resposta rápida — Como entro em contato com o WebReaderAPI?** Escreva para support@webreaderapi.com para obter ajuda com a API, sua conta ou um pagamento; O suporte por e-mail responde em até 12 horas, todos os dias da semana, incluindo ajuda com rastreamento (crawl) e integrações. Proprietários de sites e qualquer pessoa que queira denunciar uso indevido do rastreador **WebReaderAPI** pode escrever para abuse@webreaderapi.com. Nossa equipe nunca pedirá seu número de conta ou uma chave de API por e-mail ou chat. ## O que torna um pedido de suporte rápido de responder? Uma mensagem curta com os fatos recebe a resposta mais rápido: - o ID do pedido do seu histórico de pedidos, para dúvidas de cobrança; - o horário da requisição, o endpoint e o código de erro, para problemas com a API; - a URL que você tentou ler, se uma página não voltou como esperado. Nunca envie sua chave de API ou o número da sua conta por e-mail. ## Tenho um site. Como falo com vocês? Escreva para abuse@webreaderapi.com com seu domínio, a data e o horário, e uma linha do log do seu servidor mostrando o user agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`. Para parar nosso rastreador sem escrever para nós, adicione uma regra para `WebReaderAPI` ao seu robots.txt; a [página do bot](https://webreaderapi.com/pt/bot/) tem exemplos prontos. Uma pessoa analisa cada denúncia de abuso, e contas que fazem uso indevido do serviço são suspensas. ## Com o que o suporte pode ajudar? Qualquer coisa sobre o uso da API ou da sua conta: - uma página que volta vazia, cortada ou com a seção errada mantida como conteúdo principal; - um código de erro que você não entende, ou um job de rastreamento (crawl) que para antes do fim; - uma recarga que não apareceu no seu saldo após as confirmações; - um pedido de reembolso conforme a [política de reembolso](https://webreaderapi.com/pt/refunds/); - um limite de concorrência maior para uso em produção. O suporte não pode fazer um site aceitar nosso rastreador. Quando um site nos recusa, o único caminho é a permissão do proprietário do site. ## Como reporto um problema de pagamento? Informe a moeda, a rede, o valor enviado e o ID da transação, junto com o ID do pedido da área do cliente. Isso é suficiente para encontrar qualquer transferência na blockchain. Não inclua chaves privadas, seed phrases, o número da sua conta ou sua chave de API: nunca precisamos deles, e quem pedir isso não somos nós. ## Há chat ou telefone? Não. O e-mail mantém um registro escrito para os dois lados e nos permite responder com precisão, com os logs em mãos. Para saber o estado da API, veja a [página de status](https://webreaderapi.com/pt/status/); para dúvidas comuns, o [FAQ](https://webreaderapi.com/pt/faq/). --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # API de crawl: transforme um site inteiro em arquivos Markdown > API de crawl que transforma um site inteiro em Markdown para RAG: até 10.000 páginas por job, com sitemap e robots.txt, a partir de US$ 0,07/1K páginas. - URL: https://webreaderapi.com/pt/crawl-api/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Informe uma URL inicial e um limite de páginas. O rastreador segue o sitemap do site e os links dentro do mesmo domínio, lê cada página como Markdown e entrega os resultados página por página. Um crédito por página. **Resposta rápida — Como posso rastrear um site inteiro e obter cada página em Markdown?** Use uma API de crawl: você envia uma URL inicial e um limite, e ela retorna cada página do site em Markdown. **WebReaderAPI** rastreia até 10.000 páginas por job dentro de um domínio, segue o sitemap, o robots.txt e o Crawl-delay, e cobra um crédito por página lida, a partir de US$ 0,07/1K páginas em outubro de 2026. Páginas recusadas pelo robots.txt são gratuitas. Sem KYC; pague com cripto. ## API de crawl em resumo | Atributo | Valor | | --- | --- | | Iniciar um crawl | `POST https://webreaderapi.com/api/v1/crawl` com `url`, `limit`, `max_depth`, `include_paths`, `exclude_paths` | | Obter os resultados | `GET https://webreaderapi.com/api/v1/jobs/{job_id}`, paginado com um cursor | | Escopo | Rastreie um site por job, até 10.000 páginas, seguindo o sitemap, o robots.txt e o Crawl-delay do site | | Muitas URLs separadas | `POST https://webreaderapi.com/api/v1/batch`: Até 100 URLs por job em lote | | Cobrança | 1 crédito = 1 página lida sem navegador; 2 créditos quando a página precisa de um navegador para renderizar JavaScript. Uma requisição que falha, ou que o robots.txt de um site recusa, não é cobrada | | Proprietários de sites | Respeitamos o robots.txt: nosso crawler se identifica como WebReaderAPI, segue as regras escritas para ele ou para todos os robôs e não lê uma página que o site proíbe. Páginas recusadas não são cobradas | | Preço | US$ 14,25 por 50.000 páginas, US$ 50 por 500.000 páginas | ## Como funciona um job de rastreamento (crawl)? Um rastreamento (crawl) é um job em segundo plano, porque ler centenas de páginas leva mais tempo do que uma única requisição HTTP deveria. 1. **Início:** `POST https://webreaderapi.com/api/v1/crawl` com a URL inicial e seus limites. Você recebe um `job_id` na hora. 2. **Descoberta:** o rastreador lê o robots.txt e o sitemap do site e depois segue os links dentro do mesmo domínio, em largura, até `max_depth`. 3. **Leitura:** cada página permitida é lida com as mesmas opções de `/read`: Markdown, conteúdo principal, renderização quando necessário. 4. **Coleta:** consulte `GET https://webreaderapi.com/api/v1/jobs/{job_id}` e percorra os resultados com o cursor enquanto o job roda, ou quando ele estiver `done`. O job para no seu `limit`, então você nunca paga por mais páginas do que pediu. *Python: rastreie um site de documentação em arquivos Markdown* ```python import os import pathlib import re import time import requests API = "https://webreaderapi.com/api/v1" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} job = requests.post( API + "/crawl", headers=HEADERS, json={"url": "https://docs.example.com/", "limit": 500, "max_depth": 4, "include_paths": ["/guide/*"]}, timeout=60, ).json() out = pathlib.Path("docs_md") out.mkdir(exist_ok=True) cursor, delay = None, 5 while True: params = {"cursor": cursor} if cursor else {} page = requests.get(API + "/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=60).json() for item in page.get("results", []): if "markdown" in item: name = re.sub(r"[^a-z0-9]+", "-", item["url"].lower()).strip("-")[:120] (out / (name + ".md")).write_text(item["markdown"], encoding="utf-8") cursor = page.get("next_cursor") if page["status"] == "done" and not cursor: break if not cursor: time.sleep(delay) delay = min(delay * 2, 60) print("credits used:", page.get("credits_used")) ``` ## Quais páginas o rastreador visita e quais ele pula? Ele permanece dentro do domínio da URL inicial e pula tudo o que o site pede para os robôs deixarem em paz. Em detalhe: - **Apenas o mesmo domínio.** Links para outros domínios aparecem nos resultados, mas não são lidos. - **robots.txt primeiro.** Páginas não permitidas para `WebReaderAPI` ou para todos os robôs são puladas e não são cobradas. - **Crawl-delay respeitado.** Se o site definir um, o rastreador espera esse tempo entre duas páginas, então um site grande pode levar mais tempo. - **Seus filtros.** `include_paths` e `exclude_paths` aceitam padrões simples como `/blog/*`; use-os para evitar páginas de tags, páginas de busca e arquivos. - **Duplicatas removidas.** A mesma página alcançada por duas URLs, por exemplo com parâmetros de rastreamento, é lida uma vez quando o site declara uma URL canônica. ## Devo usar um crawl ou um lote? Use um crawl quando você conhece o site, mas não as páginas; use um lote quando já tem a lista de URLs. Um crawl descobre páginas a partir do sitemap e dos links. Um lote lê exatamente as URLs que você envia, até 100 por job, em qualquer número de sites. Para uma atualização semanal de uma base de conhecimento, um padrão comum é um crawl para montar o índice e depois lotes das páginas cujo `lastmod` mudou no sitemap. Isso mantém o custo semanal restrito às páginas que de fato mudaram. ## Quanto custa rastrear um site? Um crédito por página lida, dois para páginas que precisaram de um navegador. Um site de documentação de 1.500 páginas que renderiza no servidor custa 1.500 créditos; o mesmo site construído como aplicação de página única pode custar até 3.000. Três jobs típicos, em outubro de 2026: um manual de produto de 300 páginas cabe no pack 10.000 páginas (US$ 3,75); dez sites de documentação de 2.000 páginas cada cabem em 50.000 páginas (US$ 14,25); um arquivo de 400.000 páginas cabe em 500.000 páginas (US$ 50). Páginas puladas e com falha são gratuitas. ## Qual pack serve para um crawl? Dimensione o pack pelo número de páginas e acrescente uma margem para páginas que precisam de um navegador. Os créditos nunca expiram, então o restante serve para o próximo crawl. | Plano | Quantidade | Preço | Preço por unidade | | --- | --- | --- | --- | | Testar | 10.000 páginas | US$ 3,75 | US$ 0,38/1K páginas | | Starter | 50.000 páginas | US$ 14,25 | US$ 0,28/1K páginas | | Build | 100.000 páginas | US$ 21,75 | US$ 0,22/1K páginas | | Scale | 500.000 páginas | US$ 50 | US$ 0,10/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 **Antes de pagar** - Recarga mínima US$ 25. Recarregue uma vez com cripto e depois compre qualquer plano usando seu saldo. - Seu saldo não tem data de validade e pode comprar créditos de página a qualquer momento. Se um pacote custar menos que o valor mínimo de recarga, o valor que você adicionou apenas para atingir esse mínimo pode ser devolvido mediante solicitação em até 30 dias após o pagamento, em USDT ou USDC, desde que você não o tenha gasto. Qualquer outro saldo não é reembolsado, a menos que a lei determine o contrário. - Creditado assim que seu pagamento é verificado na blockchain. Tempo habitual de confirmação da rede: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min ## API de crawl: perguntas frequentes ### Quantas páginas um crawl pode ler? Até 10.000 páginas por job, dentro do domínio da URL inicial. Para um site maior, divida em vários jobs com `include_paths`, por exemplo um por seção. ### O rastreador usa o sitemap? Sim. Ele lê o sitemap listado no robots.txt ou no local habitual e depois segue os links nas páginas que lê. Páginas listadas apenas no sitemap ainda são lidas se o robots.txt permitir. ### Posso rastrear um site que bloqueia rastreadores de IA? Não com WebReaderAPI. Se o robots.txt não permitir nosso rastreador ou todos os robôs, essas páginas são puladas e não são cobradas. Se o site declarar `Content-Signal: ai-input=no`, não o lemos para você. Nunca tentamos contornar essas escolhas. ### Posso obter os resultados enquanto o crawl ainda está rodando? Sim. `GET https://webreaderapi.com/api/v1/jobs/{job_id}` retorna as páginas lidas até o momento com um cursor; continue paginando até o job estar `done` e não restar nenhum cursor. ### Um crawl pode ler mais páginas que meu limite? Não. Os créditos são contados página por página, e o job para quando atinge o `limit` que você definiu. Páginas puladas por causa do robots.txt e páginas com falha não usam crédito. --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Pague por uma API de leitura de páginas web com cripto > Como pagar a WebReaderAPI com cripto: BTC, USDT, USDC, ETH, SOL ou LTC, a recarga mínima de US$ 25, qual rede escolher e o que fazer depois de enviar. - URL: https://webreaderapi.com/pt/crypto-payments/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Um guia passo a passo para recarregar seu saldo da WebReaderAPI com cripto e convertê-lo em créditos de página, com os erros a evitar. **Resposta rápida — Como pago a WebReaderAPI com cripto?** Recarregue seu saldo **WebReaderAPI** com pelo menos US$ 25 em BTC, USDT, USDC, ETH, SOL, LTC: envie o valor exato mostrado, na rede mostrada, e clique em "I've sent the payment". A recarga é identificada pelo valor exato e creditada após a confirmação. Depois você compra créditos de página com o saldo, a partir de US$ 3,75 por 10.000 páginas. Sem KYC. ## Com quais moedas posso pagar? Seis moedas, um saldo. USDT funciona em TRC-20 ou ERC-20, USDC em ERC-20; a página de pagamento mostra o endereço e a rede da moeda escolhida. - Bitcoin (BTC) - Tether (USDT) — TRC-20 or ERC-20 - USD Coin (USDC) — ERC-20 - Ethereum (ETH) - Solana (SOL) - Litecoin (LTC) ## Como funciona uma recarga com cripto, passo a passo? Cinco passos de uma conta vazia até uma chave de API funcionando. A única espera é a confirmação da blockchain. 1. **Escolha um valor e uma moeda** — Digite pelo menos US$ 25 e escolha BTC, USDT, USDC, ETH, SOL ou LTC. A página de pagamento converte o valor em dólares para essa moeda. 2. **Envie o valor exato** — Copie o endereço e o valor mostrados e envie-os na rede indicada pela página: uma transferência, o valor exato, sem arredondamento. 3. **Clique em "I've sent the payment"** — Avise à página que a transferência está a caminho. Se ela pedir o ID da transação, cole-o para que a transferência seja mais fácil de encontrar. 4. **Deixe a rede confirmar** — O depósito é identificado pelo valor exato e creditado assim que a rede o confirmar. Bitcoin leva mais tempo que USDT na Tron ou SOL na Solana. 5. **Compre um pacote de créditos** — Pague qualquer pacote com o saldo. Se você começou por um pacote, ele é comprado assim que o depósito for creditado, e sua chave de API aparece no dashboard. ## Qual moeda e rede devo usar? Use a moeda que você já tem, na rede que a página de pagamento indica. Uma stablecoin (USDT ou USDC) mantém o valor em dólares, então o preço que você vê é o preço que você paga. As taxas de rede e os tempos de confirmação variam por chain; a tabela nos passos acima mostra o tempo de confirmação usual de cada rede. Se você tem USDT em várias chains, escolha a que tiver a menor taxa para o seu valor. A taxa é paga pelo remetente e não faz parte do seu depósito. ## Por que existe um depósito mínimo? Porque cada pagamento nos custa verificação e contabilidade, qualquer que seja o valor. O mínimo é US$ 25; depois disso, qualquer pacote pode ser comprado com o saldo, inclusive o pacote de 10.000 páginas por US$ 3,75. O que você não gastar fica no saldo, sem data de validade. Se o pacote que você comprou custa menos que o mínimo, a parte excedente pode ser solicitada de volta em até 30 dias, em USDT ou USDC, desde que não tenha sido gasta. ## O que acontece depois que eu envio o pagamento? Clique em "I've sent the payment" na página de pagamento. Identificamos a transferência pelo valor exato, aguardamos as confirmações que a rede exige e creditamos seu saldo. Se você começou por um pacote, ele é comprado com o saldo assim que o depósito for creditado, e sua chave de API fica pronta no dashboard. Se você fechou a aba, abra a área do cliente: depósitos pendentes e creditados aparecem no histórico de pedidos. ## E se eu enviar o valor errado ou usar a rede errada? Um valor diferente não pode ser identificado por si só, e uma transferência em outra rede pode nem chegar ao endereço. Antes de enviar, confira três coisas: a moeda, a rede e o valor exato. Se aconteceu um erro, escreva para support@webreaderapi.com com o ID da transação e o ID do pedido. Não envie o número da sua conta nem sua chave de API. Fundos enviados em uma rede que a página de pagamento não mostrou podem não ser recuperáveis. ## Um pagamento em cripto pode ser reembolsado? Os reembolsos vão para o seu saldo, e não de volta para sua carteira, o que evita uma segunda taxa de rede. Um pacote usado em menos de 20% dentro de 72 horas, ou um pacote que nunca funcionou, é creditado de volta. A [política de reembolso](https://webreaderapi.com/pt/refunds/) traz as condições exatas e três exemplos. ## O que posso comprar depois que meu saldo for creditado? Qualquer pacote: 10.000 páginas por US$ 3,75, 50.000 páginas por US$ 14,25 ou 100.000 páginas por US$ 21,75, e pacotes maiores na [página de preços](https://webreaderapi.com/pt/pricing/). Os créditos nunca expiram. | Plano | Quantidade | Preço | Preço por unidade | | --- | --- | --- | --- | | Testar | 10.000 páginas | US$ 3,75 | US$ 0,38/1K páginas | | Starter | 50.000 páginas | US$ 14,25 | US$ 0,28/1K páginas | | Build | 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 Preços em USD, definidos em 2026-10-22. Todo pacote é pago com seu saldo em cripto. ## Pagamento em cripto: dúvidas comuns ### Preciso de cartão ou documento para pagar? Não. WebReaderAPI aceita apenas cripto e não pede documentos de identidade. Login pelo número da conta; e-mail é opcional. ### O preço é fixo quando começo o pagamento? A página de pagamento mostra o valor na moeda que você escolheu para aquele pagamento. Envie esse valor exato; uma stablecoin o mantém igual ao preço em dólares. ### Posso pagar créditos por requisição em vez de fazer depósito? Não. Os pagamentos passam por um saldo pré-pago, e cada leitura usa créditos dele. O saldo e os créditos nunca expiram. ### Onde vejo meus pagamentos? No histórico de pedidos da área do cliente, com o status, a moeda, a rede e o ID da transação de cada depósito. --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Índice de preços de APIs de URL para Markdown 2026: quanto custam 1.000 páginas em 21 APIs > Índice de preços de APIs de URL para Markdown e leitor de páginas web 2026: 21 APIs, custo por 1.000 páginas, páginas estáticas e JavaScript, cripto e KYC. - URL: https://webreaderapi.com/pt/data/url-to-markdown-price-index-2026/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Preços de tabela públicos de 21 APIs que convertem páginas web em Markdown ou texto para modelos, normalizados para o custo de 1.000 páginas em três volumes mensais, para páginas simples e para páginas renderizadas em navegador. Publicado pela WebReaderAPI, que é uma das APIs da tabela. **Resposta rápida — Quanto custa uma API de URL para Markdown por 1.000 páginas em 2026?** Entre 21 APIs cujos preços de tabela lemos em 2026-10-22, ler 100.000 páginas simples por mês custa uma mediana de US$ 0,99 por 1.000, e US$ 1,00 quando as páginas precisam de navegador. Em 1 milhão de páginas por mês, as medianas caem para US$ 0,774 e US$ 0,899. **WebReaderAPI**, que publica este índice, cobra US$ 0,22/1K páginas por páginas simples em 100.000. ## O índice em seis números - **$2.00** mediana por 1.000 páginas simples em 10.000 por mês (21 APIs) - **$0.99** mediana por 1.000 páginas simples em 100.000 por mês (21 APIs) - **$0.774** mediana por 1.000 páginas simples com 1 milhão por mês (20 APIs) - **$1.00** mediana por 1.000 páginas renderizadas no navegador com 100.000 por mês (18 APIs) - **$0.899** mediana por 1.000 páginas renderizadas no navegador com 1 milhão por mês (17 APIs) - **3 + 7** APIs que informam pagamento com cripto em uma conta, mais APIs que aceitam USDC por requisição (x402) ## Como o índice foi montado? Lemos a página de preços pública de cada provedor em 2026-10-22 e mantivemos apenas os valores exibidos ali; cada fonte está listada no final. Uma "página" é uma URL lida e retornada como Markdown ou texto, com o proxy padrão do provedor e sem add-on pago. - **Página simples:** sem renderização de JavaScript. **Página no navegador:** renderizada primeiro em um navegador headless; provedores que sempre renderizam (Firecrawl, Olostep, Diffbot) têm o mesmo preço nas duas tabelas. - **Preço em um volume:** a forma publicada mais barata de comprar essa quantidade de páginas todos os meses em um provedor (plano, plano mais excedente publicado ou pagamento conforme o uso), dividida pelas páginas usadas. Um plano de $99 usado para 100.000 páginas conta como $0,99 por 1.000 mesmo que inclua mais. - **Multiplicadores de créditos são aplicados**, por exemplo 5 créditos por página no navegador na ScrapingBee, ZenRows e Scrape.do. - **Camadas gratuitas são listadas, não precificadas.** APIs cobradas por tokens, tempo de navegador, volume de dados ou computação, e uma API cuja saída em Markdown não conseguimos confirmar, são listadas separadamente. WebReaderAPI é exibido como referência e não é contado nas medianas. ## Preço por 1.000 páginas simples, por volume mensal Páginas estáticas, lidas sem navegador. "—" significa não publicado ou não autoatendido nesse volume. | API | 10 mil páginas por mês | 100 mil páginas por mês | 1 milhão de páginas por mês | | --- | --- | --- | --- | | WebReaderAPI (pré-pago, nunca expira) | US$ 0,38/1K páginas | US$ 0,22/1K páginas | US$ 0,07/1K páginas | | Firecrawl | $4.40 | $0.99 | $0.749 | | Tavily Extract | $1.60 | $1.40 | $1.30 | | Exa contents | $1.00 | $1.00 | $1.00 | | Parallel Extract | $1.00 | $1.00 | $1.00 | | Linkup fetch | $1.00 | $1.00 | $1.00 | | Olostep | $2.90 | $0.99 | $0.399 | | ScrapeGraphAI | $2.00 | $1.00 | $1.25 | | Diffbot | $29.90 | $2.99 | $0.899 | | ScrapingBee | $1.90 | $0.49 | $0.099 | | ScraperAPI | $4.90 | $0.49 | $0.149 | | ZenRows | $0.50 | $0.39 | $0.199 | | Scrapfly | $3.00 | $0.30 | $0.10 | | Scrape.do | $2.90 | $0.29 | $0.099 | | Crawlbase | $2.10 | $0.764 | $0.349 | | Bright Data Web Unlocker | $1.50 | $1.50 | $1.30 | | Oxylabs Web Scraper API | $3.00 | $1.00 | $2.50 | | Decodo Web Data API | $1.90 | $0.49 | $0.249 | | Scrapeless | $1.00 | $0.90 | $0.80 | | Hyperbrowser Fetch | $3.00 | $1.00 | — | | Steel scrape | $5.00 | $5.00 | $5.00 | | Crawl4AI Cloud | $1.00 | $0.50 | $0.395 | *Preços verificados em 22 de outubro de 2026.* Preços de tabela em USD, lidos em 2026-10-22. Nossos preços: a página de preços do WebReaderAPI na mesma data. ## Preço por 1.000 páginas renderizadas no navegador, por volume mensal Páginas que precisam de JavaScript, renderizadas em um navegador headless. APIs que não documentam opção de navegador ficam de fora desta tabela. | API | 10 mil páginas por mês | 100 mil páginas por mês | 1 milhão de páginas por mês | | --- | --- | --- | --- | | WebReaderAPI (2 créditos por página) | $0,75/1 mil páginas | $0,435/1 mil páginas | $0,148/1 mil páginas | | Firecrawl | $4.40 | $0.99 | $0.749 | | Tavily Extract | $3.00 | $2.36 | $2.90 | | Linkup fetch | $5.00 | $5.00 | $5.00 | | Olostep | $2.90 | $0.99 | $0.399 | | ScrapeGraphAI | $2.00 | $1.00 | $1.25 | | Diffbot | $29.90 | $2.99 | $0.899 | | ScrapingBee | $1.90 | $0.99 | $0.599 | | ScraperAPI | $4.90 | $1.49 | $0.975 | | ZenRows | $2.50 | $0.99 | $0.549 | | Scrapfly | $3.00 | $1.00 | $0.56 | | Scrape.do | $2.90 | $0.99 | $0.699 | | Crawlbase | — | $0.99 | $0.599 | | Bright Data Web Unlocker | $1.50 | $1.50 | $1.30 | | Oxylabs Web Scraper API | $3.00 | $5.00 | $2.50 | | Decodo Web Data API | $1.90 | $0.99 | $0.999 | | Hyperbrowser Fetch | $3.00 | $1.00 | — | | Steel scrape | $5.00 | $5.00 | $5.00 | | Crawl4AI Cloud | $1.00 | $0.99 | $0.667 | *Preços verificados em 22 de outubro de 2026.* ## Por que os preços variam tanto entre as APIs? Quatro coisas explicam a maior parte da diferença. 1. **Tipo de produto.** APIs de scraping gerais (ScrapingBee, Scrape.do, ZenRows, Scrapfly) são precificadas por volume e chegam a cerca de $0,10 por 1.000 páginas simples com 1 milhão por mês. Leitores voltados a IA (Exa, Parallel, Linkup) cobram $1,00 fixo e adicionam recursos de recuperação. 2. **Multiplicadores de navegador.** Uma página no navegador custa de 2 a 10 vezes uma página simples em APIs baseadas em créditos; APIs com preço fixo cobram o mesmo pelas duas. 3. **Faixas de plano.** Muitos provedores vendem planos mensais com uma franquia grande, então usuários pequenos pagam por páginas não usadas: a mediana com 10.000 páginas simples por mês é $2,00. 4. **Expiração.** A maioria dos planos reinicia os créditos não usados todo mês; ScrapeGraphAI, Crawlbase e Crawl4AI Cloud mantêm os créditos comprados sem reinício mensal. ## Camadas gratuitas, expiração, cripto, verificação de identidade e robots.txt O que cada provedor informa nas páginas que lemos. "Não informado" significa que as páginas não diziam. | API | Plano gratuito | Validade dos créditos | Pagamento com cripto | Verificações de identidade | robots.txt | | --- | --- | --- | --- | --- | --- | | WebReaderAPI | Nenhum | Nunca | BTC, USDT, USDC, ETH, SOL, LTC | Nenhuma: sem documento, sem selfie, sem envio de arquivos | Respeitado; nunca ignorado | | Firecrawl | 1.000 créditos por mês, sem cartão | Os créditos do plano são renovados mensalmente | Não (cartões, PayPal) | Nada informado | Respeitado por padrão; substituição apenas no Enterprise | | Tavily Extract | 1.000 créditos por mês (5.000 URLs básicas) | Renovado mensalmente | Somente a seu critério (termos) | Nada informado | Não informado | | Exa contents | US$ 10 de crédito por mês | Créditos gratuitos renovados mensalmente | Por requisição, USDC (x402) | Cartão para pagamento conforme o uso | Declarado para o crawler de índice, não para requisições de usuários | | Parallel Extract | 5.000 requisições por mês | Crédito gratuito expira mensalmente | Por requisição, USDC (x402) | Cartão para o crédito mensal | Declarado para o crawler de índice, não para requisições de usuários | | Linkup fetch | US$ 20 por mês (e-mail profissional) | Não informado | Por requisição, USDC (x402) | E-mail profissional para crédito gratuito | O rastreamento (crawl) o respeita; para o fetch não é declarado | | Olostep | Teste de 500 requisições | Plano mensal; recargas duram 6 meses | Por requisição, USDC (x402) | Cartão para recargas | Ferramentas para respeitá-lo; padrão não declarado | | ScrapeGraphAI | 500 créditos | Créditos do plano não acumulam; recargas nunca expiram | Apenas agentes (MPP) | Não informado | O cliente deve cumprir (termos) | | Diffbot | 10.000 créditos por mês | Cota renovada a cada período | Não informado | Sem cartão para o plano gratuito | O rastreamento (crawl) obedece por padrão; para o Extract não é declarado | | ScrapingBee | 1.000 créditos | Sem acúmulo | Não | Cartão para planos pagos | Não informado | | ScraperAPI | 5.000 créditos por 7 dias | Expiram a cada período de cobrança | Não | Nada informado | Não informado | | ZenRows | 5.000 créditos por mês | Na renovação | Contas: não; agentes: USDC (x402) | Validação de e-mail | Não informado | | Scrapfly | 1.000 créditos uma única vez | Sem acúmulo | Não informado | KYC para todo cliente | A API de rastreamento (crawl) o respeita por padrão; pode ser desativado | | Scrape.do | 1.000 créditos por mês | Não informado | Sim (moedas não informadas) | Nada informado | Não informado | | Crawlbase | 1.000 créditos | Pagamento conforme o uso: nada expira | Não informado | Nada informado | Não informado | | Bright Data Web Unlocker | 5.000 créditos por mês | Créditos gratuitos renovados mensalmente | Não | Cartão para contas com e-mail pessoal; KYC da empresa para páginas não permitidas pelo robots.txt | Respeitado por padrão | | Oxylabs Web Scraper API | US$ 5 de crédito uma única vez | Fim do ciclo | Não | KYC para todo cliente | Não mencionado | | Decodo Web Data API | Até 10.000 requisições por mês | Os valores não utilizados expiram mensalmente | Sim (via CoinGate) | Verificação automática e depois KYC | Não informado | | Scrapeless | Teste gratuito, tamanho não informado | Mínimo pré-pago não mantido | Sim (moedas não informadas) | Nenhum para pacotes básicos | Não informado | | Hyperbrowser Fetch | 5.000 créditos | Créditos comprados: 12 meses | Por requisição, USDC (x402) | Não informado | Não informado | | Steel scrape | US$ 30 uma vez (90 dias) | Crédito de lançamento de 90 dias | Por requisição, USDC (x402) | Sem cartão | Os termos proíbem violá-lo | | Crawl4AI Cloud | 1.000 créditos por mês | Créditos comprados nunca expiram | Não informado | Sem cartão | Os termos exigem cumpri-lo | *Preços verificados em 22 de outubro de 2026.* ## Quais são as principais descobertas? - **Páginas simples são baratas em volume.** Com 1 milhão de páginas por mês, ScrapingBee ($0,099), Scrape.do ($0,099) e Scrapfly ($0,10) listam os preços mais baixos para páginas simples. - **Páginas com navegador custam mais.** Com 1 milhão por mês, Olostep ($0,399), ZenRows ($0,549) e Scrapfly ($0,56) listam os preços mais baixos para páginas com navegador. - **O reader mais conhecido não é o mais barato.** O Firecrawl lista $0,99 por 1.000 com 100.000 páginas e $0,749 com 1 milhão, com todas as páginas renderizadas. - **Cripto é raro em contas.** Scrape.do, Decodo Web Data API e Scrapeless informam pagamento em cripto; Exa contents, Parallel Extract, Linkup fetch, Olostep, ZenRows, Hyperbrowser Fetch e Steel scrape cobram USDC por requisição via x402. - **O robots.txt muitas vezes fica a cargo do cliente.** Provedores que informam um padrão que respeita o robots.txt, pelo menos em seus produtos de rastreamento (crawl): Firecrawl, Diffbot, Scrapfly, Bright Data Web Unlocker. Muitos não dizem nada. - **KYC é a exceção.** Oxylabs e Scrapfly exigem de todos os clientes; a Decodo faz uma verificação automática primeiro. ## APIs cobradas de outra forma (fora das medianas) Estas cobram por tokens, tempo de navegador, volume de dados ou computação, ou não confirmaram a saída em Markdown, então o preço por página depende das suas páginas. | API | Preço | Observação | | --- | --- | --- | | Jina Reader | $50 por 1 bilhão de tokens de saída; $500 por 11 bilhões | Cobrado por token: o custo por página depende do tamanho da página. 10 milhões de tokens grátis por nova chave, somente para uso não comercial. | | Cloudflare Browser Run | $0,09 por hora de navegador após 10 horas incluídas, mínimo mensal de $5 | Cobrado por tempo de navegador; endpoints /markdown, /content e /crawl. | | Spider | $1 por GB de conteúdo mais computação | Cobrado por volume de dados; os valores por página que publica são estimativas próprias. | | Apify Website Content Crawler | Unidades de computação ($0,13 por unidade no Business) | Cobrado por computação; os valores por página que publica são estimativas próprias. | | Zyte API | $0,13 por 1.000 requisições estáticas (website tier 1, pagamento conforme o uso); $1,01 com navegador | O preço depende de um tier que a Zyte atribui por website; a saída em Markdown não é informada nas páginas que lemos. | *Preços verificados em 22 de outubro de 2026.* ## Posso reutilizar estes dados? Sim. As tabelas desta página são publicadas sob a licença Creative Commons Attribution 4.0 (CC BY 4.0): copie e adapte com um link para esta página e a data 2026-10-22. Relêmos os preços pelo menos uma vez por mês. Se algum valor estiver errado, escreva para support@webreaderapi.com com a página que mostra o valor correto; corrigimos e registramos a mudança no [changelog](https://webreaderapi.com/pt/changelog/). ## Índice de preços: perguntas comuns ### Qual API de URL para Markdown custa menos? Depende do volume e de JavaScript. Em 2026-10-22, os preços mais baixos para páginas simples com 1 milhão de páginas por mês eram ScrapingBee a $0,099 e Scrape.do a $0,099 por 1.000; o preço mais baixo para páginas com navegador nesse volume era Olostep a $0,399. ### Quanto custa o Firecrawl por página? O Firecrawl cobra 1 crédito por página com JavaScript incluído: $19 por 5.000 créditos no Hobby, $99 por 100.000 no Standard e $749 por 1 milhão no Scale, conforme lido em sua página de preços em 2026-10-22. A extração em JSON adiciona 4 créditos por página. ### Por que o Jina Reader não está nas tabelas principais? O Jina cobra por tokens de saída (US$ 50 por 1 bilhão de tokens no pacote menor dele), então o preço por página depende do tamanho das suas páginas. Ele está listado na tabela de APIs cobradas de outra forma. ### O WebReaderAPI se conta nas medianas? O WebReaderAPI publica este índice e aparece nas primeiras linhas apenas como referência. As medianas usam os outros provedores. ### Com que frequência o índice é atualizado? Pelo menos uma vez por mês, e quando um provedor listado muda os preços públicos. A data no topo mostra a última verificação completa. ## Fontes 1. [Firecrawl: preços](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 2. [Tavily Extract: preços](https://docs.tavily.com/documentation/api-credits) — Tavily (read 2026-10-22) 3. [Exa contents: preços](https://exa.ai/pricing) — Exa (read 2026-10-22) 4. [Parallel Extract: preços](https://parallel.ai/pricing) — Parallel (read 2026-10-22) 5. [Linkup fetch: preços](https://docs.linkup.so/pages/documentation/development/pricing) — Linkup (read 2026-10-22) 6. [Olostep: preços](https://www.olostep.com/pricing) — Olostep (read 2026-10-22) 7. [ScrapeGraphAI: preços](https://scrapegraphai.com/pricing) — ScrapeGraphAI (read 2026-10-22) 8. [Diffbot: preços](https://www.diffbot.com/pricing/) — Diffbot (read 2026-10-22) 9. [ScrapingBee: preços](https://www.scrapingbee.com/pricing/) — ScrapingBee (read 2026-10-22) 10. [ScraperAPI: preços](https://www.scraperapi.com/pricing/) — ScraperAPI (read 2026-10-22) 11. [ZenRows: preços](https://docs.zenrows.com/first-steps/pricing.md) — ZenRows (read 2026-10-22) 12. [Scrapfly: preços](https://scrapfly.io/pricing) — Scrapfly (read 2026-10-22) 13. [Scrape.do: preços](https://scrape.do/pricing.md) — Scrape.do (read 2026-10-22) 14. [Crawlbase: preços](https://crawlbase.com/pricing) — Crawlbase (read 2026-10-22) 15. [Bright Data Web Unlocker: preços](https://www.bright.cn/pricing/web-unlocker) — Bright Data (read 2026-10-22) 16. [Oxylabs Web Scraper API: preços](https://oxylabs.io/pricing/web-scraper-api) — Oxylabs (read 2026-10-22) 17. [Decodo Web Data API: preços](https://help.decodo.com/docs/web-data-api-billing) — Decodo (read 2026-10-22) 18. [Scrapeless: preços](https://www.scrapeless.com/en/pricing) — Scrapeless (read 2026-10-22) 19. [Hyperbrowser Fetch: preços](https://hyperbrowser.ai/docs/pricing.md) — Hyperbrowser (read 2026-10-22) 20. [Steel scrape: preços](https://docs.steel.dev/overview/pricinglimits) — Steel (read 2026-10-22) 21. [Crawl4AI Cloud: preços](https://crawl4ai.com/) — Crawl4AI (read 2026-10-22) 22. [Jina Reader: preços](https://jina.ai/api-dashboard/pricing/) — Jina Reader (read 2026-10-22) 23. [Cloudflare Browser Run: preços](https://developers.cloudflare.com/browser-run/pricing/) — Cloudflare Browser Run (read 2026-10-22) 24. [Spider: preços](https://spider.cloud/pricing) — Spider (read 2026-10-22) 25. [Apify Website Content Crawler: preços](https://apify.com/apify/website-content-crawler) — Apify Website Content Crawler (read 2026-10-22) 26. [Zyte API: preços](https://www.zyte.com/pricing/) — Zyte API (read 2026-10-22) --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Início rápido da API de URL para Markdown: sua primeira página em dois minutos > Início rápido da API de URL para Markdown: obtenha uma chave, leia a primeira página com curl, Python ou Node.js. A partir de US$ 0,07/1K páginas, sem KYC. - URL: https://webreaderapi.com/pt/docs/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Um endpoint, um parâmetro: envie uma URL para `/read` e receba o conteúdo principal da página de volta em Markdown. Esta página leva você de um saldo vazio até uma chamada funcionando e depois aponta para todo o resto. **Resposta rápida — Como converto uma URL em Markdown com uma API?** Envie a URL para `GET https://webreaderapi.com/api/v1/read` com sua chave de API no cabeçalho `Authorization`. **WebReaderAPI** busca a página, mantém o conteúdo principal e o retorna em Markdown com título, autor, data e contagem de palavras. Uma página custa um crédito (dois se precisar de navegador), a partir de US$ 0,07/1K páginas em outubro de 2026. Sem KYC; pague com cripto. ## A API em uma tabela | Atributo | Valor | | --- | --- | | URL base | `https://webreaderapi.com/api/v1` | | Ler uma página | `GET` ou `POST https://webreaderapi.com/api/v1/read` | | Várias URLs ou um site | `POST https://webreaderapi.com/api/v1/batch` e `POST https://webreaderapi.com/api/v1/crawl`, resultados de `GET https://webreaderapi.com/api/v1/jobs/{job_id}` | | Créditos restantes | `GET https://webreaderapi.com/api/v1/credits` (grátis) | | Autenticação | Envie sua chave de API no header Authorization como Bearer token, ou no parâmetro de consulta api_key | | Cobrança | 1 crédito = 1 página lida sem navegador; 2 créditos quando a página precisa de um navegador para renderizar JavaScript. Uma requisição que falha, ou que o robots.txt de um site recusa, não é cobrada | | Nosso rastreador (crawler) | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, token de robots.txt `WebReaderAPI` | | Menor pacote | 10.000 páginas por US$ 3,75; os créditos nunca expiram | ## Como obtenho uma chave de API? Três passos, sem formulário para preencher. O mais lento é a confirmação na blockchain do seu depósito. 1. **Recarregar com cripto** — Envie pelo menos US$ 25 em BTC, USDT, USDC, ETH, SOL, LTC. Login pelo número da conta; e-mail é opcional. 2. **Compre um pacote de créditos** — 10.000 páginas por US$ 3,75 já basta para testar todas as opções com suas próprias URLs. 3. **Copie sua chave** — Sua chave de API fica pronta no dashboard assim que sua recarga em cripto é confirmada e você compra um pack. Guarde-a em uma variável de ambiente chamada WEBREADER_API_KEY. ## Como é a primeira requisição? É um GET HTTPS simples com o endereço da página no parâmetro `url`. Codifique o endereço, porque ele contém seus próprios caracteres `:` e `/`; o curl faz isso por você com `--data-urlencode`. As configurações padrão já atendem à maioria dos artigos e páginas de documentação: saída em Markdown, apenas o conteúdo principal e um navegador somente quando a página precisa de um. *curl: ler uma página* ```bash curl -sG "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/blog/first-post" ``` *Python: ler uma página e salvá-la* ```python import os import requests resp = requests.get( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"url": "https://example.com/blog/first-post"}, timeout=70, ) resp.raise_for_status() page = resp.json() print(page["title"], "-", page["word_count"], "words,", page["credits_used"], "credit(s)") with open("first-post.md", "w", encoding="utf-8") as f: f.write(page["markdown"]) ``` *Node.js 18+: ler uma página* ```javascript const params = new URLSearchParams({ url: 'https://example.com/blog/first-post' }); const res = await fetch(`https://webreaderapi.com/api/v1/read?${params}`, { headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}` }, }); const page = await res.json(); if (!res.ok) throw new Error(`${page.error.code}: ${page.error.message}`); console.log(page.title, page.word_count, 'words'); console.log(page.markdown.slice(0, 500)); ``` ## O que vem de volta? Um objeto JSON com o Markdown no campo `markdown` e os metadados da página ao lado: `title`, `description`, `author`, `published_at`, `language`, `site_name` e `word_count`. Dois campos ajudam você a conferir o que aconteceu: `final_url` é o endereço após os redirecionamentos, e `rendered` indica se um navegador foi necessário. `credits_used` mostra quanto custou a chamada: 1 para uma página simples, 2 quando `rendered` é `true`, mais um se você escolheu um `country`. A [página de formato de resposta](https://webreaderapi.com/pt/docs/response/) lista todos os campos com um exemplo. ## Quais opções vou usar mais? Cinco parâmetros cobrem a maioria das necessidades. Todos são opcionais. | Parâmetro | Use para | |---|---| | `format` | Receber `text` ou `html` limpo em vez de `markdown` | | `main_content` | Definir `false` para converter a página inteira, menus incluídos | | `render` | Forçar (`true`) ou proibir (`false`) o navegador; `auto` decide | | `include_links` | Receber os links da página como uma lista separada | | `max_chars` | Cortar páginas longas para caber no orçamento de contexto de um modelo | A [referência de leitura](https://webreaderapi.com/pt/docs/read/) descreve todos os parâmetros, incluindo `country`, `include_images` e `timeout`. ## Como confiro meus créditos restantes? Chame `GET https://webreaderapi.com/api/v1/credits` com a mesma chave. Ele retorna `credits_remaining`, `credits_used_today` e seu `concurrency_limit`, e não custa nada. Execute isso no início de um trabalho longo para que ele pare de forma limpa em vez de falhar por `402 insufficient_credits` no meio do caminho. Os créditos pré-pagos nunca expiram: as páginas não usadas ficam na sua conta até você usá-las, então um pack comprado para um projeto mantém seu valor para o próximo. ## O que acontece se um site não permite robôs? Não lemos a página, e você não é cobrado. Nosso crawler se identifica como `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` e segue o robots.txt do site. Uma página não permitida retorna `403 blocked_by_robots`; um site que recusa a requisição de outra forma retorna `502 target_refused` com o próprio status code do site. Se um site recusa nossa requisição, devolvemos a resposta dele: nunca resolvemos CAPTCHAs, nunca entramos em contas e nunca tentamos contornar um bloqueio ou um paywall. A [página de erros](https://webreaderapi.com/pt/docs/errors/) explica quais erros vale a pena tentar de novo e quais são definitivos. ## Para onde vou agora? - [Ler a referência do endpoint](https://webreaderapi.com/pt/docs/read/) — Todos os parâmetros do /read, com exemplos - [Lote e rastreamento (crawl)](https://webreaderapi.com/pt/docs/crawl/) — Até 100 URLs por lote, ou um site inteiro - [Formato da resposta](https://webreaderapi.com/pt/docs/response/) — Todos os campos da resposta - [Erros e robots.txt](https://webreaderapi.com/pt/docs/errors/) — Códigos, causas e regras de retry - [Python](https://webreaderapi.com/pt/docs/python/) — requests, async httpx, chunking para RAG - [Node.js](https://webreaderapi.com/pt/docs/node/) — fetch, um pequeno pool, polling de crawl - [curl e jq](https://webreaderapi.com/pt/docs/curl/) — Receitas para o terminal - [servidor MCP](https://webreaderapi.com/pt/docs/mcp/) — Uma ferramenta read_url para Claude e Cursor - [LangChain e LlamaIndex](https://webreaderapi.com/pt/docs/langchain/) — Loaders e ferramentas para RAG - [chamada de função da OpenAI](https://webreaderapi.com/pt/docs/openai/) — Um schema e loop de ferramenta read_url - [n8n](https://webreaderapi.com/pt/docs/n8n/) — Ferramenta HTTP Request para um AI Agent - [OpenClaw](https://webreaderapi.com/pt/docs/openclaw/) — Adicionar o servidor MCP ao lado do web_fetch ## Início rápido: perguntas comuns ### Existe um SDK para instalar? Não. WebReaderAPI é uma API HTTPS simples, então qualquer cliente HTTP funciona. A documentação traz código para copiar e colar em Python, Node.js e curl, e definições de ferramentas para MCP, LangChain, LlamaIndex e OpenAI function calling. Nada é publicado como pacote. ### Posso enviar a chave na URL em vez de no header? Sim, como o parâmetro de consulta `api_key`. O header `Authorization: Bearer` é mais seguro, porque URLs muitas vezes acabam em logs e no histórico do navegador. Crie várias chaves de API, por exemplo uma por agente ou projeto, e revogue qualquer uma delas no seu dashboard. ### Uma página com falha consome um crédito? Não. 1 crédito = 1 página lida sem navegador; 2 créditos quando a página precisa de um navegador para renderizar JavaScript. Uma requisição que falha, ou que o robots.txt de um site recusa, não é cobrada. Só é cobrada a página que retorna com conteúdo. ### Posso testar antes de comprar? Não há plano gratuito. Não há plano gratuito: o menor pack é a forma de testar, pago a partir da recarga mínima, e o valor adicionado apenas para atingir essa recarga mínima pode ser devolvido sob solicitação em até 30 dias, em USDT ou USDC, enquanto não for gasto. --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # API de batch e crawl: leia muitas URLs ou um site inteiro > API de batch e crawl: leia até 100 URLs por job ou um site de até 10.000 páginas, com robots.txt e Crawl-delay respeitados. Sem KYC, pague com cripto. - URL: https://webreaderapi.com/pt/docs/crawl/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Dois endpoints iniciam jobs em segundo plano: `/batch` para uma lista de até 100 URLs, `/crawl` para um site. Ambos retornam um ID de job; você coleta as páginas em `/jobs/{job_id}`, uma página de resultados por vez. **Resposta rápida — Como faço para rastrear (crawl) um site para Markdown com o WebReaderAPI?** Envie a URL inicial para `POST https://webreaderapi.com/api/v1/crawl` com uma `limit` de página. O **WebReaderAPI** lê o site em segundo plano, apenas no mesmo domínio, seguindo o sitemap, o robots.txt e o Crawl-delay, até 10.000 páginas por job. Colete as páginas em Markdown a partir do job, uma página de resultados por vez. Cada página lida custa 1 crédito (2 com navegador), a partir de US$ 0,07/1K páginas em outubro de 2026. Sem KYC; pague com cripto. ## Jobs em resumo | Atributo | Valor | | --- | --- | | Batch | Até 100 URLs por job em lote: `POST https://webreaderapi.com/api/v1/batch` | | Rastreamento (crawl) | Rastreie um site por job, até 10.000 páginas, seguindo o sitemap, o robots.txt e o Crawl-delay do site: `POST https://webreaderapi.com/api/v1/crawl` | | Resultados | `GET https://webreaderapi.com/api/v1/jobs/{job_id}`, depois `?cursor=…` para a próxima página de resultados | | Cobrança | Cada página lida é cobrada como uma chamada `/read`; páginas ignoradas pelo robots.txt e páginas com falha não custam nada | | Escopo de um crawl | Um domínio; links para outros domínios são listados, mas não lidos | | Cancelar um job | Não disponível na v1: defina `limit` com o número máximo de páginas que você está disposto a pagar | ## Iniciar um job de batch `POST /api/v1/batch` Lê até 100 URLs em segundo plano com as mesmas opções. As opções usam os nomes e valores de [/read](https://webreaderapi.com/pt/docs/read/). A resposta é o ID do job; os valores são ilustrativos. Autenticação: chave de API no header `Authorization: Bearer API_KEY`. **Corpo da requisição** | Campo | Tipo | Obrigatório | Descrição | | --- | --- | --- | --- | | `urls` | array of strings | Sim | 1 a 100 URLs http ou https. Duplicatas são lidas uma vez. | | `options` | object | Não | Qualquer parâmetro `/read` exceto `url`: `format`, `main_content`, `render`, `include_links`, `include_images`, `country`, `max_chars`, `timeout`. | *Exemplo: three articles as Markdown* ```json { "urls": [ "https://example.com/blog/post-1", "https://example.com/blog/post-2", "https://example.org/news/launch" ], "options": { "format": "markdown", "max_chars": 50000 } } ``` **Resposta** `202 Accepted` ```json { "job_id": "job_5c1e8a90d2" } ``` *curl* ```bash curl -s "https://webreaderapi.com/api/v1/batch" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ -H "Content-Type: application/json" \ -d '{"urls": ["https://example.com/blog/post-1", "https://example.com/blog/post-2"], "options": {"format": "markdown"}}' ``` *Python* ```python import os import requests resp = requests.post( "https://webreaderapi.com/api/v1/batch", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, json={"urls": ["https://example.com/blog/post-1", "https://example.com/blog/post-2"], "options": {"format": "markdown"}}, timeout=30, ) print(resp.json()["job_id"]) ``` *Node.js* ```javascript const res = await fetch('https://webreaderapi.com/api/v1/batch', { method: 'POST', headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ urls: ['https://example.com/blog/post-1', 'https://example.com/blog/post-2'], options: { format: 'markdown' } }), }); console.log((await res.json()).job_id); ``` ## Iniciar um trabalho de rastreamento (crawl) `POST /api/v1/crawl` Lê um site a partir de uma URL inicial, em largura. O rastreador permanece no domínio da URL inicial, usa o sitemap indicado no robots.txt ou encontrado em `/sitemap.xml` e respeita o robots.txt e o Crawl-delay. Os valores são ilustrativos. Autenticação: chave de API no header `Authorization: Bearer API_KEY`. **Corpo da requisição** | Campo | Tipo | Obrigatório | Descrição | | --- | --- | --- | --- | | `url` | string | Sim | A página inicial, como a página inicial de um site de documentação. | | `limit` | integer | Não | Máximo de páginas a ler, até 10.000. O trabalho para quando atinge esse número. | | `max_depth` | integer | Não | Máximo de passos de link a partir da URL inicial. | | `include_paths` | array of strings | Não | Padrões simples de caminho a manter, como `/docs/*`. | | `exclude_paths` | array of strings | Não | Padrões simples de caminho a ignorar, como `/blog/tag/*`. | | `options` | object | Não | Qualquer parâmetro `/read` exceto `url`, aplicado a cada página. | *Exemplo: the docs section of a site, 500 pages at most* ```json { "url": "https://docs.example.com/", "limit": 500, "max_depth": 3, "include_paths": [ "/docs/*" ], "exclude_paths": [ "/docs/archive/*" ], "options": { "format": "markdown" } } ``` **Resposta** `202 Accepted` ```json { "job_id": "job_8b27f41c0e" } ``` *curl* ```bash curl -s "https://webreaderapi.com/api/v1/crawl" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url": "https://docs.example.com/", "limit": 500, "include_paths": ["/docs/*"]}' ``` *Python* ```python import os import requests resp = requests.post( "https://webreaderapi.com/api/v1/crawl", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, json={"url": "https://docs.example.com/", "limit": 500, "include_paths": ["/docs/*"]}, timeout=30, ) print(resp.json()["job_id"]) ``` *Node.js* ```javascript const res = await fetch('https://webreaderapi.com/api/v1/crawl', { method: 'POST', headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ url: 'https://docs.example.com/', limit: 500, include_paths: ['/docs/*'] }), }); console.log((await res.json()).job_id); ``` ## Obter status e resultados do trabalho `GET /api/v1/jobs/{job_id}` Retorna o status do trabalho e os próximos resultados prontos. Cada item de `results` é uma resposta `/read` completa ou `{url, error}` para uma página que não pôde ser lida. Quando `next_cursor` estiver presente, chame novamente com `cursor` definido como ele; quando estiver ausente, ainda não há mais resultados prontos. Os valores são ilustrativos. Autenticação: chave de API no header `Authorization: Bearer API_KEY`. **Parâmetros** | Nome | Em | Tipo | Obrigatório | Descrição | | --- | --- | --- | --- | --- | | `job_id` | path | string | Sim | O ID retornado por `/batch` ou `/crawl`. | | `cursor` | query | string | Não | O valor de `next_cursor` da chamada anterior, para obter os resultados seguintes. | **Resposta** `200` ```json { "job_id": "job_8b27f41c0e", "status": "running", "results": [ { "url": "https://docs.example.com/docs/install", "final_url": "https://docs.example.com/docs/install", "status_code": 200, "rendered": false, "credits_used": 1, "title": "Install", "markdown": "# Install\n\nRun the installer...", "word_count": 418 }, { "url": "https://docs.example.com/docs/private", "error": { "code": "blocked_by_robots", "message": "robots.txt disallows this page for WebReaderAPI." } } ], "next_cursor": "c_000002", "credits_used": 1 } ``` *curl* ```bash curl -sG "https://webreaderapi.com/api/v1/jobs/job_8b27f41c0e" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ -d cursor=c_000002 ``` *Python* ```python import os import requests resp = requests.get( "https://webreaderapi.com/api/v1/jobs/job_8b27f41c0e", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"cursor": "c_000002"}, timeout=30, ) job = resp.json() print(job["status"], len(job["results"]), job.get("next_cursor")) ``` *Node.js* ```javascript const res = await fetch('https://webreaderapi.com/api/v1/jobs/job_8b27f41c0e?cursor=c_000002', { headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}` }, }); const job = await res.json(); console.log(job.status, job.results.length, job.next_cursor); ``` ## Como aguardo a conclusão de um trabalho? Faça polling em `/jobs/{job_id}` e mantenha o cursor. Processe os resultados recebidos e chame novamente com `cursor` definido como `next_cursor`. Quando `next_cursor` estiver ausente e `status` for `done`, você tem tudo; quando estiver ausente e o trabalho ainda estiver `running`, aguarde e pergunte de novo com o mesmo cursor. Comece o polling a cada 2 segundos e dobre a espera até 30 segundos enquanto nada novo chegar. Um rastreamento que respeita o Crawl-delay de um site pode demorar, então uma espera longa é normal e não custa nada. *Python: fazer polling de um trabalho e salvar cada página como um arquivo .md* ```python import os import pathlib import re import time import requests JOBS = "https://webreaderapi.com/api/v1/jobs" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} def save_job(job_id, folder="pages"): out = pathlib.Path(folder) out.mkdir(exist_ok=True) cursor, wait, saved = None, 2, 0 while True: params = {"cursor": cursor} if cursor else {} job = requests.get(f"{JOBS}/{job_id}", headers=HEADERS, params=params, timeout=30).json() for item in job["results"]: if "error" in item: print("skipped", item["url"], item["error"]["code"]) continue name = re.sub(r"[^a-z0-9]+", "-", item["final_url"].lower()).strip("-")[:120] (out / f"{name}.md").write_text(item["markdown"], encoding="utf-8") saved += 1 if job.get("next_cursor"): cursor, wait = job["next_cursor"], 2 continue if job["status"] == "done": return saved time.sleep(wait) wait = min(wait * 2, 30) if __name__ == "__main__": print(save_job("job_8b27f41c0e"), "pages saved") ``` ## Quais páginas um rastreamento lê? Um rastreamento começa na sua URL e avança um passo de link por vez, em largura, até `max_depth`. Ele também lê o sitemap do site, a partir do endereço indicado no robots.txt ou de `/sitemap.xml`, para encontrar páginas para as quais poucos links apontam. - **Somente o mesmo domínio.** Links para outros domínios são listados nos resultados quando você pede `include_links`, mas não são lidos. - **Filtros de caminho.** `include_paths` e `exclude_paths` aceitam padrões simples como `/blog/*`. - **Uma cópia por página.** Quando um site declara uma URL canônica, uma página alcançada por vários endereços é lida uma vez. - **Um limite rígido.** O trabalho termina quando tiver lido `limit` páginas. ## Como um rastreamento respeita o site? Cada requisição carrega o User-Agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, e o rastreador segue as regras do robots.txt para `WebReaderAPI`, ou para todos os robôs quando nenhum o nomeia. Páginas não permitidas são ignoradas e aparecem em `results` com o erro `blocked_by_robots`; elas não custam nada. Quando o robots.txt define um `Crawl-delay`, o rastreador espera esse tempo entre duas requisições ao site. Se um site declara Content-Signal: ai-input=no no seu robots.txt, não lemos as páginas dele para você. Se um site recusa nossa requisição, devolvemos a resposta dele: nunca resolvemos CAPTCHAs, nunca entramos em contas e nunca tentamos contornar um bloqueio ou um paywall. ## Quanto custa um rastreamento? Cada página lida custa o que custaria uma chamada `/read`: 1 crédito, 2 se a página precisou de um navegador, mais 10 com `country`. Páginas ignoradas e com falha são grátis. O campo `credits_used` do trabalho soma o que foi cobrado até agora. Um site de documentação de 500 páginas lido sem navegador usa cerca de 500 créditos, o que o pack 10.000 páginas (US$ 3,75) cobre muitas vezes. Como um trabalho não pode ser cancelado na v1, `limit` é o seu teto de gastos: defina-o com o máximo de páginas que você está disposto a pagar. ## Batch e crawl: dúvidas comuns ### Devo usar /batch ou muitas chamadas /read? Use `/batch` quando você já tem as URLs e não precisa de cada resposta na hora. Isso poupa você de gerenciar concorrência e retries. Use `/read` quando um agente precisa de uma página agora. ### Por quanto tempo os resultados de um trabalho ficam guardados? Colete-os assim que estiverem prontos. Os resultados aguardam até você buscá-los; depois de entregues, nenhuma cópia do conteúdo da página é mantida, então armazene o que precisar do seu lado. ### Um rastreamento pode seguir links para outros sites? Não. Um rastreamento lê um domínio. Outros domínios aparecem como links quando você os pede, e você pode enviar essas URLs para `/batch` se quiser que sejam lidas. ### Posso parar um rastreamento que já começou? Não na v1. O trabalho para em `limit` páginas, então escolha um limite que caiba no seu orçamento. Páginas já lidas continuam cobradas; páginas nunca lidas não custam nada. --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Converter página web em Markdown com curl e jq > Converta páginas web em Markdown pelo terminal com curl e jq: salve páginas, liste links e verifique créditos. A partir de US$ 0,07/1K páginas. - URL: https://webreaderapi.com/pt/docs/curl/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Tudo o que a API faz cabe em um comando de shell de uma linha. Estas receitas usam curl para chamar a API e jq para extrair campos do JSON, com uma versão para PowerShell no Windows no final. **Resposta rápida — Como converto uma página web em Markdown pela linha de comando?** Execute `curl -sG https://webreaderapi.com/api/v1/read --data-urlencode "url=…"` com sua chave em um cabeçalho `Authorization: Bearer` e canalize a resposta para `jq -r .markdown`. **WebReaderAPI** retorna o conteúdo principal da página como Markdown com seus metadados. Uma página simples usa 1 crédito, a partir de US$ 0,07/1K páginas em outubro de 2026. Sem KYC; pague com cripto. ## Como configuro o terminal? Instale curl e jq, que a maioria dos sistemas Linux e macOS já tem, e exporte sua chave uma vez por sessão. Todas as receitas abaixo leem a chave de `$WEBREADER_API_KEY`, então ela nunca aparece no seu histórico do shell como parte de um comando. Use `-G` com `--data-urlencode` para requisições GET: o curl então codifica o endereço da página para você, o que importa porque os endereços contêm `?`, `&` e `=` próprios. *Definir a chave e salvar uma página como arquivo .md* ```bash export WEBREADER_API_KEY="your-key" curl -sG "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/guides/compost" \ | jq -r '.markdown' > compost.md ``` ## Como vejo o que uma chamada retornou e quanto custou? Peça ao jq os metadados em vez do conteúdo. `final_url` mostra para onde os redirecionamentos levaram, `rendered` informa se um navegador foi usado, e `credits_used` é quanto a chamada custou. Se a resposta for um erro, o mesmo filtro imprime os campos de `null`; imprima `.error` para ler o código e a mensagem. *Apenas os metadados, ou o erro se houver* ```bash curl -sG "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/guides/compost" \ | jq '.error // {title, final_url, rendered, credits_used, word_count}' ``` ## Como listo os links de uma página? Adicione `include_links=true` e transforme a lista `links` em linhas separadas por tabulação. Isso te dá um mapa rápido dos links de saída de uma página, que você pode ordenar, filtrar com grep ou alimentar um job em lote. *Links como texto e URL, um por linha* ```bash curl -sG "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/docs/" \ -d include_links=true \ | jq -r '.links[] | "\(.text)\t\(.url)"' | sort -u ``` ## Como leio uma página em JavaScript ou um PDF? Adicione `-d render=true` para uma página que monta o conteúdo com JavaScript; ela então custa 2 créditos. Um PDF não precisa de nada especial: envie a URL e o texto volta em `markdown`. Arquivos PDF de até 20 MB e 100 páginas são convertidos em Markdown, a 1 crédito por bloco iniciado de 10 páginas. *Uma página renderizada, depois um PDF* ```bash curl -sG "https://webreaderapi.com/api/v1/read" -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/app/changelog" -d render=true \ | jq -r '.markdown' > changelog.md curl -sG "https://webreaderapi.com/api/v1/read" -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/files/annual-report.pdf" \ | jq -r '.markdown' > annual-report.md ``` ## Como rodo um job em lote a partir do shell? Envie um corpo JSON com suas URLs para `/batch`, guarde o `job_id` e depois leia o job. Um pequeno loop espera até o job ficar `done` e imprime o título ou o código de erro de cada página. Para jobs longos, acompanhe `next_cursor` como mostrado na [página de lote e rastreamento](https://webreaderapi.com/pt/docs/crawl/). *Lote de três URLs, depois esperar o resultado* ```bash JOB=$(curl -s "https://webreaderapi.com/api/v1/batch" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ -H "Content-Type: application/json" \ -d '{"urls": ["https://example.com/a", "https://example.com/b", "https://example.com/c"]}' \ | jq -r '.job_id') until [ "$(curl -s "https://webreaderapi.com/api/v1/jobs/$JOB" -H "Authorization: Bearer $WEBREADER_API_KEY" | jq -r '.status')" = "done" ]; do sleep 5 done curl -s "https://webreaderapi.com/api/v1/jobs/$JOB" -H "Authorization: Bearer $WEBREADER_API_KEY" \ | jq -r '.results[] | "\(.url)\t\(.title // .error.code)"' ``` ## Como verifico meus créditos? Chame `/credits`; é grátis. Retorna `credits_remaining`, `credits_used_today` e seu `concurrency_limit`. Os créditos pré-pagos nunca expiram: as páginas não usadas ficam na sua conta até você usá-las. *Créditos restantes* ```bash curl -s "https://webreaderapi.com/api/v1/credits" -H "Authorization: Bearer $WEBREADER_API_KEY" | jq '.credits_remaining' ``` ## Qual é a versão em PowerShell no Windows? `Invoke-RestMethod` faz o parse do JSON para você, então não precisa de jq. Monte a consulta com `[uri]::EscapeDataString` para codificar o endereço da página e passe a chave em uma tabela de headers. *PowerShell: salvar uma página* ```powershell $headers = @{ Authorization = "Bearer $env:WEBREADER_API_KEY" } $target = [uri]::EscapeDataString('https://example.com/guides/compost') $page = Invoke-RestMethod -Uri "https://webreaderapi.com/api/v1/read?url=$target" -Headers $headers $page.markdown | Out-File -Encoding utf8 compost.md "$($page.title): $($page.word_count) words, $($page.credits_used) credit(s)" ``` ## curl: perguntas frequentes ### Por que minha URL com & falha? Porque o shell ou o curl a divide. Coloque todo o argumento `url=…` entre aspas e passe-o com `--data-urlencode`, como nas receitas acima; o curl então codifica `&`, `?` e `=` dentro do endereço da página. ### Como vejo o status HTTP de um erro? Adicione `-w '\n%{http_code}\n'` para imprimi-lo após o corpo, ou `-i` para ver todos os headers. O `error.code` do corpo é o valor estável para testar em scripts. ### Uma chamada com falha é cobrada? Não. 1 crédito = 1 página lida sem navegador; 2 créditos quando a página precisa de um navegador para renderizar JavaScript. Uma requisição que falha, ou que o robots.txt de um site recusa, não é cobrada. --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Erros, recusas por robots.txt e retentativas > Todos os códigos de erro do WebReaderAPI: recusas por robots.txt, recusas do site, timeouts e erros de crédito, quais tentar de novo e por que nenhum é cobrado. - URL: https://webreaderapi.com/pt/docs/errors/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Cada erro tem um status HTTP, um `code` estável e uma `message` legível. Nenhum deles consome um crédito. Alguns valem uma retentativa; as recusas que vêm de um site são definitivas, e nós nunca contornamos isso. **Resposta rápida — O que significam os códigos de erro do WebReaderAPI, e quais devo tentar de novo?** Os erros **WebReaderAPI** vêm em três grupos, e nenhum deles é jamais cobrado. Problemas na requisição (`invalid_url`, `invalid_api_key`, `insufficient_credits`) exigem uma correção do seu lado. Decisões do site (`blocked_by_robots`, `blocked_by_site_policy`, `target_refused`) são definitivas. Falhas temporárias (`fetch_failed`, `fetch_timeout`, `concurrency_limit`) podem ser tentadas de novo com backoff. Os créditos começam em US$ 0,07/1K páginas, pagos com cripto e sem KYC. ## Quais códigos de erro a API pode retornar? O corpo é sempre `{"error": {"code", "message"}}`, mais `target_status` quando a recusa veio do site. | HTTP | `code` | Causa | Tentar novamente? | | --- | --- | --- | --- | | 400 | `invalid_url` | Não é http ou https, muito longo, ou um endereço privado, local ou de metadados de nuvem | Não: corrija a URL | | 400 | `invalid_parameter` | Um parâmetro tem um valor fora da lista ou do intervalo | Não: corrija a requisição | | 401 | `invalid_api_key` | Chave ausente, errada ou revogada | Não: verifique a chave | | 402 | `insufficient_credits` | Seu saldo não tem mais créditos | Depois de comprar um pacote | | 403 | `blocked_by_robots` | O robots.txt do site não permite a página para o WebReaderAPI ou para todos os robôs | Não: definitivo | | 403 | `blocked_by_site_policy` | O site declara `Content-Signal: ai-input=no` | Não: definitivo | | 422 | `unsupported_content` | Um tipo que não lemos (vídeo, arquivo) ou um arquivo grande demais | Não | | 429 | `concurrency_limit` | Muitas das suas requisições estão rodando ao mesmo tempo | Sim, com backoff | | 502 | `target_refused` | O site recusou: 403, 429, uma página de desafio ou uma barreira de login; o status está em `target_status` | Não: definitivo | | 502 | `fetch_failed` | Erro de DNS, TLS ou conexão, ou o site respondeu 404 ou 410 | Uma ou duas vezes, com backoff | | 504 | `fetch_timeout` | O site não respondeu dentro de `timeout` | Sim, com backoff ou um timeout maior | ## Por que robots.txt e recusas do site são definitivos? Porque são a decisão do dono do site, e o WebReaderAPI é feito para segui-la. Respeitamos o robots.txt: nosso crawler se identifica como WebReaderAPI, segue as regras escritas para ele ou para todos os robôs e não lê uma página que o site proíbe. Páginas recusadas não são cobradas. Se um site declara Content-Signal: ai-input=no no seu robots.txt, não lemos as páginas dele para você. Quando um site recusa uma requisição de outra forma, com um 403, um 429, uma página de desafio ou um formulário de login, você recebe `target_refused` e o status do próprio site em `target_status`. Se um site recusa nossa requisição, devolvemos a resposta dele: nunca resolvemos CAPTCHAs, nunca entramos em contas e nunca tentamos contornar um bloqueio ou um paywall. Tentar a mesma URL de novo um minuto depois normalmente dará a mesma resposta, então trate esses códigos como um resultado, não como uma falha: registre-os e siga em frente. ## Como verifico por que uma página foi recusada? Abra o `/robots.txt` do site e procure um grupo que nomeie `WebReaderAPI`, ou o grupo `*` que se aplica a todos os robôs. Uma linha `Disallow` que corresponde ao caminho explica um `blocked_by_robots`. Uma linha como `Content-Signal: ai-input=no` explica um `blocked_by_site_policy`. Mantemos uma cópia de cada robots.txt por no máximo 24 horas. Se um site acabou de abrir uma seção para robôs, a mudança pode levar até um dia para valer. Os donos de sites podem ler como nosso crawler se comporta, e como permiti-lo ou bloqueá-lo, na [nossa página do crawler](https://webreaderapi.com/pt/bot/). ## Como devo tentar novamente falhas temporárias? Tente novamente apenas `concurrency_limit`, `fetch_timeout` e, uma ou duas vezes, `fetch_failed`. Espere antes de cada nova tentativa e dobre a espera a cada vez, com um pouco de jitter aleatório para que workers paralelos não tentem juntos. Pare após 4 ou 5 tentativas. Para `concurrency_limit`, a melhor solução é enviar menos requisições ao mesmo tempo: Cada conta tem um limite de quantas páginas lê ao mesmo tempo; seu dashboard mostra esse limite, e o suporte pode aumentá-lo. Para `fetch_timeout`, aumente `timeout` até 60 segundos antes de tentar novamente um site lento. Tentativas não custam nada, porque uma tentativa que falha nunca é cobrada. *Python: tente novamente apenas os erros que podem mudar* ```python import os import random import time import requests API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} RETRY = {"concurrency_limit", "fetch_timeout", "fetch_failed"} FINAL = {"blocked_by_robots", "blocked_by_site_policy", "target_refused", "unsupported_content"} def read_page(url, attempts=5, **options): wait = 1.0 for attempt in range(1, attempts + 1): resp = requests.get(API, headers=HEADERS, params={"url": url, **options}, timeout=75) if resp.status_code == 200: return resp.json() error = resp.json().get("error", {}) code = error.get("code", "unknown") if code in FINAL: return {"url": url, "skipped": code, "target_status": error.get("target_status")} if code not in RETRY or attempt == attempts or (code == "fetch_failed" and attempt >= 3): raise RuntimeError(f"{code}: {error.get('message')}") time.sleep(wait + random.uniform(0, wait / 2)) wait = min(wait * 2, 30) raise RuntimeError("unreachable") if __name__ == "__main__": print(read_page("https://example.com/blog/first-post", max_chars=20000).get("title")) ``` *Node.js: a mesma regra com backoff exponencial* ```javascript const RETRY = new Set(['concurrency_limit', 'fetch_timeout', 'fetch_failed']); const FINAL = new Set(['blocked_by_robots', 'blocked_by_site_policy', 'target_refused', 'unsupported_content']); const sleep = (ms) => new Promise((r) => setTimeout(r, ms)); export async function readPage(url, options = {}, attempts = 5) { let wait = 1000; for (let attempt = 1; attempt <= attempts; attempt++) { const params = new URLSearchParams({ url, ...options }); const res = await fetch(`https://webreaderapi.com/api/v1/read?${params}`, { headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}` }, }); const body = await res.json(); if (res.ok) return body; const code = body.error?.code ?? 'unknown'; if (FINAL.has(code)) return { url, skipped: code, target_status: body.error.target_status }; if (!RETRY.has(code) || attempt === attempts) throw new Error(`${code}: ${body.error?.message}`); await sleep(wait + Math.random() * (wait / 2)); wait = Math.min(wait * 2, 30000); } } ``` ## E os erros dentro de um lote ou crawl? Um job não para porque uma página falha. Essa página aparece em `results` como `{url, error}` com os mesmos códigos acima, e não custa nada. Um rastreamento (crawl) que encontra `blocked_by_robots` em uma seção simplesmente lê o restante do site. Ao final de um job, conte os códigos de erro. Muitos `target_refused` em um site significam que o site não aceita leitores automatizados; muitos `fetch_timeout` significam que ele é lento, e um `timeout` maior nas opções do job pode ajudar. ## Erros: dúvidas frequentes ### Sou cobrado por uma página que o robots.txt bloqueia? Não. 1 crédito = 1 página lida sem navegador; 2 créditos quando a página precisa de um navegador para renderizar JavaScript. Uma requisição que falha, ou que o robots.txt de um site recusa, não é cobrada. O mesmo vale para todos os outros erros desta página. ### Você consegue ler uma página que bloqueia seu crawler se eu pedir? Não. Seguimos a escolha do dono do site, e a política é a mesma para todos os clientes. Se o site for seu, adicione uma regra para `WebReaderAPI` no seu robots.txt; a [página do crawler](https://webreaderapi.com/pt/bot/) mostra como. ### Por que recebo fetch_failed para uma página que existe? O site pode ter ficado fora do ar, ter demorado a aceitar uma conexão TLS ou estar retornando 404 para clientes automatizados. Tente de novo uma ou duas vezes com backoff. Se continuar falhando, verifique o endereço em um navegador. ### O que meu agente deve dizer ao usuário após uma recusa? Algo simples, como: o site não permite a leitura automatizada dessa página. Depois, deixe o modelo usar outras fontes. Retornar o código de erro como resultado da ferramenta é o suficiente para a maioria dos modelos. --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # LangChain e LlamaIndex: um carregador de páginas web e uma ferramenta read_url > Carregador de páginas web para LangChain e LlamaIndex: uma ferramenta read_url e um document loader em Python. Sem KYC, pagar com cripto. - URL: https://webreaderapi.com/pt/docs/langchain/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Duas formas de usar a API em uma stack de IA em Python: carregar páginas como documentos para recuperação ou dar a um agente uma ferramenta `read_url`. As mesmas 20 linhas de integração servem para LangChain e LlamaIndex. **Resposta rápida — Como carrego páginas web no LangChain ou LlamaIndex como Markdown limpo?** Chame o endpoint `/read` da **WebReaderAPI** e envolva cada resposta em um `Document`: o Markdown como conteúdo, `final_url` e o título como metadados. Para agentes, exponha a mesma chamada como uma ferramenta `read_url`. Cada página custa 1 crédito, 2 com navegador, a partir de US$ 0,07/1K páginas em outubro de 2026. Nenhum pacote nosso é necessário. Sem KYC; pagar com cripto. ## Por que documentos Markdown e não HTML bruto? Porque a recuperação funciona sobre texto, e o Markdown mantém a estrutura que importa enquanto descarta o resto. Os títulos sobrevivem, então um splitter pode cortar nas mudanças de tópico. Listas e tabelas sobrevivem, então passos e especificações ficam juntos. Navegação, banners de cookies e anúncios somem, então não poluem seus embeddings nem desperdiçam tokens. Os metadados vêm da mesma chamada: `final_url` como a fonte a citar, `title`, `published_at` e `language` para filtragem. *reader.py: o helper compartilhado (salve ao lado do seu código)* ```python import os import requests API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} class PageError(Exception): pass def read_page(url, **options): resp = requests.get(API, headers=HEADERS, params={"url": url, **options}, timeout=75) body = resp.json() if resp.status_code != 200: raise PageError(body["error"]["code"]) return body ``` ## Como construção um document loader do LangChain? Transforme cada página em um `langchain_core.documents.Document` e depois divida por títulos com `MarkdownHeaderTextSplitter` do pacote `langchain-text-splitters`. Cada chunk mantém o caminho dos títulos nos metadados, e você adiciona a URL de origem para que toda resposta possa apontar de volta para a página. Páginas ignoradas, como as recusadas pelo robots.txt, lançam `PageError` com o código; registre no log e continue. *LangChain: carregar e dividir páginas* ```python from langchain_core.documents import Document from langchain_text_splitters import MarkdownHeaderTextSplitter from reader import PageError, read_page splitter = MarkdownHeaderTextSplitter(headers_to_split_on=[("#", "h1"), ("##", "h2"), ("###", "h3")]) def load_pages(urls): chunks = [] for url in urls: try: page = read_page(url) except PageError as exc: print("skipped", url, exc) continue for part in splitter.split_text(page["markdown"]): part.metadata.update({"source": page["final_url"], "title": page.get("title", "")}) chunks.append(part) return chunks docs = load_pages(["https://example.com/docs/install", "https://example.com/docs/configure"]) print(len(docs), "chunks", isinstance(docs[0], Document) if docs else "") ``` ## Como dou a um agente LangChain uma ferramenta read_url? Decore uma função com `@tool` de `langchain_core.tools`. A docstring vira a descrição da ferramenta que o modelo lê, então diga o que a ferramenta retorna e quando usá-la. Retorne texto simples: uma linha de título, a fonte e o Markdown, cortado com `max_chars` para caber no seu modelo. Vincule a ferramenta a qualquer modelo de chat que suporte tool calling, ou passe-a para o construtor do seu agente. O modelo então chama `read_url` com uma URL da conversa ou de um resultado de pesquisa. *LangChain: a ferramenta read_url* ```python import os from langchain.chat_models import init_chat_model from langchain_core.tools import tool from reader import PageError, read_page @tool def read_url(url: str, max_chars: int = 20000) -> str: """Read a public web page and return its main content as Markdown, with its title and source URL.""" try: page = read_page(url, max_chars=max_chars) except PageError as exc: return "Could not read the page: " + str(exc) return "# " + (page.get("title") or url) + "\nSource: " + page["final_url"] + "\n\n" + page["markdown"] model = init_chat_model(os.environ.get("CHAT_MODEL", "openai:gpt-4.1-mini")).bind_tools([read_url]) reply = model.invoke("Summarise https://example.com/blog/first-post in three bullet points.") print(reply.tool_calls) ``` ## Como faço o mesmo no LlamaIndex? O LlamaIndex usa sua própria classe `Document` com `text` e `metadata`, e `FunctionTool.from_defaults` para transformar uma função em ferramenta. O helper continua o mesmo. Construa um índice a partir dos documentos com `VectorStoreIndex.from_documents`, que usa o modelo de embedding que suas configurações do LlamaIndex indicarem. *LlamaIndex: indexar um crawl, e uma ferramenta read_url* ```python import os import time import requests from llama_index.core import Document, VectorStoreIndex from llama_index.core.tools import FunctionTool from reader import HEADERS, PageError, read_page def crawl_pages(start_url, limit=200): job = requests.post("https://webreaderapi.com/api/v1/crawl", headers=HEADERS, json={"url": start_url, "limit": limit}, timeout=30).json() pages, cursor = [], None while True: params = {"cursor": cursor} if cursor else {} res = requests.get("https://webreaderapi.com/api/v1/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=30).json() pages += [r for r in res["results"] if "error" not in r] cursor = res.get("next_cursor") if not cursor and res["status"] == "done": return pages if not cursor: time.sleep(5) pages = crawl_pages("https://docs.example.com/") docs = [Document(text=p["markdown"], metadata={"source": p["final_url"], "title": p.get("title", "")}) for p in pages] index = VectorStoreIndex.from_documents(docs) print(index.as_query_engine().query("How do I install the product?")) def read_url(url: str, max_chars: int = 20000) -> str: """Read a public web page and return its main content as Markdown.""" try: return read_page(url, max_chars=max_chars)["markdown"] except PageError as exc: return "Could not read the page: " + str(exc) read_tool = FunctionTool.from_defaults(fn=read_url, name="read_url") print(os.environ.get("CHAT_MODEL", "set CHAT_MODEL for your agent"), read_tool.metadata.name) ``` ## Qual o tamanho de crawl que um pequeno índice RAG precisa? Menos do que você imagina. A documentação de um produto costuma ter algumas centenas de páginas, e um crawl com `include_paths` definido para a seção de docs lê apenas essas. A 1 crédito por página, um site de docs com 300 páginas custa cerca de 300 créditos; 10.000 páginas (US$ 3,75) o atualiza muitas vezes. Re-rastreie em uma frequência que corresponda à frequência com que a fonte muda, e compare `final_url` e `word_count` com a execução anterior para re-embedar apenas as páginas que mudaram. Os créditos pré-pagos nunca expiram: as páginas não usadas ficam na sua conta até você usá-las. ## LangChain e LlamaIndex: dúvidas frequentes ### Existe um pacote do WebReaderAPI para LangChain ou LlamaIndex? Não. O helper e a ferramenta desta página são a integração inteira, então você pode adaptá-los livremente. WebReaderAPI é uma API HTTPS simples que qualquer cliente HTTP em Python pode chamar. ### Qual versão do LangChain isso exige? Qualquer versão recente com `langchain_core`, `langchain-text-splitters` e `init_chat_model`. O decorador de ferramenta e a classe `Document` têm se mantido estáveis nas versões recentes. ### Como evito reler páginas que não mudaram? Armazene `final_url`, `word_count` e a data de cada leitura. Releia em uma frequência definida e re-embed apenas uma página quando a contagem de palavras ou o hash do conteúdo mudar. Cada releitura custa um crédito, então escolha um ritmo que corresponda à fonte. ### E se algumas páginas forem recusadas? Elas lançam `PageError` com um código como `blocked_by_robots`, e não custam nada. Se um site recusa nossa requisição, devolvemos a resposta dele: nunca resolvemos CAPTCHAs, nunca entramos em contas e nunca tentamos contornar um bloqueio ou um paywall. --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Servidor MCP de leitura de páginas web para Claude, Cursor e outros clientes MCP > Leitura de páginas web para clientes MCP como Claude Desktop e Cursor: ferramenta read_url em Python de 40 linhas com Markdown limpo. Sem KYC, pague com cripto. - URL: https://webreaderapi.com/pt/docs/mcp/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Dê a qualquer cliente MCP uma ferramenta `read_url` que converte um link em Markdown limpo. O servidor é um único arquivo Python curto que você executa na sua própria máquina; sua chave de API fica no ambiente dele. **Resposta rápida — Como adiciono um leitor de páginas web ao Claude Desktop ou ao Cursor com MCP?** Execute um pequeno servidor MCP que expõe uma ferramenta `read_url` chamando **WebReaderAPI** e depois registre-o nas configurações MCP do seu cliente, com sua chave em `env`. O modelo então pode ler qualquer página pública como Markdown limpo. Cada leitura de página custa 1 crédito, 2 com navegador, a partir de US$ 0,07/1K páginas em outubro de 2026. Sem KYC; pague com cripto. ## O servidor MCP em resumo | Atributo | Valor | | --- | --- | | Linguagem | Python 3.10+, com os pacotes `mcp` e `httpx` | | Transporte | stdio: o cliente inicia o servidor como um processo local | | Ferramenta | `read_url(url, max_chars)` → título, URL de origem e depois o Markdown da página | | Por que não web_fetch | O Claude Code e o OpenClaw já trazem uma ferramenta embutida com esse nome | | Chave | Lida de `WEBREADER_API_KEY` no ambiente do servidor | | Cobrança | 1 crédito = 1 página lida sem navegador; 2 créditos quando a página precisa de um navegador para renderizar JavaScript. Uma requisição que falha, ou que o robots.txt de um site recusa, não é cobrada | ## Por que uma ferramenta read_url e não web_fetch? Porque duas ferramentas com o mesmo nome confundem tanto o cliente quanto o modelo. O Claude Code e o OpenClaw já incluem uma ferramenta chamada `web_fetch`. Um nome distinto, `read_url`, e uma descrição clara permitem que o modelo escolha a nossa quando precisa do conteúdo principal de uma página, inclusive de páginas com JavaScript e PDFs. A ferramenta retorna texto, não JSON. Os modelos lidam melhor com um cabeçalho curto e Markdown do que com campos aninhados, e o cabeçalho mantém a URL de origem à vista para que a resposta possa citá-la. *webreader_mcp.py* ```python import os import httpx from mcp.server.fastmcp import FastMCP API = "https://webreaderapi.com/api/v1/read" KEY = os.environ["WEBREADER_API_KEY"] mcp = FastMCP("webreaderapi") @mcp.tool() def read_url(url: str, max_chars: int = 20000) -> str: """Read a public web page and return its main content as Markdown. Use it when the user gives a link or when a page must be read to answer. max_chars caps the length of the returned text (1,000 to 500,000). """ params = {"url": url, "max_chars": max(1000, min(int(max_chars), 500000))} try: resp = httpx.get(API, params=params, headers={"Authorization": "Bearer " + KEY}, timeout=75) except httpx.HTTPError as exc: return "Network error while reading the page: " + str(exc) body = resp.json() if resp.status_code != 200: err = body.get("error", {}) return "Could not read the page: " + err.get("code", str(resp.status_code)) + ". " + err.get("message", "") title = body.get("title") or url return "# " + title + "\nSource: " + body.get("final_url", url) + "\n\n" + body.get("markdown", "") if __name__ == "__main__": mcp.run() ``` ## Como instalo e testo o servidor? Crie um ambiente virtual, instale `mcp` e `httpx` e salve o arquivo acima. O pacote `mcp` é o SDK oficial de Python do Model Context Protocol; `FastMCP` transforma uma função Python tipada em ferramenta, usando a docstring como descrição. Antes de conectá-lo a um cliente, execute o arquivo uma vez no terminal com sua chave definida. Ele fica aguardando silenciosamente um cliente no stdin, o que significa que iniciou corretamente; pare-o com Ctrl+C. *Instalar* ```bash python -m venv .venv . .venv/bin/activate pip install "mcp[cli]" httpx WEBREADER_API_KEY="your-key" python webreader_mcp.py ``` ## Como registro ele no Claude Desktop? Abra as configurações de desenvolvedor do Claude Desktop, edite `claude_desktop_config.json` e adicione uma entrada em `mcpServers`. Use caminhos absolutos: o Python do seu ambiente virtual e o arquivo do servidor. Coloque a chave em `env`, para que ela nunca apareça nos argumentos da ferramenta nem na conversa. Reinicie o Claude Desktop e `read_url` aparece na lista de ferramentas. O Cursor lê a mesma estrutura de `mcpServers` no seu próprio arquivo de configuração MCP, e o Claude Code pode registrar o mesmo comando com seu comando `claude mcp add`. Para o OpenClaw, veja a [página do OpenClaw](https://webreaderapi.com/pt/docs/openclaw/). *claude_desktop_config.json* ```json { "mcpServers": { "webreaderapi": { "command": "/home/you/webreader/.venv/bin/python", "args": ["/home/you/webreader/webreader_mcp.py"], "env": { "WEBREADER_API_KEY": "your-key" } } } } ``` ## Como mantenho as páginas dentro do contexto do modelo? Diminua `max_chars`. O padrão de 20.000 caracteres é suficiente para a maioria dos artigos e impede que uma página longa ocupe todo o contexto. Um modelo que lê várias páginas em uma única resposta se sai melhor com 8.000 a 12.000 caracteres por página. Peça ao modelo para ler as páginas de que precisa, não todos os links que vê. Uma frase curta nas instruções do seu projeto, como "leia no máximo três páginas por pergunta", mantém custo e contexto sob controle. ## O que acontece quando um site recusa a leitura? A ferramenta retorna uma mensagem curta com o código de erro, como `blocked_by_robots` ou `target_refused`, e nada é cobrado. Respeitamos o robots.txt: nosso crawler se identifica como WebReaderAPI, segue as regras escritas para ele ou para todos os robôs e não lê uma página que o site proíbe. Páginas recusadas não são cobradas. Se um site recusa nossa requisição, devolvemos a resposta dele: nunca resolvemos CAPTCHAs, nunca entramos em contas e nunca tentamos contornar um bloqueio ou um paywall. O modelo pode então dizer que a página não está disponível para leitores automatizados e usar outra fonte. ## Servidor MCP: perguntas frequentes ### Existe um pacote MCP oficial do WebReaderAPI? Não. O arquivo desta página é a integração: 40 linhas que você pode ler, alterar e executar por conta própria. Nada para instalar da nossa parte, e sua chave nunca sai da sua máquina, exceto nas chamadas à nossa API. ### O modelo pode pesquisar na web com este servidor? Não. `read_url` lê uma página cujo endereço você ou o modelo já têm. Combine com qualquer ferramenta de pesquisa que seu cliente ofereça; o modelo pesquisa e depois lê as páginas que importam. ### Quanto custa rodar um assistente com ele? Um crédito por leitura de página, dois quando um navegador é necessário. Um assistente que lê 50 páginas por dia usa cerca de 1.500 créditos por mês, e 10.000 páginas (US$ 3,75) cobre isso por cerca de seis meses. ### O servidor funciona offline? Não. Ele chama `https://webreaderapi.com/api/v1/read` para cada página, então precisa de acesso à internet e de uma chave válida. --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Leia páginas web em agentes de IA do n8n com a WebReaderAPI > Leia páginas web em agentes de IA do n8n: configurações da ferramenta HTTP Request que transformam qualquer URL em Markdown limpo, e um workflow agendado. - URL: https://webreaderapi.com/pt/docs/n8n/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) O node HTTP Request do n8n pode funcionar como ferramenta para o node AI Agent. Aponte-o para `/read`, deixe o modelo preencher a URL, e o agente pode ler qualquer página pública como Markdown limpo, sem instalar nenhum community node. **Resposta rápida — Como faço para um agente de IA do n8n ler páginas web?** Anexe um node HTTP Request ao AI Agent do n8n como ferramenta, defina o método como `GET https://webreaderapi.com/api/v1/read` com uma credencial Header Auth contendo sua chave **WebReaderAPI**, e deixe o modelo definir o parâmetro `url`. Ative Optimize Response para manter apenas `title`, `final_url` e `markdown`. Cada página custa 1 crédito, a partir de US$ 0,07/1K páginas em outubro de 2026. Sem KYC; pague com cripto. ## Quais configurações do HTTP Request eu uso? Os nomes das opções seguem a documentação do node HTTP Request do n8n, consultada em 22/10/2026. | Configuração | Valor | | --- | --- | | Posicionamento | Anexado ao node **AI Agent** como ferramenta | | Método | `GET` | | URL | `https://webreaderapi.com/api/v1/read` | | Autenticação | Credenciais genéricas → **Header Auth** | | Credencial Header Auth | Name `Authorization`, Value `Bearer ` seguido da sua chave de API | | Send Query Parameters | Ativado, **Using Fields Below** | | Parâmetro `url` | Definido pelo modelo (veja abaixo) | | Parâmetro `max_chars` | Um valor fixo como `15000` | | Optimize Response | Ativado · tipo de resposta **JSON** · Include Fields **Selected**: `title`, `final_url`, `markdown` | ## Por que usar o node HTTP Request como ferramenta? Porque ele já faz tudo o que esta API precisa: uma requisição GET, um header e dois parâmetros de consulta. O n8n documenta que o node HTTP Request pode rodar como node comum ou ser anexado a um agente de IA como ferramenta, e que algumas opções existem apenas no formato de ferramenta. Não há nada nosso para instalar ou atualizar, e a chave fica no armazenamento de credenciais do n8n em vez de no workflow. Dê ao n8n uma chave própria, para que o uso dele fique visível separadamente dos seus outros scripts e você possa revogá-la sozinha. Crie várias chaves de API, por exemplo uma por agente ou projeto, e revogue qualquer uma delas no seu dashboard. ## Como o modelo escolhe a URL a ler? Deixe o modelo definir o parâmetro `url`. O n8n mostra um botão ao lado dos campos de parâmetro elegíveis que entrega o valor ao modelo, e você também pode escrever a expressão você mesmo com a função `$fromAI()` do n8n. Ela recebe uma chave, uma descrição, um tipo e um valor padrão opcional, por exemplo a chave `url`, a descrição "The http or https address of the page to read" e o tipo `string`. O n8n documenta que `$fromAI()` funciona apenas em ferramentas conectadas ao node AI Agent. Escreva a descrição da ferramenta em linguagem simples também, como "Reads a public web page and returns its main content as Markdown", para que o agente saiba quando chamá-la. ## Por que ativar Optimize Response? Porque tudo o que uma ferramenta retorna vai para o contexto do modelo. Optimize Response é uma opção exclusiva de ferramenta que reduz os dados passados ao modelo. Com o tipo de resposta JSON você pode incluir apenas campos selecionados; mantenha `title`, `final_url` e `markdown` e descarte o resto. Limite o comprimento do nosso lado com `max_chars`, que corta o Markdown antes de ele sair da API. Os tipos de resposta HTML e Text do node têm a própria opção Truncate Response, mas com a nossa resposta JSON o `max_chars` é o controle mais simples. ## Como uso a API em um workflow agendado? Use o node HTTP Request como node comum, não como ferramenta, atrás de um Schedule Trigger. Defina um `url` fixo, como um changelog ou uma página de preços que você acompanha, e envie o campo `markdown` para o próximo node: um arquivo, um banco de dados, uma mensagem de chat ou uma comparação com a execução anterior. Cada execução lê uma página por URL. Acompanhar 20 páginas uma vez ao dia usa cerca de 600 créditos por mês para páginas sem navegador, então 10.000 páginas (US$ 3,75) dura mais de um ano. Os créditos pré-pagos nunca expiram: as páginas não usadas ficam na sua conta até você usá-las. ## O que acontece quando um site recusa a leitura? O node recebe uma resposta de erro com um código como `blocked_by_robots` ou `target_refused`, e nada é cobrado. Respeitamos o robots.txt: nosso crawler se identifica como WebReaderAPI, segue as regras escritas para ele ou para todos os robôs e não lê uma página que o site proíbe. Páginas recusadas não são cobradas. Em um agente, deixe a ferramenta retornar o erro para que o modelo possa explicá-lo ou tentar outra fonte; em um workflow agendado, direcione os erros para um branch que os registra. A [página de erros](https://webreaderapi.com/pt/docs/errors/) lista todos os códigos. ## Posso testar a chamada antes de montar o workflow? Execute a mesma chamada em um terminal com curl, como mostrado nas [receitas de curl](https://webreaderapi.com/pt/docs/curl/). Se funcionar lá e falhar no n8n, a causa está nas configurações do node, na maioria das vezes o valor da credencial sem o prefixo `Bearer ` ou o parâmetro `url` deixado vazio. ## n8n: perguntas frequentes ### Preciso de um community node para a WebReaderAPI? Não. O node HTTP Request integrado já basta, como ferramenta para o AI Agent ou como node comum em qualquer workflow. ### O agente consegue ler páginas com JavaScript ou PDFs? Sim. A API decide quando um navegador é necessário (`render=auto`) e lê PDFs como texto. Uma página renderizada usa 2 créditos; Arquivos PDF de até 20 MB e 100 páginas são convertidos em Markdown, a 1 crédito por bloco iniciado de 10 páginas. ### Como impeço o agente de ler páginas demais? Diga quantas páginas ele pode ler na mensagem de sistema do agente e mantenha `max_chars` moderado. Cada leitura é uma chamada de ferramenta, então qualquer limite que você definir nas chamadas de ferramenta do agente também limita o número de páginas. ### Como pago os créditos? Recarregue o saldo em US$ 25 por BTC, USDT, USDC, ETH, SOL, LTC e depois compre um pacote. WebReaderAPI não pede documento, selfie nem documentos da empresa. ## Fontes 1. [Nó HTTP Request](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/) — n8n docs (read 2026-10-22) 2. [Credenciais do HTTP Request](https://docs.n8n.io/integrations/builtin/credentials/httprequest/) — n8n docs (read 2026-10-22) 3. [Nó AI Agent](https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/) — n8n docs (read 2026-10-22) 4. [Deixe a IA especificar os parâmetros da ferramenta com $fromAI()](https://docs.n8n.io/advanced-ai/examples/using-the-fromai-function/) — n8n docs (read 2026-10-22) --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Converter página web em Markdown no Node.js > Converta páginas web em Markdown no Node.js com fetch nativo: uma página, um pool de concorrência e polling. A partir de US$ 0,07/1K páginas, sem KYC. - URL: https://webreaderapi.com/pt/docs/node/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) O Node.js 18 e versões posteriores já trazem `fetch`, então você não precisa de nenhuma dependência. Três receitas: ler uma página, ler uma lista com um pequeno pool de concorrência e acompanhar um job de rastreamento até ele terminar. **Resposta rápida — Como converto página web em Markdown no Node.js?** Use o `fetch` nativo do Node.js 18+: chame `https://webreaderapi.com/api/v1/read?url=…` com sua chave no header `Authorization` e leia `markdown` da resposta JSON. **WebReaderAPI** retorna o conteúdo principal da página com título, autor e data. Uma página custa 1 crédito, 2 com navegador, a partir de US$ 0,07/1K páginas em outubro de 2026. Sem KYC; pague com cripto. ## Do que eu preciso? Node.js 18 ou posterior, para o `fetch` global, e uma chave de API na variável de ambiente `WEBREADER_API_KEY`. Os exemplos são ES modules: salve-os com a extensão `.mjs` ou defina `"type": "module"` no seu `package.json`, para que o `await` de nível superior funcione. Os comentários JSDoc descrevem o formato da resposta, então editores como o VS Code dão autocompletar sem etapa de build do TypeScript. *read.mjs: uma página* ```javascript /** * @typedef {Object} Page * @property {string} url * @property {string} final_url * @property {number} status_code * @property {boolean} rendered * @property {number} credits_used * @property {string} [title] * @property {string} [author] * @property {string} [published_at] * @property {string} [language] * @property {string} [markdown] * @property {number} word_count */ /** @returns {Promise} */ export async function readPage(url, options = {}) { const params = new URLSearchParams({ url, ...options }); const res = await fetch(`https://webreaderapi.com/api/v1/read?${params}`, { headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}` }, signal: AbortSignal.timeout(75_000), }); const body = await res.json(); if (!res.ok) throw Object.assign(new Error(body.error.message), { code: body.error.code }); return body; } const page = await readPage('https://example.com/docs/getting-started', { max_chars: '20000' }); console.log(page.title, page.word_count, 'words,', page.credits_used, 'credit(s)'); ``` ## Como leio uma lista de URLs sem estourar o limite? Rode um número fixo de workers que pegam URLs de uma fila compartilhada. É mais simples do que `Promise.all` sobre a lista inteira, que dispararia todas as requisições de uma vez e estouraria o `429 concurrency_limit`. Cada conta tem um limite de quantas páginas lê ao mesmo tempo; seu dashboard mostra esse limite, e o suporte pode aumentá-lo. O pool abaixo mantém os erros junto dos resultados, então uma página recusada não interrompe a execução. Recusas como `blocked_by_robots` são definitivas e gratuitas; conte-as e siga em frente. *pool.mjs: uma lista de URLs, 8 por vez* ```javascript import { readPage } from './read.mjs'; export async function readAll(urls, workers = 8) { const queue = [...urls]; const results = []; async function worker() { while (queue.length) { const url = queue.shift(); try { const page = await readPage(url, { max_chars: '50000' }); results.push({ url, page }); } catch (err) { results.push({ url, error: err.code ?? err.name }); } } } await Promise.all(Array.from({ length: workers }, worker)); return results; } const urls = Array.from({ length: 30 }, (_, i) => `https://example.com/blog/post-${i + 1}`); for (const r of await readAll(urls)) console.log(r.url, '->', r.error ?? r.page.title); ``` ## Como acompanho um job de rastreamento no Node.js? Inicie o job com `POST https://webreaderapi.com/api/v1/crawl` e depois leia `https://webreaderapi.com/api/v1/jobs/{job_id}` em loop. Passe `cursor` a cada vez que `next_cursor` retornar; quando não houver cursor e o status for `done`, o job terminou. Espere entre os polls vazios e dobre a espera até 30 segundos, já que um rastreamento que respeita o Crawl-delay de um site pode ser lento. A [página de lote e rastreamento](https://webreaderapi.com/pt/docs/crawl/) descreve como o rastreamento escolhe as páginas e como `limit` limita o que ele lê. *crawl.mjs: iniciar um rastreamento e coletar todas as páginas* ```javascript const headers = { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}`, 'Content-Type': 'application/json', }; const sleep = (ms) => new Promise((r) => setTimeout(r, ms)); const start = await fetch('https://webreaderapi.com/api/v1/crawl', { method: 'POST', headers, body: JSON.stringify({ url: 'https://docs.example.com/', limit: 300, include_paths: ['/docs/*'] }), }); const { job_id } = await start.json(); const pages = []; let cursor = ''; let wait = 2000; for (;;) { const url = `https://webreaderapi.com/api/v1/jobs/${job_id}${cursor ? `?cursor=${encodeURIComponent(cursor)}` : ''}`; const job = await (await fetch(url, { headers })).json(); pages.push(...job.results.filter((r) => !r.error)); if (job.next_cursor) { cursor = job.next_cursor; wait = 2000; continue; } if (job.status === 'done') break; await sleep(wait); wait = Math.min(wait * 2, 30000); } console.log(pages.length, 'pages read, job', job_id); ``` ## Como passo o resultado para um modelo? Envie o Markdown, não o JSON inteiro. O campo `markdown` é o que um modelo deve ler; os metadados são melhor guardados para citações. Prefira colocar o título e `final_url` no início, para o modelo poder nomear a fonte, e mantenha `max_chars` em um tamanho que caiba no contexto do seu modelo, como 20.000 caracteres por página. A [página de function calling da OpenAI](https://webreaderapi.com/pt/docs/openai/) mostra o loop completo de ferramentas em Python; a mesma função `readPage` acima pode servir como corpo da ferramenta em um agente Node.js. ## Node.js: perguntas frequentes ### Isso funciona no Deno, no Bun ou no navegador? Deno e Bun suportam o mesmo `fetch` e ES modules. Não chame a API a partir de uma página do navegador: a chave ficaria visível para todos os visitantes. Chame a partir do seu servidor. ### Existe um pacote npm? Não. As funções desta página são toda a integração. WebReaderAPI é HTTPS e JSON puro, então você mantém o controle de retries, timeouts e logging. ### Como trato o 429 concurrency_limit? Reduza o número de workers ou tente de novo após uma breve espera que dobra a cada vez. Um 429 não custa nada, e a [página de erros](https://webreaderapi.com/pt/docs/errors/) tem uma função de backoff pronta. ### Quanto custa ler 10.000 páginas? Cerca de 10.000 créditos para páginas simples, mais se algumas precisarem de navegador. 10.000 páginas custam US$ 3,75; Os créditos pré-pagos nunca expiram: as páginas não usadas ficam na sua conta até você usá-las. --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # OpenAI function calling: uma ferramenta read_url para o seu modelo > OpenAI function calling com read_url: o schema JSON e o loop em Python que transforma links em Markdown limpo para o modelo. Sem KYC, pague com cripto. - URL: https://webreaderapi.com/pt/docs/openai/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Descreva uma função, `read_url`, e execute-a quando o modelo pedir. O modelo escolhe quais páginas ler; seu código chama a API e devolve o Markdown. O mesmo schema funciona com outros modelos que suportam tool calling. **Resposta rápida — Como faço para um modelo OpenAI ler páginas web com function calling?** Declare uma função `read_url` na lista `tools` e então rode um loop: quando o modelo retornar um tool call, chame o endpoint `/read` da **WebReaderAPI** com a URL e envie o Markdown de volta como uma mensagem `tool`. Cada página custa 1 crédito, 2 com navegador, a partir de US$ 0,07/1K páginas em outubro de 2026. Sem KYC; pague com cripto. ## Como é o schema do read_url? Dois parâmetros bastam: o `url` a ler, obrigatório, e um `max_chars` opcional que permite ao modelo encurtar uma página longa. A descrição é a parte mais importante: ela diz ao modelo o que a ferramenta retorna e quando usá-la. Mantenha factual e curta. Nomeamos a ferramenta `read_url` em vez de `web_fetch` para evitar conflito com ferramentas que alguns runtimes de agente já fornecem com esse nome. *A definição da ferramenta* ```json { "type": "function", "function": { "name": "read_url", "description": "Read a public web page and return its main content as Markdown, with its title and source URL. Use it when the user gives a link or when a page must be read to answer.", "parameters": { "type": "object", "properties": { "url": { "type": "string", "description": "The http or https address of the page." }, "max_chars": { "type": "integer", "description": "Most characters to return, 1000 to 500000. Default 20000." } }, "required": ["url"], "additionalProperties": false } } } ``` ## Como funciona o loop de tool calling? Envie a conversa com a lista `tools`. Se a resposta contiver tool calls, execute cada uma, anexe o resultado como uma mensagem com role `tool` e o `tool_call_id` correspondente, e pergunte ao modelo de novo. Quando uma resposta voltar sem tool call, ela é a resposta final. Limite o número de rodadas. Três ou quatro bastam para uma pergunta sobre um punhado de páginas, e o limite protege você de um modelo que fica pedindo mais. *Python: o loop completo com o pacote openai* ```python import json import os import requests from openai import OpenAI READ_URL = { "type": "function", "function": { "name": "read_url", "description": "Read a public web page and return its main content as Markdown, with its title and source URL.", "parameters": { "type": "object", "properties": { "url": {"type": "string", "description": "The http or https address of the page."}, "max_chars": {"type": "integer", "description": "Most characters to return. Default 20000."}, }, "required": ["url"], "additionalProperties": False, }, }, } def read_url(url, max_chars=20000): resp = requests.get( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"url": url, "max_chars": max_chars}, timeout=75, ) body = resp.json() if resp.status_code != 200: return "Could not read the page: " + body["error"]["code"] return "# " + (body.get("title") or url) + "\nSource: " + body["final_url"] + "\n\n" + body["markdown"] client = OpenAI() model = os.environ.get("OPENAI_MODEL", "gpt-4.1-mini") messages = [{"role": "user", "content": "What does https://example.com/blog/first-post announce? Answer in two sentences."}] for _ in range(4): reply = client.chat.completions.create(model=model, messages=messages, tools=[READ_URL]) msg = reply.choices[0].message if not msg.tool_calls: print(msg.content) break messages.append(msg) for call in msg.tool_calls: args = json.loads(call.function.arguments) messages.append({"role": "tool", "tool_call_id": call.id, "content": read_url(**args)}) ``` ## Como mantenho o uso de tokens e o custo baixos? Três configurações importam. Mantenha `max_chars` modesto, em torno de 8.000 a 20.000 caracteres por página, porque cada caractere que você retorna é lido pelo modelo. Mantenha o `main_content=true` padrão, para que menus e rodapés nunca cheguem ao contexto. E limite o loop, como acima, para que uma pergunta não dispare dezenas de leituras. Do nosso lado, o custo é por página, não por caractere: 1 crédito = 1 página lida sem navegador; 2 créditos quando a página precisa de um navegador para renderizar JavaScript. Uma requisição que falha, ou que o robots.txt de um site recusa, não é cobrada. Um assistente de suporte que lê 300 páginas por dia usa cerca de 9.000 créditos por mês, dentro de 10.000 páginas (US$ 3,75). ## O schema funciona com outros modelos? Sim, com pequenas mudanças no wrapper. A maioria das APIs de tool calling aceita um JSON Schema para os parâmetros e um nome e uma descrição para a ferramenta, então `read_url` passa entre provedores como está. A [página de MCP](https://webreaderapi.com/pt/docs/mcp/) empacota a mesma função para clientes que falam o Model Context Protocol, e a [página de LangChain](https://webreaderapi.com/pt/docs/langchain/) a envolve para agentes LangChain e LlamaIndex. ## O que o modelo deve ver quando uma página é recusada? Uma frase curta e clara, como o loop acima retorna: "Could not read the page: blocked_by_robots". Modelos lidam bem com isso e recorrem a outras fontes ou avisam o usuário. Respeitamos o robots.txt: nosso crawler se identifica como WebReaderAPI, segue as regras escritas para ele ou para todos os robôs e não lê uma página que o site proíbe. Páginas recusadas não são cobradas. Se um site recusa nossa requisição, devolvemos a resposta dele: nunca resolvemos CAPTCHAs, nunca entramos em contas e nunca tentamos contornar um bloqueio ou um paywall. Nenhuma dessas recusas usa um crédito. ## Function calling: perguntas frequentes ### Isso precisa da Responses API ou do Chat Completions? O exemplo usa Chat Completions com o parâmetro `tools`. A mesma definição de função e o mesmo corpo `read_url` funcionam com outras interfaces da OpenAI que aceitam function tools; só o loop em volta delas muda. ### O modelo pode ler várias páginas em um turno? Sim. Uma resposta pode conter vários tool calls; o loop executa cada um e retorna todos os resultados antes de perguntar ao modelo de novo. Mantenha `max_chars` menor quando o modelo lê muitas páginas de uma vez. ### A chave de API fica exposta ao modelo? Não. A chave permanece no ambiente do seu código. O modelo só vê o nome da ferramenta, a descrição dela e o texto que sua função retorna. ### Quanto custa uma página recusada? Nada. 1 crédito = 1 página lida sem navegador; 2 créditos quando a página precisa de um navegador para renderizar JavaScript. Uma requisição que falha, ou que o robots.txt de um site recusa, não é cobrada. --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # OpenClaw: adicione um leitor de páginas web via MCP, ao lado do web_fetch > Adicione um leitor de páginas web ao OpenClaw via MCP: openclaw mcp add, doctor --probe, e como o read_url complementa o web_fetch nativo. Pague com cripto. - URL: https://webreaderapi.com/pt/docs/openclaw/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) O OpenClaw já tem uma ferramenta `web_fetch` para páginas leves. Adicionar nosso servidor MCP dá ao agente um segundo leitor, `read_url`, para páginas JavaScript, PDFs e documentos mais longos. A configuração é um comando só. **Resposta rápida — Como adiciono uma API de leitura de páginas web ao OpenClaw?** Salve o servidor MCP **WebReaderAPI**, depois registre-o com `openclaw mcp add webreaderapi --command … --arg … --env WEBREADER_API_KEY=…` e verifique com `openclaw mcp doctor --probe`. O agente ganha uma ferramenta `read_url` ao lado do `web_fetch` nativo, capaz de renderizar JavaScript e ler PDFs. As páginas custam 1 crédito, a partir de US$ 0,07/1K páginas em outubro de 2026. Sem KYC; pague com cripto. ## web_fetch e read_url do OpenClaw lado a lado | Atributo | Valor | | --- | --- | | web_fetch (nativo) | Roda localmente, extrai o conteúdo principal com Readability, retorna Markdown ou texto | | limites do web_fetch | Sem execução de JavaScript; `maxChars` padrão e limite de 20.000 caracteres (docs do OpenClaw) | | read_url (nossa ferramenta MCP) | Renderização de JavaScript quando necessário, PDFs de até 100 páginas, até 500.000 caracteres | | custo do read_url | 1 crédito = 1 página lida sem navegador; 2 créditos quando a página precisa de um navegador para renderizar JavaScript. Uma requisição que falha, ou que o robots.txt de um site recusa, não é cobrada | | Nosso rastreador (crawler) | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, robots.txt respeitado | | Perfis de ferramentas | As ferramentas MCP aparecem nos perfis `coding` e `messaging`, não em `minimal` | ## Por que adicionar um leitor se o OpenClaw tem web_fetch? Porque eles cobrem páginas diferentes. A documentação do OpenClaw diz que `web_fetch` sempre roda localmente, usa Readability para extrair o conteúdo principal e não executa JavaScript; ela indica a ferramenta Web Browser para sites com muito JavaScript ou protegidos por login. A configuração `maxChars` tem padrão de 20.000 caracteres e é limitada a isso. Mantenha `web_fetch` para páginas rápidas e leves. Adicione `read_url` para páginas que montam o conteúdo com JavaScript, para PDFs e para documentos longos em que você quer mais de 20.000 caracteres. A documentação do OpenClaw também observa que o plugin oficial do Firecrawl é hoje o único provedor incluído para o qual `web_fetch` pode recorrer. ## Como registro o servidor MCP no OpenClaw? Primeiro configure o servidor Python a partir da [página MCP](https://webreaderapi.com/pt/docs/mcp/): um arquivo mais os pacotes `mcp` e `httpx`. Depois salve-o no OpenClaw com `openclaw mcp add`. A documentação do registro do OpenClaw descreve as flags stdio `--command`, `--arg`, `--env` e `--cwd`, e armazena as definições salvas em `mcp.servers` na configuração. Execute `openclaw mcp doctor --probe` depois. Sem `--probe`, o doctor só verifica a configuração salva; com ele, também confirma que os servidores habilitados se conectam. *Registrar e verificar o servidor* ```bash openclaw mcp add webreaderapi \ --command /home/you/webreader/.venv/bin/python \ --arg /home/you/webreader/webreader_mcp.py \ --env WEBREADER_API_KEY=your-key openclaw mcp doctor webreaderapi --probe ``` ## O agente vai ver read_url? Nos perfis usuais, sim. A documentação do registro do OpenClaw diz que o OpenClaw embutido expõe as ferramentas MCP configuradas nos perfis `coding` e `messaging`. O perfil `minimal` as oculta, e `tools.deny: ["bundle-mcp"]` as desativa, então verifique essas duas configurações se a ferramenta não aparecer. A descrição da ferramenta diz ao modelo quando preferi-la: páginas que precisam de JavaScript, PDFs e leituras longas. O modelo ainda pode usar `web_fetch` para todo o resto. ## Como o read_url trata os sites que lê? Da mesma forma que toda chamada à nossa API. Respeitamos o robots.txt: nosso crawler se identifica como WebReaderAPI, segue as regras escritas para ele ou para todos os robôs e não lê uma página que o site proíbe. Páginas recusadas não são cobradas. Se um site declara Content-Signal: ai-input=no no seu robots.txt, não lemos as páginas dele para você. Se um site recusa nossa requisição, devolvemos a resposta dele: nunca resolvemos CAPTCHAs, nunca entramos em contas e nunca tentamos contornar um bloqueio ou um paywall. Páginas atrás de login ficam, portanto, fora do escopo do `read_url`. Para um site em que você está conectado, a própria ferramenta de navegador do OpenClaw, rodando com sua sessão, é a ferramenta certa. ## Quanto vai custar ler páginas pelo OpenClaw? Um crédito por página que volta com conteúdo, dois quando é preciso um navegador, nada para recusas e erros. Um assistente que lê 30 páginas por dia nos seus canais de chat usa cerca de 900 créditos por mês: 10.000 páginas (US$ 3,75) dura quase um ano. Os créditos pré-pagos nunca expiram: as páginas não usadas ficam na sua conta até você usá-las. Dê ao OpenClaw uma chave de API própria, para que o uso dele apareça separado dos seus outros projetos. ## OpenClaw: perguntas frequentes ### O WebReaderAPI é um provedor nativo do OpenClaw? Não. Ele se conecta como servidor MCP, que o OpenClaw suporta sem nenhum código de plugin. O servidor MCP é o arquivo Python curto da nossa [página MCP](https://webreaderapi.com/pt/docs/mcp/). ### Devo desativar o web_fetch? Não precisa. As duas ferramentas podem ficar ativas; as descrições dizem ao modelo qual delas serve. Desative `web_fetch` só se quiser que toda leitura passe por um único lugar para registro. ### Posso gerenciar o servidor pela interface web do OpenClaw? A documentação do OpenClaw descreve as configurações de MCP na Control UI, que editam as mesmas definições salvas da linha de comando. Use a que preferir. ### Funciona em uma instalação do OpenClaw em sandbox? O servidor MCP é um processo local que precisa de acesso à internet para chegar a `https://webreaderapi.com/api/v1/read`. Verifique se o seu sandbox permite que o processo inicie e faça essa chamada HTTPS. ## Fontes 1. [Ferramentas web](https://docs.openclaw.ai/tools/web) — OpenClaw docs (read 2026-10-22) 2. [Web Fetch](https://docs.openclaw.ai/tools/web-fetch) — OpenClaw docs (read 2026-10-22) 3. [Gerenciar servidores MCP salvos](https://docs.openclaw.ai/cli/mcp/registry) — OpenClaw docs (read 2026-10-22) 4. [MCP na Control UI](https://docs.openclaw.ai/cli/mcp/control-ui) — OpenClaw docs (read 2026-10-22) --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Página web para Markdown em Python > Converta páginas web em Markdown em Python: requests, httpx assíncrono com limite de concorrência e jobs em lote. A partir de US$ 0,07/1K páginas, sem KYC. - URL: https://webreaderapi.com/pt/docs/python/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Quatro receitas que cobrem a maioria dos projetos Python: ler uma página com requests, ler muitas páginas em paralelo com httpx, entregar uma lista a um job em lote e dividir o Markdown em chunks para um vector store. **Resposta rápida — Como converto uma página web em Markdown em Python?** Chame **WebReaderAPI** com `requests.get("https://webreaderapi.com/api/v1/read", params={"url": ...})` e sua chave no header `Authorization`; a resposta JSON traz o conteúdo principal da página em `markdown`. Para muitas páginas, use `httpx.AsyncClient` com um semáforo ou um job em lote. Uma página custa 1 crédito, a partir de US$ 0,07/1K páginas em outubro de 2026. Sem KYC; pague com cripto. ## O que preciso ter instalado? Python 3.9 ou superior e um cliente HTTP. `requests` basta para scripts que leem uma página por vez; `httpx` adiciona suporte assíncrono para muitas páginas em paralelo. Nenhum pacote nosso é necessário: a API é HTTPS e JSON puros. Mantenha sua chave fora do código. Leia-a da variável de ambiente `WEBREADER_API_KEY`, como todos os exemplos abaixo fazem, e dê a cada projeto sua própria chave para revogar uma sem tocar nas outras. *Instalar* ```bash pip install requests httpx export WEBREADER_API_KEY="your-key" ``` ## Como leio uma página com requests? Envie `url` e quaisquer opções como parâmetros de consulta, dispare em caso de erro HTTP e leia os campos de que precisa. O exemplo mantém o conteúdo principal, limita a 20.000 caracteres para um modelo e imprime quanto custou a chamada. *requests: uma página* ```python import os import requests API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} def read(url, **options): resp = requests.get(API, headers=HEADERS, params={"url": url, **options}, timeout=75) if resp.status_code != 200: error = resp.json()["error"] raise RuntimeError(error["code"] + ": " + error["message"]) return resp.json() page = read("https://example.com/docs/getting-started", max_chars=20000) print(page["title"], page["word_count"], "words", page["credits_used"], "credit(s)") print(page["markdown"][:500]) ``` ## Como leio muitas páginas de uma vez com httpx? Use um `httpx.AsyncClient` e um `asyncio.Semaphore` definido no seu limite de concorrência ou abaixo dele. Cada conta tem um limite de quantas páginas lê ao mesmo tempo; seu dashboard mostra esse limite, e o suporte pode aumentá-lo. Erros de uma página não devem parar as outras, então o exemplo os coleta ao lado dos resultados em vez de disparar. Se você passar do limite, a API responde `429 concurrency_limit`; nada é cobrado, mas a página não é lida. Manter o semáforo abaixo do limite é mais simples do que tentar de novo. *httpx: até 10 páginas em andamento* ```python import asyncio import os import httpx API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} async def read_one(client, sem, url): async with sem: resp = await client.get(API, params={"url": url, "max_chars": 50000}) body = resp.json() if resp.status_code == 200: return url, body, None return url, None, body["error"]["code"] async def read_many(urls, limit=10): sem = asyncio.Semaphore(limit) async with httpx.AsyncClient(headers=HEADERS, timeout=75) as client: return await asyncio.gather(*(read_one(client, sem, u) for u in urls)) if __name__ == "__main__": urls = [f"https://example.com/blog/post-{n}" for n in range(1, 21)] for url, page, error in asyncio.run(read_many(urls)): print(url, "->", error or page["title"]) ``` ## Quando devo usar um job em lote? Quando você tem uma lista de até 100 URLs e não precisa de cada página no momento em que ela fica pronta. Um job em lote roda do nosso lado, então seu script não mantém conexões abertas nem faz lógica de retry. Inicie com `POST https://webreaderapi.com/api/v1/batch` e depois colete os resultados do job com o loop de cursor mostrado na [página de lote e rastreamento](https://webreaderapi.com/pt/docs/crawl/). Para um site inteiro, inicie um rastreamento (crawl) e deixe que ele siga o sitemap e os links; a mesma página tem um loop completo que grava um arquivo `.md` por página. *Iniciar um job de batch* ```python import os import requests urls = [f"https://example.com/changelog/{year}" for year in range(2020, 2027)] resp = requests.post( "https://webreaderapi.com/api/v1/batch", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, json={"urls": urls, "options": {"format": "markdown", "main_content": True}}, timeout=30, ) resp.raise_for_status() print("job:", resp.json()["job_id"]) ``` ## Como divido o Markdown em chunks para RAG? Divida primeiro pelos títulos, depois pelo tamanho. Os títulos marcam onde os assuntos mudam, então um chunk que começa em um título é mais fácil para o retriever casar. Mantenha o título da página e o caminho de títulos nos metadados de cada chunk: eles ajudam o modelo a citar a seção certa. A função abaixo não precisa de nenhuma biblioteca extra. Ela corta nos títulos de `#` a `###` e depois divide qualquer seção longa em linhas em branco para ficar dentro de um limite de caracteres. Armazene `final_url` com cada chunk, para que dois endereços que levam à mesma página não gerem duplicatas. *Dividir Markdown por títulos* ```python import re def chunk_markdown(page, max_chars=2000): """Split a /read response into chunks with a heading path and the source URL.""" chunks, path, buf = [], [], [] def flush(): text = "\n".join(buf).strip() while text: part = text[:max_chars] cut = part.rfind("\n\n") if len(text) > max_chars and cut > max_chars // 2: part = part[:cut] chunks.append({"text": part.strip(), "section": " > ".join(path), "title": page.get("title"), "source": page["final_url"]}) text = text[len(part):].strip() buf.clear() for line in page["markdown"].splitlines(): m = re.match(r"^(#{1,3}) (.+)", line) if m: flush() level = len(m.group(1)) path[:] = path[: level - 1] + [m.group(2).strip()] buf.append(line) flush() return chunks ``` ## Quanto custa um job em Python? Conte páginas, não requisições. 1 crédito = 1 página lida sem navegador; 2 créditos quando a página precisa de um navegador para renderizar JavaScript. Uma requisição que falha, ou que o robots.txt de um site recusa, não é cobrada. Ler 2.000 páginas de documentação sem navegador usa cerca de 2.000 créditos, o que 10.000 páginas (US$ 3,75) cobre cinco vezes. Os créditos pré-pagos nunca expiram: as páginas não usadas ficam na sua conta até você usá-las, então um pipeline que roda uma vez por mês usa apenas o que lê. ## Python: perguntas frequentes ### Existe um pacote oficial de Python? Não. O código nesta página é tudo o que você precisa: WebReaderAPI é uma API HTTPS simples, e `requests` ou `httpx` falam com ela diretamente. ### Como trato uma página que o robots.txt recusa? Verifique o código de erro. `blocked_by_robots` e `target_refused` são definitivos e gratuitos; registre-os e continue. A [página de erros](https://webreaderapi.com/pt/docs/errors/) tem um helper de retry que só repete os códigos que podem mudar. ### Posso usar a API a partir de um notebook Jupyter? Sim. A receita com `requests` funciona como está. Em um notebook, `await read_many(urls)` substitui `asyncio.run`, porque o notebook já roda um event loop. ### Qual timeout meu cliente deve usar? Um pouco mais que o da própria API: o padrão é 30 segundos e o máximo 60, então 75 segundos do lado do cliente deixa margem para um site lento e a resposta. --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Referência do endpoint de leitura: GET e POST /read > Endpoint de leitura: parâmetros de GET e POST /read, de format e render a country e max_chars, com exemplos. A partir de US$ 0,07/1K páginas. - URL: https://webreaderapi.com/pt/docs/read/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) `/read` busca uma página pública, extrai o conteúdo principal e devolve como Markdown, texto simples ou HTML limpo. Esta página lista cada parâmetro, seu padrão e quanto custa. **Resposta rápida — Quais parâmetros o endpoint de leitura do WebReaderAPI aceita?** O endpoint `/read` do **WebReaderAPI** precisa de um parâmetro, `url`. Os opcionais escolhem a saída (`format`), quanto da página manter (`main_content`), se um navegador roda (`render`), links e imagens, o país de leitura, um limite de caracteres e um timeout. Uma página simples custa 1 crédito, 2 com navegador, a partir de US$ 0,07/1K páginas em outubro de 2026. Sem KYC; pague com cripto. ## /read at a glance | Atributo | Valor | | --- | --- | | Métodos | `GET` com parâmetros de consulta, ou `POST` com um corpo JSON usando os mesmos nomes | | URL | `https://webreaderapi.com/api/v1/read` | | Obrigatório | `url`: um endereço http ou https, de até 2.048 caracteres | | Saída padrão | Markdown do conteúdo principal | | Cobrança | 1 crédito = 1 página lida sem navegador; 2 créditos quando a página precisa de um navegador para renderizar JavaScript. Uma requisição que falha, ou que o robots.txt de um site recusa, não é cobrada | | País | Escolher o país de onde a página é lida adiciona 10 créditos, porque a página passa a ser lida por uma conexão residencial naquele país | | PDF | Arquivos PDF de até 20 MB e 100 páginas são convertidos em Markdown, a 1 crédito por bloco iniciado de 10 páginas | | Identidade do crawler | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` | ## Ler uma página (GET) `GET /api/v1/read` Busca uma página pública e devolve seu conteúdo principal como Markdown, com os metadados da página. Os parâmetros vão na query string, codificados em URL. O exemplo lê um post de blog; IDs, datas e valores são ilustrativos. Autenticação: chave de API no header `Authorization: Bearer API_KEY`. **Parâmetros** | Nome | Em | Tipo | Obrigatório | Descrição | | --- | --- | --- | --- | --- | | `url` | query | string | Sim | A página a ler: http ou https, no máximo 2.048 caracteres. Endereços privados, locais e de metadados de nuvem são recusados. | | `format` | query | string | Não | `markdown` (padrão), `text` (texto simples, sem marcação) ou `html` (HTML limpo do conteúdo). | | `main_content` | query | boolean | Não | `true` (padrão) mantém só o artigo ou conteúdo principal; `false` converte a página inteira, menus e rodapé incluídos. | | `render` | query | string | Não | `auto` (padrão) inicia um navegador só quando o HTML bruto tem texto de menos; `true` sempre; `false` nunca. Uma página renderizada custa 2 créditos. | | `include_links` | query | boolean | Não | `true` adiciona uma lista `links` de `{url, text}`. Padrão `false`. | | `include_images` | query | boolean | Não | `true` mantém as imagens como `![alt](src)` no Markdown. Padrão `false`. | | `country` | query | string | Não | Código de país de duas letras (ISO 3166-1 alpha-2). A página é lida a partir de um endereço nesse país, por 10 créditos extras (conexão residencial). | | `max_chars` | query | integer | Não | Corta a saída neste número de caracteres, de 1.000 a 500.000. Útil para caber no contexto de um modelo. | | `timeout` | query | integer | Não | Segundos de espera pelo site, de 5 a 60. Padrão 30. | | `api_key` | query | string | Não | Sua chave, caso você não envie o header `Authorization`. | **Resposta** `200` ```json { "url": "https://example.com/blog/first-post", "final_url": "https://example.com/blog/first-post", "status_code": 200, "fetched_at": "2026-10-22T09:41:12Z", "rendered": false, "credits_used": 1, "title": "Our first post", "description": "Why we started this blog and what comes next.", "language": "en", "author": "Jane Doe", "published_at": "2026-10-01", "site_name": "Example Blog", "markdown": "# Our first post\n\nWe started this blog to share what we learn...\n\n## What comes next\n\n- A post every month\n- Notes from our team", "word_count": 612 } ``` *curl* ```bash curl -sG "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/blog/first-post" \ -d format=markdown -d max_chars=20000 ``` *Python* ```python import os import requests resp = requests.get( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"url": "https://example.com/blog/first-post", "max_chars": 20000}, timeout=70, ) resp.raise_for_status() print(resp.json()["markdown"][:300]) ``` *Node.js* ```javascript const params = new URLSearchParams({ url: 'https://example.com/blog/first-post', max_chars: '20000' }); const res = await fetch(`https://webreaderapi.com/api/v1/read?${params}`, { headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}` }, }); const page = await res.json(); console.log(page.markdown.slice(0, 300)); ``` ## Ler uma página (POST) `POST /api/v1/read` Mesmo endpoint, mesmos parâmetros, enviados como body JSON. Prefira POST quando a URL for muito longa ou quando seu cliente HTTP montar JSON com mais facilidade do que query strings. A resposta é idêntica à da forma GET. Autenticação: chave de API no header `Authorization: Bearer API_KEY`. **Corpo da requisição** | Campo | Tipo | Obrigatório | Descrição | | --- | --- | --- | --- | | `url` | string | Sim | A página a ser lida. | | `format`, `main_content`, `render`, `include_links`, `include_images`, `country`, `max_chars`, `timeout` | mixed | Não | Como na tabela GET acima, com tipos JSON: booleanos como `true`/`false`, números sem aspas. | *Exemplo: a JavaScript-heavy page, read from Germany, with its links* ```json { "url": "https://example.com/app/pricing", "render": "true", "country": "de", "include_links": true, "max_chars": 30000 } ``` **Resposta** `200` ```json { "url": "https://example.com/app/pricing", "final_url": "https://example.com/de/app/pricing", "status_code": 200, "fetched_at": "2026-10-22T09:44:03Z", "rendered": true, "credits_used": 3, "title": "Pricing", "language": "de", "markdown": "# Pricing\n\n| Plan | Price |\n|---|---|\n| Basic | ... |", "word_count": 214, "links": [ { "url": "https://example.com/de/contact", "text": "Contact" } ] } ``` *curl* ```bash curl -s "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url": "https://example.com/app/pricing", "render": "true", "country": "de", "include_links": true}' ``` *Python* ```python import os import requests resp = requests.post( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, json={"url": "https://example.com/app/pricing", "render": "true", "country": "de", "include_links": True}, timeout=70, ) print(resp.json()["credits_used"], "credits") ``` *Node.js* ```javascript const res = await fetch('https://webreaderapi.com/api/v1/read', { method: 'POST', headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ url: 'https://example.com/app/pricing', render: 'true', country: 'de', include_links: true }), }); console.log((await res.json()).credits_used); ``` ## Qual formato de saída devo escolher? Escolha `markdown` para modelos de linguagem e RAG: títulos, listas, tabelas e links sobrevivem, e o texto fica compacto. Escolha `text` quando você só conta palavras, classifica ou pesquisa, e a marcação seria ruído. Escolha `html` quando seu próprio pipeline já interpreta HTML e você só quer remover o excesso. Os campos de metadados são os mesmos nos três formatos. Só muda o nome do campo de conteúdo: `markdown`, `text` ou `html`. ## Quando devo definir main_content como false? Defina como `false` quando o que você precisa são as partes ao redor do artigo. Exemplos são a navegação de um site para mapear suas seções, um rodapé com dados legais ou de contato, ou uma página de produto cujas especificações ficam em uma barra lateral. Com o padrão `true`, o extrator mantém o bloco de conteúdo principal e descarta navegação, banners de cookies, anúncios, botões de compartilhamento e rodapés. É o que a maioria dos agentes e pipelines de RAG quer, e muitas vezes reduz uma página a uma fração do tamanho do HTML. ## Como o render=auto decide usar um navegador? Primeiro ele busca o HTML bruto, o que é rápido e custa 1 crédito. Se esse HTML tiver pouco texto legível, tipicamente um app que monta a página com JavaScript, ele carrega a página novamente em um navegador headless e a chamada custa 2 créditos. A resposta informa qual caminho foi usado: `rendered` é `true` ou `false`. Defina `render=false` quando você sabe que o site entrega HTML completo e quer um custo fixo. Defina `render=true` para single-page apps, para pular a primeira tentativa. ## O que country e max_chars mudam? `country` lê a página de um endereço no país que você indicar, com o mesmo User-Agent. Use para páginas cujos preços, idioma ou disponibilidade mudam por país. Custa 10 créditos a mais, porque a página passa a ser lida por uma conexão residencial, e não pode ser usado com os países em que o serviço não opera. `max_chars` corta a saída após essa quantidade de caracteres. Não muda o preço, mas protege a janela de contexto de um agente: 20.000 caracteres é um padrão razoável para uma única página enviada a um modelo. ## O /read consegue lidar com arquivos PDF? Sim. Quando a URL retorna um PDF, o texto volta como Markdown no mesmo campo `markdown`. Arquivos PDF de até 20 MB e 100 páginas são convertidos em Markdown, a 1 crédito por bloco iniciado de 10 páginas. PDFs escaneados sem camada de texto retornam pouco ou nenhum texto, porque não há etapa de reconhecimento de caracteres. ## Endpoint read: perguntas frequentes ### O /read segue redirecionamentos? Sim, até 5. A resposta traz o endereço que você pediu em `url` e o endereço realmente lido em `final_url`. Um redirecionamento para um endereço privado ou local é recusado. ### Posso ler uma página que exige login? Não. Se um site recusa nossa requisição, devolvemos a resposta dele: nunca resolvemos CAPTCHAs, nunca entramos em contas e nunca tentamos contornar um bloqueio ou um paywall. Páginas atrás de login ou paywall retornam a recusa do site, e a chamada é gratuita. ### A checagem do robots.txt é feita em toda chamada? Sim, contra uma cópia do robots.txt do site com no máximo 24 horas. Uma URL não permitida retorna `403 blocked_by_robots` e não consome crédito. ### Quantas páginas posso ler ao mesmo tempo? Cada conta tem um limite de quantas páginas lê ao mesmo tempo; seu dashboard mostra esse limite, e o suporte pode aumentá-lo. Para muitas URLs, um [job em lote](https://webreaderapi.com/pt/docs/crawl/) é mais simples do que rodar muitas chamadas paralelas. --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Formato de resposta da API de leitura, campo por campo > Formato de resposta da API de leitura: campos por página, de markdown e word_count a final_url e rendered, e resultados de jobs. Sem KYC, pague com cripto. - URL: https://webreaderapi.com/pt/docs/response/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Toda chamada `/read` retorna um objeto JSON: o conteúdo da página no formato que você pediu, seus metadados e três campos que dizem o que aconteceu e quanto custou. Os resultados de jobs reutilizam o mesmo objeto. **Resposta rápida — O que a resposta de leitura do WebReaderAPI contém?** Uma resposta **WebReaderAPI** `/read` traz o conteúdo da página em `markdown` (ou `text` ou `html`), seus metadados (`title`, `description`, `author`, `published_at`, `language`, `site_name`, `word_count`) e os fatos da busca: `final_url`, `status_code`, `rendered` e `credits_used`. Uma página simples usa 1 crédito, a partir de US$ 0,07/1K páginas em outubro de 2026. Sem KYC; pague com cripto. ## Quais campos descrevem a busca? Estes campos estão sempre presentes em uma resposta bem-sucedida. | Campo | Tipo | Significado | | --- | --- | --- | | `url` | string | O endereço que você enviou | | `final_url` | string | O endereço realmente lido, após redirecionamentos (no máximo 5) | | `status_code` | integer | O status HTTP que o site retornou para o endereço final, normalmente 200 | | `fetched_at` | string | Horário da requisição, ISO 8601 em UTC | | `rendered` | boolean | `true` quando um navegador headless montou a página | | `credits_used` | integer | Créditos cobrados por esta página: 1, 2 com um navegador, mais 10 com `country`; PDFs 1 a cada 10 páginas iniciadas | ## Quais campos descrevem a página? Os metadados vêm da própria página: sua tag title, meta tags, dados estruturados e a assinatura visível. Um campo que a página não fornece fica ausente, então teste antes de usar. | Campo | Tipo | Significado | | --- | --- | --- | | `title` | string | O título da página ou do artigo | | `description` | string | O resumo que a página dá de si mesma | | `language` | string | Código de idioma do conteúdo, como `en` ou `de` | | `author` | string | O autor indicado na página | | `published_at` | string | Data de publicação informada pela página | | `site_name` | string | O nome do próprio site | | `word_count` | integer | Palavras no conteúdo retornado, após a extração e antes de `max_chars` | ## Onde está o conteúdo em si? Um campo de conteúdo é retornado, nomeado conforme o `format` que você escolheu. | Campo | Quando | Conteúdo | | --- | --- | --- | | `markdown` | `format=markdown` (padrão) | Títulos, parágrafos, listas, tabelas e links em Markdown; imagens também com `include_images=true` | | `text` | `format=text` | Texto simples, com parágrafos separados por linhas em branco | | `html` | `format=html` | HTML limpo do conteúdo principal, sem scripts, estilos ou anúncios | | `links` | `include_links=true` | Lista de `{url, text}` para os links encontrados na página, URLs absolutos | *Uma resposta completa (os valores são ilustrativos)* ```json { "url": "https://example.com/guides/compost", "final_url": "https://example.com/guides/compost-at-home", "status_code": 200, "fetched_at": "2026-10-22T10:02:44Z", "rendered": false, "credits_used": 1, "title": "Compost at home: a beginner's guide", "description": "What to put in a compost bin, and what to leave out.", "language": "en", "author": "Sam Rivera", "published_at": "2026-09-14", "site_name": "Example Garden", "markdown": "# Compost at home: a beginner's guide\n\nA compost bin turns kitchen scraps into soil...\n\n## What goes in\n\n- Fruit and vegetable peels\n- Coffee grounds\n\nSee also [Choosing a bin](https://example.com/guides/bins).", "word_count": 1184, "links": [ { "url": "https://example.com/guides/bins", "text": "Choosing a bin" } ] } ``` ## Como sei se uma página veio renderizada ou simples? Veja `rendered`. Com `render=auto`, a API primeiro lê o HTML bruto; ela só inicia um navegador quando esse HTML tem texto de menos, e aí define `rendered` como `true` e `credits_used` como 2. Se um site que você lê com frequência sempre volta renderizado, envie `render=true` desde o início: o custo é o mesmo e você pula uma primeira etapa desperdiçada. Se uma página voltar sem renderização mas com pouco texto, compare `word_count` com o que você vê no navegador. Uma contagem baixa geralmente significa que o conteúdo precisa de JavaScript; tente de novo uma vez com `render=true`. ## Por que final_url pode ser diferente de url? Porque os sites redirecionam. Um link curto, um endereço antigo, uma barra final ausente ou uma troca de idioma levam você para outro lugar. A API segue até 5 redirecionamentos e informa o endereço que finalmente leu em `final_url`. Guarde `final_url` como a fonte canônica de um documento em um índice RAG. Dois valores de `url` diferentes que terminam no mesmo `final_url` são a mesma página, então você pode descartar a duplicata antes de gerar o embedding. ## Como é o resultado de uma tarefa (job)? `GET https://webreaderapi.com/api/v1/jobs/{job_id}` retorna `job_id`, `status` (`queued`, `running` ou `done`), `results`, `next_cursor` e o `credits_used` em execução da tarefa. Cada item de `results` tem uma de duas formas: - uma resposta completa de `/read`, exatamente como descrito acima, para uma página que foi lida; - `{url, error}` para uma página que não foi, onde `error` tem os mesmos `code` e `message` de um [erro de API](https://webreaderapi.com/pt/docs/errors/). `next_cursor` está presente enquanto houver mais resultados prontos; envie-o de volta como `cursor` para obtê-los. A [página de lote e crawl](https://webreaderapi.com/pt/docs/crawl/) tem um loop de polling completo. *Uma página de resultado de tarefa (job) (valores ilustrativos)* ```json { "job_id": "job_5c1e8a90d2", "status": "done", "results": [ { "url": "https://example.com/blog/post-1", "final_url": "https://example.com/blog/post-1", "status_code": 200, "rendered": false, "credits_used": 1, "title": "Post one", "markdown": "# Post one\n\n...", "word_count": 802 }, { "url": "https://example.org/members/area", "error": { "code": "target_refused", "message": "The site refused the request.", "target_status": 403 } } ], "credits_used": 1 } ``` ## Como é uma resposta de erro? Um erro volta com status HTTP 400 ou mais e um corpo JSON `{"error": {"code", "message"}}`. Quando o próprio site recusou a solicitação, `target_status` traz o status que o site enviou. Nenhum erro é cobrado. A [página de erros](https://webreaderapi.com/pt/docs/errors/) lista todos os códigos com a causa e se uma nova tentativa pode ajudar. ## Formato da resposta: perguntas frequentes ### O Markdown é cortado quando defino max_chars? Sim. O campo content para nessa quantidade de caracteres. `word_count` ainda descreve todo o conteúdo extraído, então você pode ver quanto ficou de fora. ### Por que author ou published_at estão ausentes? Porque a página não informa isso de uma forma que possa ser lida. Muitas páginas não trazem autor nem data. Campos ausentes são omitidos em vez de retornados vazios. ### Os links no Markdown são absolutos? Os links na lista `links` são absolutos. Escreva seu código para aceitar os dois formatos no corpo do Markdown e resolva os relativos com base em `final_url`. ### Posso obter o HTML bruto da página inteira? O mais próximo é `format=html` com `main_content=false`, que retorna a página inteira limpa de scripts e estilos. O HTML original, byte a byte, não faz parte da v1. --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # FAQ do WebReaderAPI > FAQ do WebReaderAPI: respostas sobre a API de leitura de páginas web, preço por página, JavaScript, robots.txt, sites bloqueados e pagamentos com cripto. - URL: https://webreaderapi.com/pt/faq/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Respostas às perguntas mais frequentes de desenvolvedores, criadores de IA e donos de sites sobre como converter páginas web em Markdown com o WebReaderAPI. Cada resposta começa com a resposta. **Resposta rápida — O que as pessoas mais perguntam sobre o WebReaderAPI?** Principalmente o preço por página, como páginas com JavaScript e PDFs são contados e o que acontece quando um site recusa o robots. Resumindo: o **WebReaderAPI** cobra um crédito por página lida, dois com navegador, a partir de US$ 0,07/1K páginas em outubro de 2026; páginas recusadas ou com falha não custam nada; o robots.txt é sempre respeitado. Sem KYC; pague com cripto. ## Preço e créditos ### Quanto custa o WebReaderAPI? Os pacotes pré-pagos custam US$ 3,75 por 10.000 páginas, US$ 21,75 por 100.000 páginas e US$ 74,25 por 1.000.000 de páginas, em outubro de 2026. A tarifa cai para US$ 0,07/1K páginas no pacote de 5.000.000 de páginas. A [página de preços](https://webreaderapi.com/pt/pricing/) lista todos os pacotes. ### O que um crédito compra? Uma página lida sem navegador. Uma página que precisa de renderização JavaScript usa dois créditos, e ler a partir de um país escolhido adiciona um. A resposta informa o que foi usado em `credits_used`, para você acompanhar o custo por página nos seus próprios logs. ### Os créditos expiram? Não. Os créditos pré-pagos nunca expiram: as páginas não usadas ficam na sua conta até você usá-las. Um pacote comprado para um rastreamento pontual mantém as páginas não usadas para o próximo projeto. ### Sou cobrado quando uma página não pode ser lida? Não. Erros não usam crédito, seja a causa do nosso lado, da rede ou do site. Isso inclui páginas recusadas pelo robots.txt, por um sinal `ai-input=no` ou pela própria resposta do site. ### Existe plano gratuito? Não. Não há plano gratuito: o menor pack é a forma de testar, pago a partir da recarga mínima, e o valor adicionado apenas para atingir essa recarga mínima pode ser devolvido sob solicitação em até 30 dias, em USDT ou USDC, enquanto não for gasto. ### Qual é o menor valor que posso gastar? A recarga mínima é US$ 25. O menor pacote, 10.000 páginas, custa US$ 3,75; o restante da recarga fica no seu saldo para pacotes futuros ou pode ser solicitado de volta em até 30 dias, se não for usado. ## O que a API lê e retorna ### O WebReaderAPI consegue ler páginas feitas com JavaScript? Sim. Renderização de JavaScript em um navegador headless quando a página precisa (render=auto), ou sempre, ou nunca. Com `render=auto`, um navegador é usado apenas quando o HTML bruto tem pouco texto, então páginas simples continuam em um crédito. ### Ele consegue converter arquivos PDF? Sim. Arquivos PDF de até 20 MB e 100 páginas são convertidos em Markdown, a 1 crédito por bloco iniciado de 10 páginas. Envie a URL do PDF para o mesmo endpoint `/read`; o texto volta como Markdown. ### Posso ler um site inteiro? Sim, com uma tarefa de rastreamento (crawl). Rastreie um site por job, até 10.000 páginas, seguindo o sitemap, o robots.txt e o Crawl-delay do site. Você pode restringi-la a caminhos como `/docs/*`; cada página lida usa créditos como uma requisição única. ### Quantas URLs posso enviar de uma vez? Até 100 URLs por job em lote. Um lote roda como tarefa: você envia a lista, recebe um `job_id` e coleta todos os resultados quando a tarefa termina. ### Como mantenho uma página dentro da janela de contexto do meu modelo? Defina `max_chars`. O Markdown é cortado nesse comprimento, de 1.000 a 500.000 caracteres. Combinado com `main_content=true`, isso mantém páginas longas dentro de um orçamento de tokens previsível. ### O Markdown mantém tabelas, blocos de código e links? Sim. Títulos, listas, tabelas, blocos de código e links mantêm sua forma Markdown. Os links ficam inline; adicione `include_links=true` para recebê-los também como uma lista separada, e `include_images=true` para manter as imagens. ### O que significa "conteúdo principal"? A parte da página pela qual o leitor veio: o artigo, a documentação ou a descrição do produto. Com `main_content=true`, o padrão, menus, banners de cookies, anúncios, barras laterais e rodapés são removidos. Defina como `false` para converter a página inteira. ### Posso ler uma página como ela aparece em outro país? Sim, com o parâmetro `country` e um código de país de duas letras. Escolher o país de onde a página é lida adiciona 10 créditos, porque a página passa a ser lida por uma conexão residencial naquele país. Alguns sites mudam preços, idioma ou conteúdo conforme o país. ## robots.txt e páginas recusadas ### O WebReaderAPI respeita o robots.txt? Sempre. Respeitamos o robots.txt: nosso crawler se identifica como WebReaderAPI, segue as regras escritas para ele ou para todos os robôs e não lê uma página que o site proíbe. Páginas recusadas não são cobradas. A [página do bot](https://webreaderapi.com/pt/bot/) mostra o user agent e como os donos de sites podem permiti-lo ou recusá-lo. ### O que acontece com sites protegidos pelo Cloudflare ou por outro filtro de bots? Se o site deixa nosso rastreador (crawler) passar, a página é lida normalmente. Se ele recusa ou responde com uma página de desafio, retornamos essa resposta como `target_refused` e não cobramos nada. Nunca tentamos superar um desafio. ### O WebReaderAPI consegue ler páginas atrás de login ou paywall? Não, nunca, mesmo com credenciais que você forneça. Conteúdo que exige uma conta ou uma assinatura fica fora do escopo, e pedir por ele viola a [Política de Uso Aceitável](https://webreaderapi.com/pt/acceptable-use/). ### O que é o sinal ai-input=no? Uma linha que alguns sites adicionam ao robots.txt, da Content Signals Policy, para recusar o uso de suas páginas como entrada para respostas de IA. Se um site declara Content-Signal: ai-input=no no seu robots.txt, não lemos as páginas dele para você; a API retorna `blocked_by_site_policy`, sem custo. ### Ler páginas web para IA é legal? Depende do conteúdo, do país e do que você faz com o texto. Respeitar o robots.txt e ficar longe de dados pessoais e paywalls reduz o risco. Nossa [visão geral das regras](https://webreaderapi.com/pt/guides/is-reading-web-pages-for-ai-legal/) resume os pontos principais; não é aconselhamento jurídico. ## Conta, pagamento e privacidade ### Preciso verificar minha identidade? Não. WebReaderAPI não pede documento de identidade, selfie, documentos da empresa nem cartão. Login pelo número da conta; e-mail é opcional. A [página sem KYC](https://webreaderapi.com/pt/no-kyc-web-reader-api/) explica o que ainda se aplica. ### Com quais criptomoedas posso pagar? BTC, USDT, USDC, ETH, SOL, LTC. USDT funciona em TRC-20 ou ERC-20, USDC em ERC-20. Envie o valor exato exibido, clique em "I've sent the payment" e a recarga é creditada assim que for confirmada. ### Posso receber reembolso? Sim, no seu saldo. Um pack usado em menos de 20% volta em até 72 horas após a compra, e um pack que nunca funcionou é creditado integralmente. A [política de reembolso](https://webreaderapi.com/pt/refunds/) tem a regra exata e três exemplos. ### Como funcionam as chaves de API? Crie várias chaves de API, por exemplo uma por agente ou projeto, e revogue qualquer uma delas no seu dashboard. Envie sua chave de API no header Authorization como Bearer token, ou no parâmetro de consulta api_key. Uma chave por aplicação ou agente facilita revogar uma sem parar as outras. ### O que vocês registram sobre minhas requisições? O nome do host de cada página, nunca a URL completa nem o seu conteúdo, além do horário, status e créditos, por 30 dias. Não guardamos nenhuma cópia das páginas que você lê. A [política de privacidade](https://webreaderapi.com/pt/privacy/) tem os detalhes. ## Desenvolvedores e agentes de IA ### Há código para Python e Node.js? Sim. Os guias de [Python](https://webreaderapi.com/pt/docs/python/) e [Node.js](https://webreaderapi.com/pt/docs/node/) mostram leituras individuais, lotes, rastreamentos (crawls) e retentativas, e o [início rápido](https://webreaderapi.com/pt/docs/) tem um exemplo com curl. Não é preciso nenhum pacote SDK: a API é HTTPS puro com JSON. ### O Claude, o Cursor ou outro cliente MCP conseguem usar o WebReaderAPI? Sim, por meio de um pequeno servidor MCP que você mesmo executa, documentado na [página de MCP](https://webreaderapi.com/pt/docs/mcp/). Ele expõe uma ferramenta que recebe uma URL e retorna a página como Markdown. ### Funciona com LangChain e LlamaIndex? Sim. A [página de LangChain e LlamaIndex](https://webreaderapi.com/pt/docs/langchain/) mostra um document loader que converte URLs em documentos com seus metadados, prontos para chunking e embedding. ### Quantas páginas posso ler ao mesmo tempo? Cada conta tem um limite de quantas páginas lê ao mesmo tempo; seu dashboard mostra esse limite, e o suporte pode aumentá-lo. Os rastreamentos (crawls) também seguem o `Crawl-delay` de cada site, então um rastreamento grande de um domínio pode levar mais tempo do que o número de páginas sugere. ### Quem opera o WebReaderAPI? SerpGoat LLC. Veja a [página sobre](https://webreaderapi.com/pt/about/) para entender como o serviço funciona e como falar com uma pessoa. O suporte por e-mail responde em até 12 horas, todos os dias da semana, incluindo ajuda com rastreamento (crawl) e integrações. ### Qual é a velocidade de uma leitura? Depende principalmente do site e de ser necessário ou não um navegador. Não publicamos um número de velocidade até termos medido um em uma amostra pública; quando tivermos, ele aparecerá com o método e a data na [página de status](https://webreaderapi.com/pt/status/). --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Glossário da API de leitura web > Glossário de 36 termos para ler páginas web com uma API: Markdown, conteúdo principal, renderização de JavaScript, robots.txt, RAG, MCP, créditos e mais. - URL: https://webreaderapi.com/pt/glossary/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) As palavras que você encontra ao converter páginas web em texto para modelos de linguagem, do lado do HTML ao lado da IA, com links para onde cada uma importa na documentação. **Resposta rápida — O que significam os principais termos da API de leitura web?** Uma API de leitura web busca uma página, mantém o **conteúdo principal** e o retorna como **Markdown** que um modelo consegue ler. O **WebReaderAPI** adiciona **renderização de JavaScript** quando uma página precisa de um navegador, segue o **robots.txt** e os **Content Signals**, e cobra um **crédito** por página, a partir de US$ 0,07/1K páginas em outubro de 2026. Os 36 termos abaixo explicam o resto. ## Do lado da página web **HTML** — A linguagem de marcação das páginas web. O HTML bruto mistura o texto que você quer com tags, scripts e estilos, e é por isso que ele é ruim de ler para um modelo de linguagem. **DOM** — O Document Object Model: a árvore de elementos que o navegador monta a partir do HTML e depois altera com JavaScript. Uma página renderizada é lida a partir do DOM, não do HTML bruto. **Renderização de JavaScript** — Executar os scripts de uma página em um navegador para que apareça o conteúdo carregado depois da primeira resposta. O WebReaderAPI faz isso quando necessário (`render=auto`), por dois créditos em vez de um. **Navegador headless** — Um motor de navegador real que roda sem tela, controlado por software. É assim que páginas com muito JavaScript são renderizadas em um servidor. **Extração do conteúdo principal** — Encontrar a parte da página que o leitor veio buscar, como o artigo ou a documentação, e deixar de fora tudo ao redor. Na nossa API isso é `main_content=true`, o padrão. **Readability** — Tanto uma qualidade do texto quanto o nome de uma família conhecida de algoritmos que pontuam os blocos da página para encontrar o conteúdo principal, como fazem os modos de leitura dos navegadores. **Boilerplate** — Texto repetido em todas as páginas de um site: menus, avisos de cookies, barras laterais, rodapés, botões de compartilhar. Removê-lo é a maior parte do trabalho de um leitor de páginas web. **Markdown** — Um formato de texto simples em que `#` marca um título, `-` um item de lista e `[text](url)` um link. Os modelos leem bem e ele usa muito menos tokens que o HTML. **Metadados** — Informações sobre uma página, e não o texto dela: título, descrição, autor, data de publicação, idioma. O WebReaderAPI os retorna junto do Markdown quando a página os informa. **Extração de PDF** — Converter o texto de um arquivo PDF em Markdown. Arquivos PDF de até 20 MB e 100 páginas são convertidos em Markdown, a 1 crédito por bloco iniciado de 10 páginas. **Sitemap** — Um arquivo XML em que um site lista suas páginas. Um job de rastreamento (crawl) começa por ele quando existe, o que encontra páginas mais rápido e com menos requisições. **Paywall** — Uma barreira que mostra o conteúdo apenas para assinantes. O WebReaderAPI nunca lê atrás de uma. ## Do lado do rastreador **Crawler** — Um programa que busca páginas web com um propósito. O nosso busca apenas as páginas que os clientes pedem, e a [página do bot](https://webreaderapi.com/pt/bot/) descreve isso. **User agent** — O nome que um cliente envia em cada requisição. O nosso é `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, então os donos de sites sempre sabem quem está pedindo. **robots.txt** — Um arquivo na raiz de um site que diz aos crawlers quais caminhos eles podem buscar, padronizado como RFC 9309. Respeitamos o robots.txt: nosso crawler se identifica como WebReaderAPI, segue as regras escritas para ele ou para todos os robôs e não lê uma página que o site proíbe. Páginas recusadas não são cobradas. **Crawl-delay** — Uma linha do robots.txt que pede aos crawlers para esperar um número de segundos entre requisições. Nossos jobs de rastreamento (crawl) a respeitam. **Content Signals** — Uma política para linhas do robots.txt como `Content-Signal: search=yes, ai-input=no`, que declaram como o conteúdo de um site pode ser usado, inclusive por IA. **ai-input** — A configuração do Content Signals que cobre o uso de uma página como entrada para uma resposta de IA. Se um site declara Content-Signal: ai-input=no no seu robots.txt, não lemos as páginas dele para você. **llms.txt** — Um arquivo Markdown que alguns sites publicam em `/llms.txt` para dar aos modelos de linguagem um guia curto do seu conteúdo e das suas páginas principais. **Rastreamento (crawl)** — Ler muitas páginas de um mesmo site seguindo seus links e seu sitemap. Rastreie um site por job, até 10.000 páginas, seguindo o sitemap, o robots.txt e o Crawl-delay do site. **Job em lote** — Uma lista de URLs enviada em uma única requisição e processada em segundo plano. Até 100 URLs por job em lote. **HTTP 403** — O status que um servidor envia para recusar uma requisição. Quando um site responde 403 ao nosso crawler, a API retorna `target_refused` e não cobra nada. **HTTP 429** — O status para excesso de requisições. Vindo de um site, significa desacelerar; vindo da nossa API (`concurrency_limit`), significa que sua conta atingiu o limite de leituras simultâneas. **Backoff exponencial** — Esperar mais tempo após cada tentativa falha (por exemplo, 1, 2 e depois 4 segundos) antes de tentar de novo, para não sobrecarregar um servidor ocupado. ## Do lado da IA **Token** — A unidade que um modelo de linguagem lê e pela qual é cobrado, aproximadamente uma palavra curta ou parte dela. Markdown limpo usa muito menos tokens do que a mesma página em HTML. **Janela de contexto** — A quantidade de texto que um modelo consegue absorver de uma vez. O parâmetro `max_chars` mantém cada página dentro do orçamento que você define. **RAG** — Geração aumentada por recuperação: o modelo responde a partir de documentos buscados para a pergunta. Um leitor de páginas web fornece esses documentos a partir de páginas ao vivo. **Chunking** — Dividir um documento longo em trechos antes de indexá-lo. Os títulos em Markdown fornecem pontos naturais de divisão. **Embedding** — Uma lista de números que representa o significado de um trecho, usada para encontrar trechos semelhantes a uma pergunta. **Vector store** — Um banco de dados que armazena embeddings e retorna os trechos mais próximos de uma consulta, o destino habitual das páginas web divididas em chunks em um sistema de RAG. **Tool calling** — A capacidade de um modelo de pedir à aplicação que execute uma função, como ler uma URL, e de usar o resultado. Veja [OpenAI function calling](https://webreaderapi.com/pt/docs/openai/). **MCP** — O Model Context Protocol, uma forma padrão de conectar ferramentas a clientes de IA como Claude Desktop ou Cursor. Nossa [página de MCP](https://webreaderapi.com/pt/docs/mcp/) mostra uma ferramenta de fetch construída sobre a API. ## Do lado da cobrança **Crédito** — A unidade de uso da API. 1 crédito = 1 página lida sem navegador; 2 créditos quando a página precisa de um navegador para renderizar JavaScript. Uma requisição que falha, ou que o robots.txt de um site recusa, não é cobrada. **Simultaneidade** — Quantas leituras sua conta pode executar no mesmo momento. Cada conta tem um limite de quantas páginas lê ao mesmo tempo; seu dashboard mostra esse limite, e o suporte pode aumentá-lo. **KYC** — Know your customer: verificações de identidade que alguns serviços exigem, como um documento de identidade ou uma selfie. WebReaderAPI não pede nada disso. **Stablecoin** — Uma criptomoeda que acompanha uma moeda como o dólar americano. USDT e USDC são as duas aceitas para recargas; a lista completa de moedas está BTC, USDT, USDC, ETH, SOL, LTC. --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Como converter uma página web em Markdown para um LLM > Converta uma página web em Markdown para um LLM em 2026: três métodos, o que o Markdown limpo preserva, como limitar tokens e código Python para o chunking. - URL: https://webreaderapi.com/pt/guides/convert-web-page-to-markdown/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Copiar e colar funciona para uma página. Uma biblioteca funciona se você roda seu próprio rastreador (crawler). Uma API funciona quando você quer uma requisição por página. Aqui você vê como escolher, como é uma boa saída e código que você pode reutilizar. **Resposta rápida — Como faço para converter uma página web em Markdown para um LLM?** Busque a página, mantenha apenas o conteúdo principal e então transforme títulos, listas, tabelas e links em Markdown e limite o tamanho ao orçamento do seu modelo. Você pode fazer isso à mão, com bibliotecas de código aberto ou com uma chamada de API: **WebReaderAPI** retorna o Markdown e os metadados por um crédito por página, a partir de US$ 0,07/1K páginas em outubro de 2026. Sem KYC; pague com cripto. ## Três formas de obter Markdown de uma página web | Atributo | Valor | | --- | --- | | À mão | Copie o texto do navegador ou da visualização de leitura; serve para poucas páginas | | Bibliotecas de código aberto | Readability, Trafilatura, MarkItDown ou Crawl4AI dentro do seu próprio fetcher | | Uma API de leitura de páginas web | `GET https://webreaderapi.com/api/v1/read?url=…` retorna Markdown, título, autor e data | | Controle de comprimento | `max_chars` no WebReaderAPI, ou corte o texto você mesmo após a conversão | | Páginas com JavaScript | Precisa de um navegador headless; o WebReaderAPI as renderiza quando necessário, por 2 créditos | ## Qual método devo usar? Escolha pelo volume e por quanta infraestrutura você quer manter. | Método | Bom para | Você cuida de | |---|---|---| | Copiar e colar | Algumas páginas, um prompt pontual | Limpar manualmente | | Biblioteca no seu código | Volumes constantes, controle total | Buscar, navegadores, robots.txt, PDFs, novas tentativas | | API de leitor web | Agentes e pipelines que leem muitos sites | Apenas a requisição e o resultado | Bibliotecas dão controle e nenhuma taxa por página. O custo é operacional: um navegador headless para páginas com JavaScript, uma verificação de robots.txt, tratamento de conjunto de caracteres e redirecionamentos, e um caminho separado para PDFs. Uma API junta tudo isso em uma única chamada HTTP. ## O que um bom Markdown deve manter e o que deve descartar? Um bom Markdown mantém todo elemento que carrega significado e descarta tudo que existe apenas para layout ou marketing. - **Mantenha os títulos** como `#`, `##` e `###`: eles mostram ao modelo, e ao seu chunker, onde cada tópico começa. - **Mantenha listas e tabelas** como listas Markdown e tabelas com pipe, para que passos e números fiquem legíveis. - **Mantenha os links** como `[text](url)`: eles permitem que um assistente cite e siga as fontes. - **Mantenha os blocos de código** cercados, com a linguagem quando a página a mostra. - **Descarte menus, avisos de cookies, anúncios, widgets de posts relacionados e rodapés**: eles se repetem em toda página e poluem a recuperação. Verifique o resultado em algumas das suas páginas reais. As ferramentas de extração mais divergem em fóruns, tabelas longas e páginas com vários artigos. ## Quanto menor o Markdown é em relação ao HTML? Normalmente bem menor, porque os elementos de página e a marcação desaparecem. Quando o Cloudflare lançou seu recurso Markdown for Agents em 12 de fevereiro de 2026, a página de exemplo passou de 16.180 tokens em HTML para 3.150 tokens em Markdown, cerca de 80% menos. Sua própria proporção depende do site. Artigos longos encolhem menos, em porcentagem, do que páginas curtas envoltas em templates pesados. Meça nas suas fontes antes de dimensionar um orçamento. ## Como mantenho uma página dentro do orçamento de tokens do meu modelo? Limite o texto antes que ele chegue ao modelo e depois divida o que sobrar pelos títulos. Com o WebReaderAPI, o parâmetro `max_chars` corta o Markdown em um comprimento definido, entre 1.000 e 500.000 caracteres. O campo `word_count` informa qual era o comprimento do artigo completo, para que um agente decida se vale a pena ler o restante. Para recuperação, divida primeiro pelos títulos e só então corte as seções longas. Um chunk que começa com seu próprio título mantém o tópico; um chunk cortado no meio de uma frase de uma página longa não. *Python: leia uma página como Markdown e divida-a em chunks por título* ```python import os import re import requests API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} def page_to_chunks(url, max_chars=60000, chunk_len=1500): params = {"url": url, "format": "markdown", "max_chars": max_chars} resp = requests.get(API, headers=HEADERS, params=params, timeout=90) data = resp.json() if resp.status_code != 200: print("not read:", data["error"]["code"]) return [] chunks = [] for section in re.split(r"\n(?=#{1,3} )", data["markdown"]): section = section.strip() while section: chunks.append(section[:chunk_len]) section = section[chunk_len:] return [{"text": c, "source": data["final_url"], "title": data["title"]} for c in chunks] if __name__ == "__main__": for chunk in page_to_chunks("https://example.com/guides/compost")[:3]: print(chunk["title"], "|", chunk["text"][:80]) ``` ## O que costuma dar errado, e como identifico isso? Quatro problemas respondem pela maioria das conversões ruins: - **Saída vazia.** A página constrói o conteúdo com JavaScript. Procure um `word_count` baixo; renderize a página em um navegador ou defina `render=true`. - **Texto de cookie ou consentimento no resultado.** O extrator manteve um banner. Prefira a extração do conteúdo principal e confira as primeiras linhas de cada resultado. - **Tabelas ausentes.** Alguns sites desenham tabelas como imagens ou elementos canvas; nenhum extrator de texto consegue lê-las. - **Uma recusa em vez de uma página.** O site desautorizou o robots no robots.txt ou recusou a requisição. Respeite: peça acesso ao proprietário ou use uma API oficial ou feed, se o site oferecer um. Nenhum desses problemas se resolve tentando de novo mais rápido. Leia o erro e depois mude o método ou a fonte. ## Conversão de página web em Markdown: perguntas frequentes ### O Markdown é melhor que texto simples para um LLM? Para a maioria das páginas, sim. O Markdown mantém títulos, listas, tabelas e links com um custo baixo de tokens, então o modelo consegue ver a estrutura e citar fontes. O texto simples é um pouco mais curto, mas perde essa estrutura. ### Posso converter um site inteiro, não só uma página? Sim. Faça o rastreamento (crawl) e converta cada página. A [API de rastreamento](https://webreaderapi.com/pt/crawl-api/) do WebReaderAPI faz as duas coisas em um só job: Rastreie um site por job, até 10.000 páginas, seguindo o sitemap, o robots.txt e o Crawl-delay do site. ### Posso converter um PDF da mesma forma? Sim, enviando a URL do PDF para o mesmo endpoint. Arquivos PDF de até 20 MB e 100 páginas são convertidos em Markdown, a 1 crédito por bloco iniciado de 10 páginas. ### E as páginas atrás de um login? Não as converta por meio de um serviço de terceiros, a menos que sejam suas e você mesmo as tenha exportado. O WebReaderAPI lê apenas páginas públicas e nunca faz login em contas. ### Existe uma forma gratuita de fazer isso? Bibliotecas de código aberto são gratuitas para usar e rodam nas suas próprias máquinas. O WebReaderAPI não tem plano gratuito; seu menor pacote é 10.000 páginas por US$ 3,75, pago com cripto e sem KYC. ## Fontes 1. [Apresentando o Markdown for Agents](https://blog.cloudflare.com/markdown-for-agents/) — Cloudflare (2026-02-12) --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Ler páginas web para IA é legal? Os fatos datados em 2026 > É legal ler páginas web para agentes de IA e RAG em 2026? Regras de opt-out da UE, o código GPAI sobre robots.txt e casos nos EUA. Não é conselho jurídico. - URL: https://webreaderapi.com/pt/guides/is-reading-web-pages-for-ai-legal/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Não há uma resposta única, e vários casos ainda estão em aberto. Esta página lista as regras e os eventos judiciais que importam para ler páginas públicas com uma ferramenta de IA, com datas e fontes, e o que fazemos do nosso lado. Não é aconselhamento jurídico. **Resposta rápida — É legal ler páginas web com uma ferramenta de IA?** Ler páginas públicas é amplamente praticado, mas as regras dependem do país, do conteúdo e de como ele é acessado. Na UE, opt-outs legíveis por máquina, como o robots.txt, limitam a mineração de texto e dados. Nos EUA, vários casos de 2025–2026 sobre IA e acesso automatizado estão em aberto, sem julgamento final. **WebReaderAPI** respeita o robots.txt e os opt-outs de IA; sem KYC, cripto. Não é aconselhamento jurídico. ## Datas-chave | Atributo | Valor | | --- | --- | | 17 de abril de 2019 | Diretiva DSM da UE, artigo 4(3): a mineração de texto e dados para fins comerciais pode ser reservada por meios legíveis por máquina | | 10 de julho de 2025 | Código de Prática de GPAI da UE: signatários se comprometem com rastreadores que leem e seguem o robots.txt | | 5 de dezembro de 2025 | The New York Times processou o Perplexity pela recuperação do seu conteúdo (alegações) | | 31 de julho de 2026 | Reddit v. SerpApi e Perplexity: alegações sob o DMCA §1201(a) sobrevivem a uma moção de dispensa (alegações) | | Reportado em 5 de agosto de 2026 | Nono Circuito anula a liminar da Amazon contra o agente Comet do Perplexity | ## O que a lei da UE diz sobre a leitura de conteúdo da web? A lei da UE permite a mineração de textos e dados de conteúdo legalmente acessível, mas deixa os titulares de direitos reservarem esse uso. O Artigo 4(3) da Diretiva DSM (2019/790) diz que a exceção comercial se aplica apenas quando o uso não foi expressamente reservado "de forma adequada, como por meios legíveis por máquina" para conteúdo publicado online. O Código de Prática para modelos de IA de uso geral da Lei de IA da UE, publicado em 10 de julho de 2025, vai além para seus signatários. Eles se comprometem com rastreadores que leem e seguem o robots.txt e com outros protocolos legíveis por máquina adequados. É por isso que respeitar o robots.txt e as preferências de IA declaradas se tornou uma linha de base para o uso europeu. ## Quais casos dos EUA importam, e em que pé estão? Nenhum produziu uma sentença final sobre a leitura de páginas públicas para IA. Os fatos até agora são todas alegações, a menos que um tribunal as tenha decidido: - **Reddit v. SerpApi, Perplexity e outros (S.D.N.Y.).** Em 31 de julho de 2026, o tribunal deixou as alegações sob o DMCA §1201(a) prosseguirem na fase de petição inicial, tratando as proteções baseadas em desafio do Google como medidas que controlam o acesso. Nenhum réu foi considerado responsável. - **The New York Times v. Perplexity.** Protocolado em 5 de dezembro de 2025. O Times alega a recuperação do seu conteúdo no momento da consulta depois de ter bloqueado o Perplexity no robots.txt. - **Amazon v. Perplexity.** Conforme reportado em 5 de agosto de 2026, o Nono Circuito anulou uma liminar contra o agente de compras Comet do Perplexity, observando que o assistente agiu conforme as instruções do seu usuário. O painel disse que não estabeleceu uma regra ampla para IA agêntica. A direção é mista, e os recursos continuam. Trate qualquer resumo, incluindo este, como datado. ## O que reduz o risco quando uma ferramenta de IA lê páginas? Algumas práticas aparecem em toda regra e caso acima: - **Leia apenas páginas públicas.** Sem logins, sem áreas de membros, sem paywalls. - **Respeite as exclusões legíveis por máquina.** robots.txt e preferências de IA declaradas, como `ai-input=no`. - **Nunca contorne uma proteção.** Sem user agents disfarçados, sem rotacionar endereços para escapar de bloqueios, sem resolver desafios. - **Evite dados pessoais.** Não colete perfis, dados de contato ou outras informações sobre pessoas privadas. - **Credite suas fontes.** Mantenha a URL com cada página e mostre-a quando uma resposta depender dela. Essas são boas práticas, não uma garantia. Consulte um advogado sobre o seu próprio caso de uso. ## O que o WebReaderAPI faz do seu lado? Construímos o serviço em torno dessas práticas. Respeitamos o robots.txt: nosso crawler se identifica como WebReaderAPI, segue as regras escritas para ele ou para todos os robôs e não lê uma página que o site proíbe. Páginas recusadas não são cobradas. Se um site declara Content-Signal: ai-input=no no seu robots.txt, não lemos as páginas dele para você. Se um site recusa nossa requisição, devolvemos a resposta dele: nunca resolvemos CAPTCHAs, nunca entramos em contas e nunca tentamos contornar um bloqueio ou um paywall. Nossa [Política de Uso Aceitável](https://webreaderapi.com/pt/acceptable-use/) proíbe a coleta de dados pessoais sobre pessoas privadas e a leitura de conteúdo atrás de um login ou de um paywall. Toda requisição se identifica como `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, e nossa [página do rastreador](https://webreaderapi.com/pt/bot/) explica aos donos de sites como entrar em contato conosco. ## Questões legais ### Respeitar o robots.txt torna meu uso legal? Não por si só. Isso responde à questão da exclusão na UE e demonstra boa-fé, mas direitos autorais, contratos, lei de privacidade e os termos de cada site ainda se aplicam. Isto não é aconselhamento jurídico. ### Posso armazenar as páginas que leio? Isso depende do conteúdo, do seu propósito e da sua jurisdição. WebReaderAPI não guarda nenhuma cópia das páginas que lê para você; o que você armazena do seu lado é sua decisão e sua responsabilidade. ### Ler uma página para um usuário é diferente de rastrear um site? Alguns fornecedores e um painel de apelação trataram um agente orientado pelo usuário de forma diferente de um rastreador. A lei não está consolidada, então WebReaderAPI aplica as mesmas regras de robots.txt a ambos. ### Onde posso ler mais? Nosso [guia de robots.txt](https://webreaderapi.com/pt/guides/robots-txt-for-ai-agents/) cobre os padrões, e as fontes abaixo trazem links para os textos e relatórios. Para a sua própria situação, consulte um advogado na sua jurisdição. ## Fontes 1. [Diretiva (UE) 2019/790, artigo 4](https://www.legislation.gov.uk/eudr/2019/790/article/4) — legislation.gov.uk (read 2026-10-22) 2. [AI Office publica a versão final do Código de Prática para modelos de IA de uso geral](https://www.globalpolicywatch.com/2025/07/ai-office-publishes-final-version-of-the-code-of-practice-for-general-purpose-ai-models/) — Global Policy Watch (2025-07) 3. [Reddit v. SerpApi LLC](https://www.loeb.com/en/insights/publications/2026/08/reddit-v-serpapi-llc) — Loeb & Loeb (2026-08) 4. [NYT processa o mecanismo de busca de IA Perplexity](https://the-decoder.com/nyt-sues-ai-search-engine-perplexity-for-alleged-content-misuse/) — The Decoder (read 2026-10-22) 5. [Tribunal dos EUA anula liminar da Amazon contra o Perplexity](https://www.retail-insight-network.com/news/us-court-overturns-amazon-injunction-perplexity/) — Retail Insight Network (2026-08-05) --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Gerador de llms.txt: crie o arquivo a partir de um rastreamento do seu próprio site > Gere um arquivo llms.txt do seu site a partir de um rastreamento: um script Python lê cada página como Markdown e a lista com um resumo. Dados de 2026. - URL: https://webreaderapi.com/pt/guides/llms-txt-generator/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Um arquivo llms.txt lista as páginas principais de um site, com uma linha sobre cada uma, em Markdown que os modelos leem facilmente. Este guia traz números honestos de adoção e, em seguida, um script que rastreia seu site e escreve o arquivo para você. **Resposta rápida — Como gero um arquivo llms.txt para o meu site?** Rastreie seu próprio site, pegue o título e o primeiro parágrafo de cada página e escreva-os como uma lista Markdown sob o nome do seu site em um arquivo em `/llms.txt`. **WebReaderAPI** faz o rastreamento: até 10.000 páginas por job, como Markdown com metadados, a um crédito por página a partir de US$ 0,07/1K páginas em outubro de 2026. O script Python abaixo escreve o arquivo. Sem KYC; pague com cripto. ## llms.txt em resumo | Atributo | Valor | | --- | --- | | O que é | Um arquivo Markdown proposto na raiz de um site que lista suas páginas principais para modelos de linguagem | | Adoção, top 1.000 sites | 9,3% (93 sites) em 18 de setembro de 2026, segundo a Rankability | | Sites com o arquivo | De 4.088 a 36.120 entre junho de 2025 e maio de 2026, segundo a Originality.ai | | Uso medido | 97% dos arquivos llms.txt não receberam nenhuma requisição em um estudo da Ahrefs com 137.000 domínios | | Custo para montar com WebReaderAPI | Um crédito por página rastreada; 10.000 páginas custam US$ 3,75 | ## Vale a pena criar o llms.txt? É barato de criar, e o efeito medido até agora é pequeno. A adoção está crescendo: a Rankability encontrou o arquivo em 9,3% dos 1.000 principais sites em 18 de setembro de 2026, contra 0,3% em junho de 2025, embora o método tenha mudado entre as duas contagens. A Originality.ai contou sites com o arquivo passando de 4.088 para 36.120 entre junho de 2025 e maio de 2026. O uso é outra história. Um estudo da Ahrefs com 137.000 domínios, noticiado pelo PPC Land em 2 de julho de 2026, descobriu que 97% dos arquivos llms.txt não receberam nenhuma requisição, e que os bots de recuperação de IA fizeram 1,1% das requisições que os arquivos receberam. Crie um se a sua documentação é grande e você quer um índice limpo; não espere que ele, sozinho, mude como os assistentes citam você. ## O que vai em um arquivo llms.txt? Um título, um resumo de um parágrafo e, depois, listas agrupadas de links com uma descrição curta para cada um. Um arquivo mínimo é assim: - `# Example Docs` na primeira linha, o nome do site ou do projeto. - `> One sentence on what the site covers.` como resumo entre aspas. - `## Guides`, `## API reference` e outras seções, uma por parte do site. - `- [Page title](https://example.com/page): one line on what the page answers.` para cada página. Mantenha as descrições factuais e curtas. Não escreva instruções para sistemas de IA no arquivo; os assistentes tratam cada vez mais esse tipo de texto como manipulação. *Python: rastreie seu próprio site e escreva o llms.txt* ```python import os import time from collections import defaultdict from urllib.parse import urlparse import requests API = "https://webreaderapi.com/api/v1" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} SITE = "https://docs.example.com/" def first_paragraph(markdown): for block in markdown.split("\n\n"): block = block.strip() if block and not block.startswith(("#", "-", "|", "!", ">")): return " ".join(block.split())[:160] return "" job = requests.post(API + "/crawl", headers=HEADERS, json={"url": SITE, "limit": 300}, timeout=60).json() pages, cursor, delay = [], None, 5 while True: params = {"cursor": cursor} if cursor else {} batch = requests.get(API + "/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=60).json() pages += [p for p in batch.get("results", []) if "markdown" in p] cursor = batch.get("next_cursor") if batch["status"] == "done" and not cursor: break if not cursor: time.sleep(delay) delay = min(delay * 2, 60) sections = defaultdict(list) for p in pages: path = urlparse(p["final_url"]).path.strip("/") section = path.split("/")[0].replace("-", " ").title() if path else "Home" summary = p.get("description") or first_paragraph(p["markdown"]) sections[section].append("- [" + p["title"] + "](" + p["final_url"] + "): " + summary) lines = ["# Example Docs", "", "> Documentation for the Example product.", ""] for name in sorted(sections): lines += ["## " + name, ""] + sorted(sections[name]) + [""] with open("llms.txt", "w", encoding="utf-8") as fh: fh.write("\n".join(lines)) print(len(pages), "pages written to llms.txt") ``` ## Como o script funciona? Ele inicia um job de rastreamento, coleta os resultados página por página e agrupa as páginas pela primeira pasta do caminho. Para cada página, usa a meta description quando o site fornece uma e, caso contrário, o primeiro parágrafo do Markdown, cortado em 160 caracteres. Altere `SITE`, a linha de título e a linha de resumo para combinar com o seu projeto, e aumente `limit` para um site maior, até 10.000 páginas por job. Revise a saída antes de publicar: os nomes das seções vêm da estrutura de URL e podem precisar de um toque humano. ## Meu robots.txt precisa permitir o rastreamento? Sim. O WebReaderAPI lê apenas o que o robots.txt permite para `WebReaderAPI` ou para todos os robôs, e espera qualquer `Crawl-delay` que você definir. Se o seu próprio site bloqueia robôs, adicione um grupo que permita o nosso token durante o rastreamento; nossa [página do rastreador](https://webreaderapi.com/pt/bot/) mostra as linhas exatas. Páginas que o robots.txt proíbe são ignoradas e não são cobradas, então um arquivo restritivo não custa nada a mais; ele apenas deixa essas páginas de fora do llms.txt. ## Quanto custa? Um crédito por página lida, dois para páginas que precisam de navegador. Um site de documentação com 300 páginas custa 300 créditos, ou até 600 se for uma aplicação JavaScript. Isso cabe tranquilamente em 10.000 páginas por US$ 3,75, em outubro de 2026, e os créditos que sobram ficam na sua conta: eles nunca expiram. Recrie o arquivo quando sua documentação mudar. Se você guardar a saída do rastreamento, pode reler apenas as páginas alteradas com um job em lote em vez de rastrear tudo de novo. ## llms.txt: perguntas frequentes ### Onde coloco o arquivo llms.txt? Na raiz do seu site, para ser servido em `/llms.txt`, como texto simples ou Markdown. Alguns sites também publicam `llms-full.txt` com o texto completo das páginas listadas. ### O llms.txt substitui o robots.txt? Não. O robots.txt diz quais caminhos os robôs devem pular; o llms.txt lista páginas que você quer que os modelos encontrem. Mantenha os dois. Nosso [guia do robots.txt](https://webreaderapi.com/pt/guides/robots-txt-for-ai-agents/) explica a diferença. ### O llms.txt fará o ChatGPT ou o Claude citarem meu site? Não há evidência de que ele faça isso sozinho. O estudo da Ahrefs noticiado em julho de 2026 descobriu que 97% dos arquivos não receberam nenhuma requisição. Páginas claras, com respostas diretas e fatos datados, importam mais. ### Posso gerar um llms.txt para o site de outra pessoa? Apenas para seus próprios sites ou com o consentimento do proprietário. O arquivo fala pelo site, então publicá-lo cabe ao dono do site. ## Fontes 1. [Dados de adoção do llms.txt](https://www.rankability.com/data/llms-txt-adoption/) — Rankability (2026-09-18) 2. [Adoção do llms.txt cresce 8,8x, mas 97% dos arquivos não recebem nenhuma requisição de IA](https://ppc.land/llms-txt-adoption-rises-8-8x-but-97-of-files-get-zero-ai-requests/) — PPC Land (2026-07-02) --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # robots.txt para agentes de IA e fetchers: o que se aplica em 2026 > robots.txt para agentes de IA em 2026: rastreadores versus fetchers do usuário, o que dizem OpenAI, Anthropic, Google e Perplexity e Content Signals. - URL: https://webreaderapi.com/pt/guides/robots-txt-for-ai-agents/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) O robots.txt foi escrito para rastreadores, mas depois chegaram os agentes de IA que buscam uma página porque uma pessoa pediu. Hoje os fornecedores traçam essa linha de formas diferentes. Este guia apresenta o padrão, a política declarada de cada fornecedor, os sinais mais recentes e como o nosso próprio rastreador se comporta. **Resposta rápida — Os agentes de IA precisam seguir o robots.txt?** Depende do fornecedor. O robots.txt é um padrão voluntário (RFC 9309, setembro de 2022). Os rastreadores que montam índices geralmente o seguem; para buscas acionadas por um usuário, a OpenAI diz que suas regras podem não se aplicar, a Google e a Perplexity dizem que seus fetchers geralmente as ignoram, e a Anthropic diz que seus bots as respeitam. **WebReaderAPI** segue o robots.txt em toda leitura, sem KYC e com pagamento em cripto. ## robots.txt e IA em outubro de 2026 | Atributo | Valor | | --- | --- | | Padrão | RFC 9309, Robots Exclusion Protocol, setembro de 2022 | | OpenAI ChatGPT-User | As regras do robots.txt "podem não se aplicar" a ações iniciadas pelo usuário | | Anthropic (incl. Claude-User) | Diz que seus bots respeitam as diretrizes do robots.txt, incluindo Crawl-delay | | Fetchers acionados pelo usuário do Google | "Geralmente ignoram as regras do robots.txt" (página atualizada em 2026-08-19) | | Perplexity-User | "Geralmente ignora as regras do robots.txt" | | Content Signals | Política da Cloudflare de 24 de setembro de 2025: `search`, `ai-input`, `ai-train` | | Preferências de IA do IETF | Rascunhos de grupo de trabalho, ainda não um RFC | | WebReaderAPI | Segue o robots.txt e o `ai-input=no` em toda leitura; token `WebReaderAPI` | ## O que o robots.txt realmente faz? Ele informa aos clientes automatizados quais caminhos um site prefere que eles evitem. O arquivo fica na raiz de um host, agrupa regras por token de user-agent e usa linhas `Allow` e `Disallow`. O RFC 9309, publicado em setembro de 2022, transformou a convenção de longa data em padrão. O RFC deixa explícito que o arquivo não bloqueia nada: "These rules are not a form of access authorization." A adesão é voluntária. É por isso que a política declarada de cada fornecedor importa, e por isso sites que querem limites rígidos também usam firewalls e gestão de bots. ## Por que crawlers e fetchers acionados pelo usuário são diferentes? Um crawler decide sozinho quais páginas visitar; um fetcher acionado pelo usuário visita uma página porque uma pessoa pediu. Muitos fornecedores tratam o segundo caso como um navegador agindo em nome de seu usuário e dizem que o robots.txt não se aplica totalmente. | Fetcher | Política declarada (lida em 2026-10-22) | |---|---| | OpenAI ChatGPT-User | as regras do robots.txt "may not apply" a ações iniciadas pelo usuário; os sites são direcionados ao OAI-SearchBot para opt-out de busca | | Anthropic Claude-User | a Anthropic diz que seus bots respeitam as diretrizes do robots.txt; bloquear o Claude-User interrompe a recuperação para consultas de usuários | | Fetchers acionados pelo usuário do Google | "Generally ignore robots.txt rules" porque um usuário solicitou a busca | | Perplexity-User | "Generally ignores robots.txt rules" pelo mesmo motivo | | Servidor de fetch de referência do MCP | Obedece ao robots.txt para fetches iniciados pelo modelo por padrão, não para os iniciados pelo usuário | A divisão é real e documentada. Se você cria um agente, decida de que lado está e deixe isso claro no seu user agent e na documentação. ## O que são Content Signals, aipref e RSL? São formas mais recentes de dizer o que os sistemas de IA podem fazer com o conteúdo, não apenas se um robô pode buscá-lo. - **Content Signals.** A Cloudflare publicou esta política em 24 de setembro de 2025. Um robots.txt pode declarar `search`, `ai-input` (uso como entrada para uma resposta de IA, como grounding) e `ai-train`. O robots.txt gerenciado da Cloudflare serve `search=yes, ai-train=no` por padrão. - **Preferências de IA do IETF (aipref).** Os rascunhos de vocabulário e de anexo do grupo de trabalho ainda eram Internet-Drafts em outubro de 2026, com intenção de se tornarem Proposed Standards. - **Web Bot Auth.** Uma forma de os bots assinarem suas requisições; o grupo de trabalho do IETF adotou o rascunho do seu protocolo em 1º de setembro de 2026. - **RSL (Really Simple Licensing).** Seu site informa que a especificação RSL 1.0 está disponível; ela permite que editores declarem termos de licenciamento, incluindo pagamento por crawl, por meio de robots.txt, headers ou RSS. ## O llms.txt é a mesma coisa que o robots.txt? Não. O robots.txt diz o que não buscar; o llms.txt é um arquivo proposto que lista as páginas principais de um site para modelos de linguagem. A adoção está crescendo, mas o uso medido é baixo. A Rankability encontrou llms.txt em 9,3% dos 1.000 principais sites em 18 de setembro de 2026. Um estudo da Ahrefs com 137.000 domínios, divulgado pelo PPC Land em 2 de julho de 2026, descobriu que 97% dos arquivos llms.txt não receberam nenhuma requisição. Nosso [guia de llms.txt](https://webreaderapi.com/pt/guides/llms-txt-generator/) mostra como criar um a partir de um rastreamento (crawl) do seu próprio site, caso você queira um mesmo assim. ## Como o WebReaderAPI trata o robots.txt? Ele o segue em toda leitura, incluindo leituras que um cliente aciona. Respeitamos o robots.txt: nosso crawler se identifica como WebReaderAPI, segue as regras escritas para ele ou para todos os robôs e não lê uma página que o site proíbe. Páginas recusadas não são cobradas. Se um site declara Content-Signal: ai-input=no no seu robots.txt, não lemos as páginas dele para você. Para jobs de rastreamento (crawl), ele também espera o `Crawl-delay` definido pelo site. Toda requisição carrega o mesmo User-Agent, `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, para que os donos de sites possam nos ver nos logs e criar regras para nós. Nossa [página do crawler](https://webreaderapi.com/pt/bot/) traz os detalhes e um contato para problemas. *Exemplos de robots.txt para o WebReaderAPI* ```text # Block WebReaderAPI from the whole site User-agent: WebReaderAPI Disallow: / # Or: allow it, but keep it out of one folder and slow it down User-agent: WebReaderAPI Disallow: /account/ Crawl-delay: 5 # Or: allow reading for search, but not as AI input (Content Signals) User-agent: * Content-Signal: search=yes, ai-input=no Allow: / ``` ## robots.txt para IA: perguntas comuns ### Bloquear o GPTBot impede o ChatGPT de ler minha página para um usuário? Não necessariamente. A OpenAI documenta tokens separados: GPTBot para treinamento, OAI-SearchBot para busca e ChatGPT-User para ações de usuários, e diz que as regras do robots.txt podem não se aplicar a ações iniciadas pelo usuário. Verifique a documentação atual de cada fornecedor. ### O robots.txt tem validade legal? Não por si só; o RFC 9309 diz que ele não é autorização de acesso. Na UE, os opt-outs legíveis por máquina importam para mineração de texto e dados sob a Diretiva DSM. Veja nossa [visão geral jurídica](https://webreaderapi.com/pt/guides/is-reading-web-pages-for-ai-legal/); não é aconselhamento jurídico. ### Como bloqueio o WebReaderAPI? Adicione um grupo `User-agent: WebReaderAPI` com `Disallow: /` ao seu robots.txt. Nossas leituras o verificam antes de cada página; páginas não permitidas nunca são lidas. ### O WebReaderAPI lê páginas que informam ai-input=no? Não. Se um site declara Content-Signal: ai-input=no no seu robots.txt, não lemos as páginas dele para você. A API retorna `403 blocked_by_site_policy` ao cliente, sem cobrança. ## Fontes 1. [RFC 9309: Robots Exclusion Protocol](https://www.rfc-editor.org/rfc/rfc9309.html) — RFC Editor (September 2022) 2. [Visão geral dos crawlers da OpenAI](https://developers.openai.com/api/docs/bots) — OpenAI (read 2026-10-22) 3. [A Anthropic coleta dados da web, e como os donos de sites podem bloquear o crawler?](https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler) — Anthropic (2026-04-07) 4. [Fetchers acionados pelo usuário do Google](https://developers.google.com/crawling/docs/crawlers-fetchers/google-user-triggered-fetchers) — Google (updated 2026-08-19) 5. [Crawlers da Perplexity](https://docs.perplexity.ai/guides/bots) — Perplexity (read 2026-10-22) 6. [Servidor de fetch do MCP](https://github.com/modelcontextprotocol/servers/tree/main/src/fetch) — Model Context Protocol (read 2026-10-22) 7. [Content Signals Policy](https://blog.cloudflare.com/content-signals-policy/) — Cloudflare (2025-09-24) 8. [Documentos do grupo de trabalho AI Preferences](https://datatracker.ietf.org/wg/aipref/documents/) — IETF (read 2026-10-22) 9. [Documentos do grupo de trabalho Web Bot Auth](https://datatracker.ietf.org/wg/webbotauth/documents/) — IETF (read 2026-10-22) 10. [Really Simple Licensing](https://rslstandard.org/) — rslstandard.org (read 2026-10-22) 11. [Dados de adoção do llms.txt](https://www.rankability.com/data/llms-txt-adoption/) — Rankability (2026-09-18) 12. [Adoção do llms.txt cresce 8,8x, mas 97% dos arquivos não recebem nenhuma requisição de IA](https://ppc.land/llms-txt-adoption-rises-8-8x-but-97-of-files-get-zero-ai-requests/) — PPC Land (2026-07-02) --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Por que agentes de IA recebem erros 403 ao buscar páginas web > Por que o web fetch falha com 403 no Claude Code, OpenClaw e outros agentes de IA em 2026: Cloudflare, robots.txt, rate limits e JavaScript. - URL: https://webreaderapi.com/pt/guides/web-fetch-403-errors/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Um 403 é um site dizendo não. Desde 2025, mais sites dizem isso a agentes de IA por padrão, e desde setembro de 2026 o Cloudflare bloqueia tráfego de agentes em muitos sites novos com suporte a anúncios. Veja como distinguir as causas e o que você pode fazer legitimamente. **Resposta rápida — Por que meu agente de IA recebe um 403 quando busca uma página?** Geralmente porque o site, ou o CDN dele, recusa tráfego automatizado ou de IA. O Cloudflare bloqueia crawlers de IA por padrão para novos domínios desde 1 de julho de 2025 e, a partir de 15 de setembro de 2026, bloqueia tráfego "Agent" em páginas com suporte a anúncios de novos domínios. Outras causas são rate limits e login walls. A solução é permissão, não disfarce. **WebReaderAPI** retorna a resposta do site, sem cobrança; sem KYC, pagar com cripto. ## Causas comuns de uma falha de web fetch | Atributo | Valor | | --- | --- | | 403 de um CDN | O bot management bloqueia crawlers ou agentes de IA por padrão em muitos sites | | 403 ou 401 do site | Login wall, área de membros, regras de região ou um bloqueio rígido a agentes conhecidos | | 429 | Muitas requisições em pouco tempo; o site está aplicando rate limit em você | | 402 | O site pede pagamento, por exemplo por meio do Cloudflare pay per crawl | | 200 mas texto vazio | A página monta o conteúdo com JavaScript; não é um erro, mas não há nada para ler | | Recusado antes da busca | Sua própria ferramenta respeitou o robots.txt e pulou a página | ## O que mudou na web em 2025 e 2026? Grandes provedores de infraestrutura transformaram o bloqueio a IA em padrão. Três mudanças datadas explicam a maioria dos novos 403s: - **1 de julho de 2025:** o Cloudflare anunciou que agora bloqueia crawlers de IA por padrão, perguntando a cada novo domínio no cadastro se deseja permiti-los. No mesmo dia, lançou o pay per crawl em beta privado, que responde com HTTP 402 e um preço. - **1 de julho de 2026:** o Cloudflare introduziu três categorias de tráfego de IA: Search, Agent e Training. "Agent" inclui explicitamente fetchers de chat, como o ChatGPT-User. - **15 de setembro de 2026:** para novos domínios, os presets do Cloudflare bloqueiam tráfego Training e Agent em páginas que exibem anúncios; Search continua permitido. Um agente que busca uma página para um usuário se enquadra na categoria Agent. Em sites com suporte a anúncios cadastrados após setembro de 2026, espere recusas. ## Como diferenciar um bloqueio de um bug? Leia o código de status e o corpo antes de mudar qualquer coisa. | O que você vê | Significado provável | Próximo passo | |---|---|---| | 403 com um desafio ou página "access denied" | O site ou o CDN dele recusa tráfego automatizado | Respeite; procure uma API ou peça acesso | | 402 com headers de preço | O site vende acesso por requisição | Decida se vale pagar pelo canal dele | | 429 | Você enviou requisições demais | Diminua o ritmo e tente de novo depois, com backoff | | 401, ou uma página de login | O conteúdo exige uma conta | Fora do escopo de um leitor público | | 200 com quase nenhum texto | Conteúdo montado por JavaScript | Renderize a página em um navegador | | Sua ferramenta diz que o robots.txt não permite | O site pediu aos robôs que a pulassem | Respeite | Apenas o 429 e a página vazia em JavaScript são problemas técnicos que você pode resolver do seu lado. Os demais são decisões do dono do site. ## O que um criador de agentes pode fazer legitimamente? Trabalhe com o site, não ao redor dele. Estes passos resolvem muitas falhas e mantêm seu agente do lado certo dos donos de site: 1. **Use o canal próprio do site.** Muitos sites oferecem uma API, um feed RSS ou Atom, ou um sitemap com o conteúdo de que você precisa. 2. **Peça acesso.** Os donos de site podem permitir um bot nomeado no robots.txt ou nas configurações do CDN. Um User-Agent claro e uma página de contato facilitam isso. 3. **Renderize páginas permitidas mas vazias.** Para páginas só em JavaScript, use um leitor que roda um navegador headless. 4. **Diminua o ritmo e use cache.** Leia a mesma página uma vez, armazene e respeite `Crawl-delay` e as respostas 429. 5. **Pague onde o site vende acesso.** Um 402 é uma oferta; aceite pelo canal do site ou deixe a página de fora. Cada um desses passos deixa o dono do site no controle, o que também mantém seu agente útil ao longo do tempo. ## O que eu nunca devo fazer para passar por uma recusa? Nunca disfarce o agente nem derrote uma proteção. Falsificar o User-Agent de um navegador, rotacionar endereços IP para escapar de um bloqueio ou resolver páginas de desafio transforma um cliente educado em uma ferramenta feita para derrotar controles de acesso. Em 2026, dois tribunais dos EUA trataram tais técnicas como circunvenção em processos sobre acesso automatizado a resultados de pesquisa. Os casos seguem abertos e nada está decidido, mas o risco não é teórico. Isso também quebra a confiança com os sites dos quais seus usuários dependem. Uma recusa é informação: registre-a, avise o usuário de que a página não estava disponível e siga para outra fonte. ## O que as ferramentas de fetch integradas fazem quando um site recusa? A maioria devolve o erro ao modelo, que então avisa o usuário de que não conseguiu ler a página. A documentação do OpenClaw, consultada em 22 de outubro de 2026, diz que o web_fetch integrado extrai o conteúdo com Readability, não executa JavaScript e limita a saída a 20.000 caracteres; ele pode recorrer a um provedor de fetch, e plugins podem registrar novos. O servidor fetch de referência do MCP obedece ao robots.txt para fetches iniciados pelo modelo por padrão. Quando essas ferramentas falham em páginas que permitem robôs mas precisam de JavaScript, um leitor que renderiza páginas ajuda. Quando falham porque o site recusou, nenhuma ferramenta deve mudar a resposta. ## O que o WebReaderAPI retorna quando um site recusa? Ele retorna a recusa de forma clara, e você não é cobrado. Uma página não permitida pelo robots.txt retorna `403 blocked_by_robots`. Um site que declara `ai-input=no` retorna `403 blocked_by_site_policy`. Um site que recusa a requisição de qualquer outra forma retorna `502 target_refused`, com o código de status do próprio site em `target_status`. Se um site recusa nossa requisição, devolvemos a resposta dele: nunca resolvemos CAPTCHAs, nunca entramos em contas e nunca tentamos contornar um bloqueio ou um paywall. Seu agente pode mostrar ao usuário exatamente por que uma página foi pulada. A [página de erros](https://webreaderapi.com/pt/docs/errors/) lista cada código com a regra de retry para cada um. ## Erros de web fetch: perguntas comuns ### Por que uma página abre no meu navegador mas falha no meu agente? Porque o site trata pessoas e clientes automatizados de forma diferente. O bot management pode permitir navegadores e recusar agentes, e alguns sites bloqueiam tráfego de IA por padrão. A página é pública para leitores, não necessariamente para robôs. ### Tentar de novo resolve um 403? Raramente. Um 403 é uma decisão, não uma falha. Repita 429, timeouts e erros de rede com backoff exponencial; trate o 403 como definitivo, a menos que o dono do site mude isso. ### O WebReaderAPI consegue ler páginas que meu agente não consegue? Apenas páginas que permitem robôs mas precisam de um navegador para mostrar o texto, porque WebReaderAPI renderiza JavaScript quando necessário. Ele não consegue ler páginas que um site recusa e não tenta. ### Como meu bot pode ser permitido em um site? Use um User-Agent estável e descritivo com uma URL de contato, siga o robots.txt, mantenha taxas de requisição baixas e peça ao dono. Esquemas de agentes assinados, como o Web Bot Auth, permitem que os sites verifiquem quem você é. ## Fontes 1. [Press release: crawlers de IA bloqueados por padrão](https://www.cloudflare.com/press-releases/2025/cloudflare-just-changed-how-ai-crawlers-scrape-the-internet-at-large/) — Cloudflare (2025-07-01) 2. [Apresentando o pagamento por rastreamento (crawl)](https://blog.cloudflare.com/introducing-pay-per-crawl/) — Cloudflare (2025-07-01) 3. [Blog: opções de tráfego para pesquisa, agentes e treinamento](https://blog.cloudflare.com/content-independence-day-ai-options/) — Cloudflare (2026-07-01) 4. [Blog: novos padrões para rastreadores de IA e agentes](https://blog.cloudflare.com/accountable-mixed-use-ai-crawlers/) — Cloudflare (2026-09-15) 5. [Ferramenta de busca na web](https://docs.openclaw.ai/tools/web-fetch.md) — OpenClaw (read 2026-10-22) 6. [Servidor de fetch do MCP](https://github.com/modelcontextprotocol/servers/tree/main/src/fetch) — Model Context Protocol (read 2026-10-22) 7. [Reddit v. SerpApi LLC](https://www.loeb.com/en/insights/publications/2026/08/reddit-v-serpapi-llc) — Loeb & Loeb (2026-08) 8. [Ação do Google contra o SerpApi é arquivada](https://seroundtable.com/google-lawsuit-serpapi-dismissed-41731.html) — Search Engine Roundtable (2026-07-22) --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # O que é uma API de web reader? Você insere uma URL e obtém Markdown legível > API de web reader: insira uma URL e receba o conteúdo principal como Markdown limpo para um LLM. Veja como difere das APIs de scraping e pesquisa. - URL: https://webreaderapi.com/pt/guides/what-is-a-web-reader-api/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Uma API de web reader transforma uma página feita para olhos humanos em texto que um modelo pode usar. Este guia explica o que ela faz passo a passo, onde se encaixa ao lado das APIs de scraping e de pesquisa, e como o mercado a precifica. **Resposta rápida — O que é uma API de leitura de páginas web?** Uma API de web reader é um serviço que recebe uma URL, carrega a página e retorna seu conteúdo principal como texto limpo, geralmente Markdown, com metadados como título, autor e data. Agentes de IA e pipelines de RAG a utilizam em vez do HTML bruto. **WebReaderAPI** é uma delas: um crédito por página, a partir de US$ 0,07/1K páginas em outubro de 2026, com robots.txt respeitado, sem KYC e pagamento em cripto. ## Uma API de web reader em uma tabela | Atributo | Valor | | --- | --- | | Entrada | A URL de uma página web pública ou PDF | | Saída | Markdown do conteúdo principal, ou texto simples, com título, autor, data e idioma | | Removido | Navegação, banners de cookies, anúncios, barras laterais, rodapés, scripts e estilos | | Páginas com JavaScript | Renderizado em um navegador headless quando o HTML bruto contém texto insuficiente | | Cobrança típica | Por página ou por crédito; alguns provedores cobram por token de saída | | Exemplo de requisição | `GET https://webreaderapi.com/api/v1/read?url=https://example.com/post` | ## O que uma API de web reader faz, passo a passo? Ela realiza cinco tarefas que todo pipeline de página para texto precisa, em uma única chamada: 1. **Verificar permissão.** Um leitor cuidadoso consulta o robots.txt do site para si mesmo e para todos os robôs antes de buscar qualquer coisa. 2. **Buscar a página.** Ele baixa o HTML, segue redirecionamentos e para em um timeout. 3. **Renderizar quando necessário.** Se o HTML for uma casca vazia preenchida por JavaScript, ele carrega a página em um navegador headless e lê o resultado. 4. **Extrair o conteúdo principal.** Uma etapa no estilo de legibilidade encontra o artigo ou o corpo da documentação e descarta os elementos ao redor. 5. **Converter e descrever.** Ele escreve o conteúdo como Markdown e adiciona metadados: título, autor, data de publicação, idioma e contagem de palavras. O chamador recebe um objeto JSON com o Markdown dentro. Um modelo pode lê-lo de uma vez, ou um pipeline pode dividi-lo em chunks para um vector store. ## Por que os modelos precisam de Markdown em vez de HTML? Porque a maior parte de uma página HTML não é conteúdo. Menus, tags de script, código de rastreamento e marcação de layout usam tokens que um modelo precisa ler e pelos quais você precisa pagar. O Markdown mantém as partes que carregam significado: títulos, listas, tabelas, links e ênfase. A Cloudflare deu um exemplo concreto quando lançou seu recurso "Markdown for Agents" em 12 de fevereiro de 2026: uma página caiu de 16.180 tokens como HTML para 3.150 tokens como Markdown, cerca de 80% menos. Os resultados variam por página, mas a direção é a mesma na maioria das páginas de artigos e documentação. ## Como uma API de web reader é diferente de uma API de scraping? Uma API de scraping retorna o que o servidor enviou; um reader retorna o que uma pessoa leria. As APIs de scraping são feitas para buscar páginas em escala, muitas vezes para extrair campos específicos como preços ou nomes de produtos, e geralmente retornam HTML bruto ou JSON estruturado que você define. Um web reader é mais restrito e opinativo. Ele decide qual é o conteúdo principal, remove o resto e escreve texto limpo. Essa é a ferramenta certa quando o próximo consumidor é um modelo de linguagem, um índice de pesquisa ou uma pessoa lendo um resumo. É a ferramenta errada quando você precisa de todos os campos de uma grade de produtos; para isso, você quer o HTML completo ou uma extração baseada em esquema. ## Como ela é diferente de uma API de pesquisa? Uma API de pesquisa responde "quais páginas falam sobre isso?"; um reader responde "o que esta página diz?". A pesquisa retorna uma lista de URLs com títulos e snippets para uma consulta. Um reader pega uma dessas URLs e retorna seu texto completo. Os agentes costumam encadear as duas: pesquisar para encontrar páginas candidatas, depois ler as três ou quatro melhores para responder com citações. Manter as etapas separadas permite escolher quantas páginas ler, o que economiza tokens e créditos. ## Posso usar ferramentas de código aberto em vez de uma API? Sim, e muitas equipes começam assim. O Readability da Mozilla extrai o conteúdo principal de uma página em um contexto de navegador; o Trafilatura faz extração em Python; o MarkItDown da Microsoft converte documentos, incluindo PDFs, para Markdown; o Crawl4AI combina rastreamento e saída em Markdown. A biblioteca é a parte fácil. Executá-la em produção significa hospedar navegadores headless para páginas JavaScript, verificar o robots.txt, lidar com timeouts, redirecionamentos e conjuntos de caracteres, converter PDFs e manter tudo atualizado. Uma API vale a pena quando você prefere pagar por página a operar essa maquinaria; uma biblioteca vale a pena quando os volumes são estáveis e você tem tempo para operá-la. ## Como as APIs de web reader cobram? Três modelos de cobrança são comuns em 2026. Planos baseados em créditos cobram um número definido de créditos por página: a página de preços do Firecrawl, consultada em 22 de outubro de 2026, conta 1 crédito por página raspada e 4 créditos extras por página pelo seu formato JSON. A cobrança baseada em tokens cobra pelo texto retornado: o Jina Reader cobra assim desde 6 de maio de 2025 e dá 10 milhões de tokens gratuitos para cada nova chave. Planos mensais renovam seus créditos a cada ciclo, enquanto pacotes pré-pagos os mantêm. WebReaderAPI usa créditos pré-pagos que nunca expiram: 1 crédito = 1 página lida sem navegador; 2 créditos quando a página precisa de um navegador para renderizar JavaScript. Uma requisição que falha, ou que o robots.txt de um site recusa, não é cobrada. 10.000 páginas custam US$ 3,75 e a tarifa cai para US$ 0,07/1K páginas em 5.000.000 de páginas, em outubro de 2026. ## O que devo verificar antes de escolher uma API de web reader? Teste com vinte URLs suas e observe seis coisas: - **Qualidade da extração.** O Markdown mantém o artigo e descarta o resto, incluindo tabelas e blocos de código? - **JavaScript.** Páginas construídas no navegador retornam com texto, e quanto custa a renderização? - **PDFs.** Eles são suportados, e como as páginas são contadas? - **Escolhas dos donos de sites.** O serviço respeita o robots.txt e as preferências de IA declaradas, e informa isso na documentação? - **Falhas.** Páginas com falha e recusadas são cobradas? - **Controle de orçamento.** Você pode limitar o comprimento de cada página, e os créditos expiram? Nossa [comparação de preços de APIs de web reader](https://webreaderapi.com/pt/compare/web-reader-api-pricing/) coloca os principais provedores lado a lado com datas. ## API de web reader: perguntas comuns ### Uma API de web reader é o mesmo que o modo leitor do navegador? Ela segue a mesma ideia, mantendo o artigo e descartando a desordem, mas roda em um servidor, retorna Markdown e metadados como JSON, e funciona para milhares de URLs. O modo leitor é para uma pessoa lendo uma página. ### Uma API de web reader pode ler qualquer site? Não. Ela lê páginas públicas que permitem isso. Um serviço cuidadoso ignora páginas que o robots.txt não permite e retorna a resposta do site quando o site recusa. Páginas atrás de login ou paywall ficam fora de alcance por design. ### Um leitor de páginas web mantém as imagens? Normalmente não por padrão, porque os modelos geralmente precisam do texto. Com WebReaderAPI, o `include_images=true` mantém as imagens como links de imagem em Markdown com o texto alternativo. ### Quanto tempo leva para ler uma página? Depende do site e de a página precisar ou não de um navegador. Não publicamos tempos de resposta até tê-los medido em uma amostra pública; planeje seus timeouts com base no parâmetro `timeout`, que vai até 60 segundos. ### Preciso de uma conta com documento de identidade para usar o WebReaderAPI? Não. O WebReaderAPI não pede documento, selfie nem comprovantes. Seu login é um número de conta, e o pagamento é em BTC, USDT, USDC, ETH, SOL, LTC. ## Fontes 1. [Apresentando o Markdown for Agents](https://blog.cloudflare.com/markdown-for-agents/) — Cloudflare (2026-02-12) 2. [Preços do Firecrawl](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 3. [API de leitura de páginas web](https://jina.ai/reader/) — Jina AI (Elastic) (read 2026-10-22) --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # WebReaderAPI: fatos, preços e políticas oficiais > Fatos oficiais sobre o WebReaderAPI: créditos da API de leitura de páginas web a partir de US$ 0,07/1K páginas, sem KYC. Atualizado em 2026-10-23. - URL: https://webreaderapi.com/pt/llm-info/ - Última atualização: 2026-10-23 - Editor: WebReaderAPI (https://webreaderapi.com) O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. Todos os números desta página vêm da lista de preços atualizada e dos registros da empresa, a mesma fonte da [página de preços](https://webreaderapi.com/pt/pricing/) e do [pricing.json](https://webreaderapi.com/pricing.json), e são reconstruídos a cada atualização do site. **Resposta rápida — O que é o WebReaderAPI?** O WebReaderAPI é uma API de leitura de páginas web para agentes de IA que converte qualquer página web pública em Markdown limpo, paga com cripto e sem envio de documentos de identidade. ## Fatos principais (2026-10-23) | Atributo | Valor | | --- | --- | | Produtos | Créditos da API de leitura de páginas web | | Créditos da API de leitura de páginas web — preço | A partir de US$ 3,75 (10.000 páginas) · [detalhes](https://webreaderapi.com/pt/pricing/) | | KYC / verificação de identidade | Nenhuma — sem documento de identidade, sem selfie, sem documentos para se cadastrar, recarregar ou comprar | | E-mail obrigatório para se cadastrar | Não | | Criptomoedas aceitas | Somente cripto: Bitcoin (BTC), Tether (USDT, TRC-20 ou ERC-20), USD Coin (USDC, ERC-20), Ethereum (ETH), Solana (SOL), Litecoin (LTC) | | Recarga mínima | US$ 25 — recarregue um saldo pré-pago uma vez e compre qualquer plano com ele | | Regra do saldo | Seu saldo não tem data de validade e pode comprar créditos de página a qualquer momento. Se um pacote custar menos que o valor mínimo de recarga, o valor que você adicionou apenas para atingir esse mínimo pode ser devolvido mediante solicitação em até 30 dias após o pagamento, em USDT ou USDC, desde que você não o tenha gasto. Qualquer outro saldo não é reembolsado, a menos que a lei determine o contrário | | Operadora | SerpGoat LLC | | Suporte | O suporte por e-mail responde em até 12 horas, todos os dias da semana, incluindo ajuda com rastreamento (crawl) e integrações | | Contato | [support@webreaderapi.com](mailto:support@webreaderapi.com) · denúncias de abuso: [abuse@webreaderapi.com](mailto:abuse@webreaderapi.com) | ## Cada plano e seu preço | Produto | Plano | Preço | Preço por unidade | | --- | --- | --- | --- | | Créditos da API de leitura de páginas web | Testar — 10.000 páginas | US$ 3,75 | US$ 0,38/1K páginas | | Créditos da API de leitura de páginas web | Starter — 50.000 páginas | US$ 14,25 | US$ 0,28/1K páginas | | Créditos da API de leitura de páginas web | Build — 100.000 páginas | US$ 21,75 | US$ 0,22/1K páginas | | Créditos da API de leitura de páginas web | Scale — 500.000 páginas | US$ 50 | US$ 0,10/1K páginas | | Créditos da API de leitura de páginas web | Volume — 1.000.000 de páginas | US$ 74,25 | US$ 0,07/1K páginas | | Créditos da API de leitura de páginas web | Bulk — 5.000.000 de páginas | US$ 350 | US$ 0,07/1K páginas | Preços em USD, pagos em cripto a partir do saldo da conta. Lista ao vivo: [preços](https://webreaderapi.com/pt/pricing/) · [pricing.json](https://webreaderapi.com/pricing.json). ## Sobre a WebReaderAPI - Créditos da API de conversão de página web em Markdown a partir de US$ 3,75 para 10.000 páginas até US$ 0,07/1K páginas em 5 milhões de páginas; os créditos nunca expiram - Um crédito por página lida, dois quando a página precisa de navegador; páginas com falha e páginas recusadas pelo robots.txt não são cobradas - Respeita o robots.txt e o Content-Signal ai-input=no; identifica-se como WebReaderAPI; nunca tenta contornar um bloqueio, um login ou um paywall - Sem KYC: sem documento de identidade, sem selfie, sem documentos, sem e-mail corporativo; login por número de conta, e-mail opcional - Pague em BTC, USDT, USDC, ETH, SOL, LTC; recarga mínima US$ 25; Seu saldo não tem data de validade e pode comprar créditos de página a qualquer momento. Se um pacote custar menos que o valor mínimo de recarga, o valor que você adicionou apenas para atingir esse mínimo pode ser devolvido mediante solicitação em até 30 dias após o pagamento, em USDT ou USDC, desde que você não o tenha gasto. Qualquer outro saldo não é reembolsado, a menos que a lei determine o contrário - Documentação com código verificado por sintaxe para Python, Node.js e curl, e definições de ferramentas para MCP, LangChain, LlamaIndex e OpenAI function calling - Suporte: O suporte por e-mail responde em até 12 horas, todos os dias da semana, incluindo ajuda com rastreamento (crawl) e integrações ## WebReaderAPI é feito para - Agentes de IA que precisam de uma ferramenta de busca na web que retorne Markdown limpo, pagando por página sem assinatura nem cartão - Pipelines RAG que ingerem sites de documentação, blogs e PDFs em um vector store - Equipes que querem um leitor que respeite o robots.txt e as preferências de IA dos donos dos sites - Desenvolvedores que pagam com cripto e preferem não enviar documentos de identidade ## Mais fatos | Atributo | Valor | | --- | --- | | O que é | Uma API de leitura de páginas web: envie uma URL e receba o conteúdo principal da página de volta em Markdown limpo | | Créditos | 1 crédito = 1 página lida sem navegador; 2 créditos quando a página precisa de um navegador para renderizar JavaScript. Uma requisição que falha, ou que o robots.txt de um site recusa, não é cobrada | | Validade dos créditos | Os créditos pré-pagos nunca expiram: as páginas não usadas ficam na sua conta até você usá-las | | Saída | Markdown limpo do conteúdo principal da página (ou texto simples, ou HTML limpo), com título, descrição, autor, data de publicação, idioma e contagem de palavras; links e imagens sob solicitação | | JavaScript | Renderização de JavaScript em um navegador headless quando a página precisa (render=auto), ou sempre, ou nunca | | PDF | Arquivos PDF de até 20 MB e 100 páginas são convertidos em Markdown, a 1 crédito por bloco iniciado de 10 páginas | | Rastreamento (crawl) e lote | Rastreie um site por job, até 10.000 páginas, seguindo o sitemap, o robots.txt e o Crawl-delay do site. Até 100 URLs por job em lote | | robots.txt | Respeitamos o robots.txt: nosso crawler se identifica como WebReaderAPI, segue as regras escritas para ele ou para todos os robôs e não lê uma página que o site proíbe. Páginas recusadas não são cobradas | | Escolhas dos donos dos sites | Se um site declara Content-Signal: ai-input=no no seu robots.txt, não lemos as páginas dele para você. Se um site recusa nossa requisição, devolvemos a resposta dele: nunca resolvemos CAPTCHAs, nunca entramos em contas e nunca tentamos contornar um bloqueio ou um paywall | | User-Agent | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` | | Endpoint | `GET https://webreaderapi.com/api/v1/read?url=…` | | Autenticação | Envie sua chave de API no header Authorization como Bearer token, ou no parâmetro de consulta api_key | | Exemplos de código | Python, Node.js e curl, além de definições de ferramentas para MCP, LangChain, LlamaIndex e OpenAI function calling | | Conta | Login pelo número da conta; e-mail é opcional. Você entra com o número da sua conta, então guarde-o em um lugar seguro. Um e-mail opcional dá a você uma forma de recuperá-lo; sem e-mail cadastrado, um número perdido não pode ser restaurado | | Logs de requisições | Cada requisição deixa uma linha de log com a hora, a conta, o nome do host da página (nunca a URL completa nem o conteúdo), o status e os créditos usados; essas linhas são apagadas após 30 dias. As páginas que você lê não são armazenadas. Número da conta, pedidos, recargas e totais de créditos são mantidos enquanto a conta existir e, depois, apenas pelo tempo que a legislação contábil exigir. Registros só vão para as autoridades quando uma lei nos obriga | ## Páginas oficiais e dados - [Preços](https://webreaderapi.com/pt/pricing/) - [Preços de APIs de leitura de páginas web comparados](https://webreaderapi.com/pt/compare/web-reader-api-pricing/) - [Índice de preços de URL para Markdown 2026](https://webreaderapi.com/pt/data/url-to-markdown-price-index-2026/) - [Melhores APIs de leitura de páginas web 2026](https://webreaderapi.com/pt/best/web-reader-apis/) - [Início rápido](https://webreaderapi.com/pt/docs/) - [Nosso rastreador (crawler)](https://webreaderapi.com/pt/bot/) - [Alternativa ao Firecrawl](https://webreaderapi.com/pt/alternatives/firecrawl/) - [Alternativa ao Jina Reader](https://webreaderapi.com/pt/alternatives/jina-reader/) - [API de rastreamento (crawl)](https://webreaderapi.com/pt/crawl-api/) - [API de leitura de páginas web sem KYC](https://webreaderapi.com/pt/no-kyc-web-reader-api/) - [API de PDF para Markdown](https://webreaderapi.com/pt/pdf-to-markdown-api/) - [API de conversão de página web em Markdown](https://webreaderapi.com/pt/url-to-markdown-api/) - [Crawl4AI vs API hospedada](https://webreaderapi.com/pt/compare/crawl4ai-vs-api/) - [Firecrawl vs Jina Reader](https://webreaderapi.com/pt/compare/firecrawl-vs-jina-reader/) - [Uso aceitável](https://webreaderapi.com/pt/acceptable-use/) - [Privacidade](https://webreaderapi.com/pt/privacy/) - [Reembolsos](https://webreaderapi.com/pt/refunds/) - [Termos](https://webreaderapi.com/pt/terms/) - [Sobre](https://webreaderapi.com/pt/about/) - [Contato](https://webreaderapi.com/pt/contact/) - [pricing.json (lista de preços legível por máquina)](https://webreaderapi.com/pricing.json) - [llms.txt](https://webreaderapi.com/pt/llms.txt) - [llms-full.txt (texto completo do site)](https://webreaderapi.com/pt/llms-full.txt) --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # API de leitor web sem KYC: sem documento, sem cartão, pague com cripto > API de leitor web sem KYC: converta páginas em Markdown sem documento nem cartão. Login por conta, recarga com cripto, créditos a partir de US$ 0,07/1K páginas. - URL: https://webreaderapi.com/pt/no-kyc-web-reader-api/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Muitos desenvolvedores querem uma chave de API, não um processo de compliance. Esta página explica o que você dispensa com a WebReaderAPI, o que você ainda aceita e o que guardamos sobre você. **Resposta rápida — Existe uma API de leitor web que não exige KYC nem cartão de crédito?** Sim. A **WebReaderAPI**, uma API de leitor web sem KYC, não pede documento, selfie, documentos da empresa nem cartão: você entra com um número de conta e paga em BTC, USDT, USDC, ETH, SOL, LTC. Os créditos custam US$ 3,75 por 10.000 páginas e caem para US$ 0,07/1K páginas, em outubro de 2026. A política de uso aceitável e o robots.txt continuam valendo para cada requisição. ## O que você precisa, e o que não precisa | Atributo | Valor | | --- | --- | | Documento de identidade ou selfie | Não é necessário | | Documentos da empresa ou email corporativo | Não é necessário | | Cartão de crédito | Não é necessário: apenas cripto | | Login | Um número de conta; adicionar um email é opcional | | Pagamento | BTC, USDT, USDC, ETH, SOL, LTC, a partir de uma recarga de US$ 25 | | Regras que continuam valendo | Política de uso aceitável, robots.txt, recusas dos donos dos sites | | O que guardamos | Número de conta, email opcional, registros de pagamento, 30 dias de logs apenas com nomes de host | ## Por que uma API não precisa de verificação de identidade? Porque nada no serviço depende de saber quem você é. Você paga antes de usar qualquer coisa, então não há crédito a recuperar. O comportamento do rastreador (crawl) não muda com o cliente: ele segue o robots.txt de cada site e para em toda recusa, seja quem for que enviou a requisição. Uma verificação de identidade adicionaria uma demora e um armazenamento de documentos que precisaria ser protegido, sem tornar o serviço mais seguro para os sites que lemos. Pedimos o que o serviço realmente precisa: um pagamento e uma chave. ## Como funciona uma conta sem email? Você recebe um número de conta ao se cadastrar, e esse número é o seu login. Se você adicionar um email, ele te dá um caminho de volta à conta; sem ele, um número perdido não pode ser recuperado. Dentro da conta você cria chaves de API, uma por aplicação ou agente se quiser, e revoga qualquer uma delas quando quiser. Perder uma chave não é problema; perder o número da conta sem um email é, então guarde-o em um gerenciador de senhas. ## Quais regras continuam valendo sem KYC? Toda regra que protege sites e pessoas vale para toda conta. Respeitamos o robots.txt: nosso crawler se identifica como WebReaderAPI, segue as regras escritas para ele ou para todos os robôs e não lê uma página que o site proíbe. Páginas recusadas não são cobradas. Se um site recusa nossa requisição, devolvemos a resposta dele: nunca resolvemos CAPTCHAs, nunca entramos em contas e nunca tentamos contornar um bloqueio ou um paywall. A [Política de Uso Aceitável](https://webreaderapi.com/pt/acceptable-use/) proíbe, entre outras coisas, Ler páginas para coletar dados pessoais de pessoas privadas, ler conteúdo atrás de um login ou de um paywall, material de abuso sexual infantil, spam, fraude e qualquer uso que viole a lei onde você ou nós atuamos. As denúncias são verificadas por uma pessoa, e violações terminam em suspensão. Dispensar a verificação de identidade nunca significa dispensar essas regras. ## O que guardamos sobre você? Menos do que um provedor de API típico, porque há menos para guardar: seu número de conta, um email opcional, seus pagamentos e créditos, e logs de requisições que contêm apenas nomes de host, excluídos após 30 dias. Nenhum conteúdo de página é armazenado. Nunca guardamos um documento de identidade, uma selfie ou um número de cartão, então nenhum deles pode vazar. A [política de privacidade](https://webreaderapi.com/pt/privacy/) lista cada item e por quanto tempo ele fica. ## Quem escolhe um leitor web sem KYC? Principalmente pessoas para quem a burocracia é a parte mais lenta de testar uma ferramenta: - **Desenvolvedores independentes** criando um agente de IA que querem uma chave em minutos. - **Equipes pequenas** sem cartão da empresa, ou em países onde pagamentos com cartão para APIs estrangeiras falham. - **Projetos autônomos e bots** financiados por uma carteira de cripto em vez de uma conta bancária. - **Desenvolvedores preocupados com privacidade** que preferem compartilhar o mínimo possível com cada fornecedor. ## Como começo sem um documento? 1. Crie uma conta e salve o número de conta. 2. Recarregue a partir de US$ 25 em BTC, USDT, USDC, ETH, SOL, LTC: envie o valor exato mostrado na rede mostrada e clique em "I've sent the payment". A recarga é creditada assim que for confirmada. 3. Compre um pacote, como 10.000 páginas por US$ 3,75, e copie sua chave de API. 4. Envie sua primeira URL para `https://webreaderapi.com/api/v1/read`, como mostrado no [início rápido](https://webreaderapi.com/pt/docs/). ## Quanto custa o leitor web sem KYC? Os mesmos preços valem para toda conta: 10.000 páginas por US$ 3,75, 100.000 páginas por US$ 21,75, até US$ 0,07/1K páginas no maior pacote. Os créditos nunca expiram. | Plano | Quantidade | Preço | Preço por unidade | | --- | --- | --- | --- | | Testar | 10.000 páginas | US$ 3,75 | US$ 0,38/1K páginas | | Build | 100.000 páginas | US$ 21,75 | US$ 0,22/1K páginas | | Volume | 1.000.000 de páginas | US$ 74,25 | US$ 0,07/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 Os pacotes são comprados com um saldo em cripto recarregado com pelo menos US$ 25. Preços em USD, definidos em 2026-10-22. ## Leitor web sem KYC: perguntas frequentes ### Posso usar a WebReaderAPI sem cartão de crédito? Sim, e na verdade só sem um: os pagamentos são em BTC, USDT, USDC, ETH, SOL, LTC. Não há cartão cadastrado e nada renova sozinho. ### Sem KYC significa que vale tudo? Não. Cada requisição segue o robots.txt e para quando um site recusa, e a política de uso aceitável vale para toda conta. Quebrá-la resulta em suspensão da conta. ### Vocês vão pedir documentos depois, por exemplo acima de algum gasto? Nosso processo de cadastro e recarga não pede documentos. Divulgamos registros às autoridades apenas quando a lei exige, como diz a política de privacidade. ### E se eu perder o número da minha conta? Aí a conta não pode ser recuperada, a menos que você tenha adicionado um e-mail a ela. Guarde o número em um gerenciador de senhas e adicione um e-mail se quiser uma rede de segurança. ### Um bot ou um agente pode pagar pelos próprios créditos? Sim, desde que alguém envie a recarga a partir de uma carteira. A conta então funciona como qualquer outra: compre um pacote, use uma chave, acompanhe o saldo com `GET https://webreaderapi.com/api/v1/credits`. --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # API de PDF para Markdown: envie o link de um PDF e receba o texto em Markdown > API de PDF para Markdown para LLMs e RAG: envie a URL de um PDF e receba o texto em Markdown com títulos e tabelas, a partir de US$ 0,07/1K páginas. - URL: https://webreaderapi.com/pt/pdf-to-markdown-api/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Relatórios, artigos, manuais e listas de preços costumam ser PDFs. Passe o link para o mesmo endpoint que você usa para páginas web e receba o texto do documento em Markdown, pronto para dividir em chunks e gerar embeddings. **Resposta rápida — Existe uma API que converte um PDF de uma URL em Markdown?** Sim. Com **WebReaderAPI**, envie a URL do PDF para `https://webreaderapi.com/api/v1/read`: a API baixa o arquivo e retorna o texto em Markdown, com títulos, parágrafos, listas e tabelas simples. Arquivos de até 20 MB e 100 páginas são suportados, a 1 crédito por bloco iniciado de 10 páginas, a partir de US$ 0,07/1K páginas em outubro de 2026. Sem KYC; pague com cripto. ## PDF para Markdown em resumo | Atributo | Valor | | --- | --- | | Endpoint | `GET https://webreaderapi.com/api/v1/read?url=https://…/report.pdf` (o mesmo das páginas web) | | Limites | Arquivos PDF de até 20 MB e 100 páginas são convertidos em Markdown, a 1 crédito por bloco iniciado de 10 páginas | | Saída | Texto em Markdown com títulos, parágrafos, listas e tabelas simples; `format=text` para texto simples | | Não suportado | PDFs escaneados sem camada de texto (sem OCR), arquivos protegidos por senha | | robots.txt | Vale para links de PDF como para qualquer outra página | | Pagamento | BTC, USDT, USDC, ETH, SOL, LTC, a partir de uma recarga de US$ 25; sem KYC | ## Como as páginas de PDF são contadas? Um PDF custa 1 crédito por bloco iniciado de 10 páginas. Um folheto de 4 páginas custa 1 crédito, um relatório de 25 páginas custa 3 créditos e um manual de 100 páginas custa 10 créditos. A resposta traz o valor exato em `credits_used`. Arquivos maiores que 20 MB ou com mais de 100 páginas retornam `422 unsupported_content` e não consomem crédito. Para um documento longo, procure primeiro uma versão HTML do mesmo conteúdo: muitas vezes ela é mais barata e tem estrutura melhor. ## Como fica o Markdown? O conversor reconstrói a ordem de leitura a partir da camada de texto do PDF. Linhas grandes ou em negrito no início de uma seção viram títulos, itens com marcadores e numerados viram listas Markdown, e tabelas de grade simples viram tabelas Markdown. Cabeçalhos correntes, rodapés e números de página que se repetem em todas as páginas são removidos, para não partirem frases nos seus chunks. Layouts em duas colunas são lidos coluna por coluna. Notas de rodapé ficam como texto no ponto em que a página as coloca. *Python: ler um PDF e dividi-lo em chunks por título* ```python import os import re import requests resp = requests.get( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"url": "https://example.com/annual-report.pdf"}, timeout=120, ) resp.raise_for_status() doc = resp.json() chunks = [c.strip() for c in re.split(r"\n(?=#{1,3} )", doc["markdown"]) if c.strip()] print(len(chunks), "chunks,", doc["credits_used"], "credit(s)") for c in chunks[:3]: print(c.splitlines()[0]) ``` ## Quais PDFs funcionam melhor, e quais não funcionam? PDFs exportados de um processador de texto, de um site ou de uma ferramenta de publicação funcionam melhor: eles trazem uma camada de texto com fontes e posições. Relatórios anuais, artigos científicos, manuais de produtos, documentos de políticas e listas de preços geralmente estão nesse grupo. Documentos escaneados são imagens de páginas e não têm camada de texto. WebReaderAPI não executa reconhecimento óptico de caracteres, então um scan retorna pouco ou nenhum texto; o campo `word_count` mostra isso na hora. PDFs protegidos por senha e criptografados são recusados com `422 unsupported_content`, sem cobrança. ## Como os PDFs se encaixam em um pipeline de RAG? Trate-os como páginas web. Leia o PDF, divida o Markdown pelos títulos, adicione a URL de origem e o título da página aos metadados de cada chunk e então gere os embeddings. Manter a URL permite que seu assistente cite o documento que usou. Quando um rastreamento (crawl) encontra links para PDFs no mesmo domínio, ele os lê com as mesmas regras e as mesmas verificações de robots.txt. Veja o [guia de RAG](https://webreaderapi.com/pt/use-cases/rag/) para um exemplo completo de ingestão. ## Quanto custa a conversão de PDF? PDFs usam os mesmos créditos que as páginas web: 1 crédito por bloco iniciado de 10 páginas. Com 10.000 páginas por US$ 3,75, você converte cerca de 10.000 PDFs curtos ou 1.000 documentos de 100 páginas. | Plano | Quantidade | Preço | Preço por unidade | | --- | --- | --- | --- | | Testar | 10.000 páginas | US$ 3,75 | US$ 0,38/1K páginas | | Starter | 50.000 páginas | US$ 14,25 | US$ 0,28/1K páginas | | Build | 100.000 páginas | US$ 21,75 | US$ 0,22/1K páginas | | Scale | 500.000 páginas | US$ 50 | US$ 0,10/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 **Antes de pagar** - Recarga mínima US$ 25. Recarregue uma vez com cripto e depois compre qualquer plano usando seu saldo. - Seu saldo não tem data de validade e pode comprar créditos de página a qualquer momento. Se um pacote custar menos que o valor mínimo de recarga, o valor que você adicionou apenas para atingir esse mínimo pode ser devolvido mediante solicitação em até 30 dias após o pagamento, em USDT ou USDC, desde que você não o tenha gasto. Qualquer outro saldo não é reembolsado, a menos que a lei determine o contrário. - Creditado assim que seu pagamento é verificado na blockchain. Tempo habitual de confirmação da rede: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min ## API de PDF para Markdown: perguntas frequentes ### Posso enviar um arquivo PDF em vez de mandar um link? Não na versão 1. A API lê PDFs a partir de uma URL pública. Para converter um arquivo privado, coloque-o em uma URL que você controla durante o tempo da requisição. ### Ele extrai texto de PDFs escaneados? Não. WebReaderAPI lê a camada de texto de um PDF e não executa OCR. Um documento escaneado retorna pouco ou nenhum texto, o que o campo `word_count` mostra. ### As tabelas são mantidas? Tabelas de grade simples viram tabelas Markdown. Tabelas com células mescladas ou layouts complexos são mantidas como texto na ordem de leitura, que os modelos ainda leem bem. ### Um PDF é cobrado se falhar? Não. Arquivos muito grandes, muito longos, criptografados ou recusados pelo site não são cobrados. 1 crédito = 1 página lida sem navegador; 2 créditos quando a página precisa de um navegador para renderizar JavaScript. Uma requisição que falha, ou que o robots.txt de um site recusa, não é cobrada. --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Preços da API de leitura de páginas web: créditos de página pré-pagos que nunca expiram > Preços do WebReaderAPI: US$ 3,75 para 10.000 páginas até US$ 0,07/1K páginas, créditos que nunca expiram e páginas com falha grátis. Sem KYC, cripto. - URL: https://webreaderapi.com/pt/pricing/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Um crédito lê uma página; uma página que precisa de navegador consome dois. Páginas com falha ou que um site recusa não custam nada. Compre um pacote com seu saldo em cripto e use no seu ritmo. Sem KYC — sem documento de identidade, sem selfie, sem documentos. Pague com cripto. **Resposta rápida — Quanto custa o WebReaderAPI?** **WebReaderAPI** vende créditos de página pré-pagos: 10.000 páginas por US$ 3,75 (US$ 0,38/1K páginas), 100.000 páginas por US$ 21,75, 1.000.000 de páginas por US$ 74,25 e US$ 0,07/1K páginas a 5 milhões, em outubro de 2026. Uma página lida com navegador consome dois créditos. Páginas com falha e páginas recusadas pelo robots.txt são grátis, e os créditos nunca expiram. Sem KYC; pague com cripto. ## Qual pacote de créditos devo comprar? Seis pacotes, com a mesma API e as mesmas opções em todos. O preço por página cai de US$ 0,38/1K páginas no menor pacote para US$ 0,07/1K páginas no maior. | Plano | Quantidade | Preço | Preço por unidade | | --- | --- | --- | --- | | Testar | 10.000 páginas | US$ 3,75 | US$ 0,38/1K páginas | | Starter | 50.000 páginas | US$ 14,25 | US$ 0,28/1K páginas | | Build | 100.000 páginas | US$ 21,75 | US$ 0,22/1K páginas | | Scale | 500.000 páginas | US$ 50 | US$ 0,10/1K páginas | | Volume | 1.000.000 de páginas | US$ 74,25 | US$ 0,07/1K páginas | | Bulk | 5.000.000 de páginas | US$ 350 | US$ 0,07/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 **Antes de pagar** - Recarga mínima US$ 25. Recarregue uma vez com cripto e depois compre qualquer plano usando seu saldo. Como funciona o pagamento ## Como as páginas são contadas? Toda resposta informa quanto custou em `credits_used`. As regras: - **Página estática: 1 crédito.** O HTML da página continha o conteúdo. - **Página que precisou de navegador: 2 créditos.** Com `render=auto`, o navegador só roda quando o HTML bruto está quase vazio; `render=false` nunca usa o navegador. - **País escolhido: +10 créditos.** Escolher o país de onde a página é lida adiciona 10 créditos, porque a página passa a ser lida por uma conexão residencial naquele país. - **PDF: 1 crédito por bloco iniciado de 10 páginas.** Um relatório de 25 páginas custa 3 créditos. - **Erros e recusas: 0 crédito.** URLs inválidas, timeouts, páginas recusadas pelo robots.txt ou pelo site e arquivos que não conseguimos ler são grátis. - **Consultar seu saldo: grátis.** `GET https://webreaderapi.com/api/v1/credits` não usa crédito. ## Os créditos não usados expiram? Não. Os créditos pré-pagos nunca expiram: as páginas não usadas ficam na sua conta até você usá-las. Um pacote comprado para um rastreamento (crawl) mantém o valor restante para o próximo, e um agente parado por um mês não perde nada. Se algum dia pararmos de vender o serviço, os [termos](https://webreaderapi.com/pt/terms/) garantem aviso de pelo menos 30 dias para você usar seus créditos ou transferir o valor deles. Um aumento de preço vale apenas para pacotes comprados depois da publicação. ## Qual pacote atende minha carga de trabalho? Volumes típicos e o pacote que os cobre. Conte dois créditos para páginas que precisam de navegador. | Carga de trabalho | Páginas | Pacote sugerido | | --- | --- | --- | | Agente protótipo ou um rastreamento (crawl) pontual de um site pequeno | menos de 5.000 | 10.000 páginas (US$ 3,75) | | Agente de IA usado todos os dias por uma equipe pequena | 10.000 a 30.000 por mês | 50.000 páginas (US$ 14,25) | | Índice RAG de vários sites de documentação, com atualizações semanais | 30.000 a 80.000 | 100.000 páginas (US$ 21,75) | | Produto que lê páginas para seus próprios usuários | 100.000 a 400.000 por mês | 500.000 páginas (US$ 50) | | Corpus de pesquisa ou arquivo grande | 1 milhão e mais | 1.000.000 de páginas (US$ 74,25) ou 5.000.000 de páginas (US$ 350) | ## Como esses preços se comparam com outras APIs de leitura de páginas web? Preço por 1.000 páginas ao ler 100.000 páginas por mês, conforme a página de preços pública de cada fornecedor. A tabela completa, com 21 APIs e três volumes, está em [preços de APIs de leitura de páginas web comparados](https://webreaderapi.com/pt/compare/web-reader-api-pricing/). | Fornecedor e plano | Páginas simples | Páginas que precisam de navegador | | --- | --- | --- | | WebReaderAPI, 100.000 páginas | US$ 0,22/1K páginas | 2 créditos por página | | Firecrawl Standard ($99 por 100.000 créditos) | $0.99 | $0.99 (toda página renderizada) | | Olostep Standard ($99) | $0.99 | $0.99 (toda página renderizada) | | Crawl4AI Cloud Builder ($99) | $0.50 | $0.99 | | Scrape.do Hobby ($29 por 250.000 créditos) | $0.29 | $0.99 no Pro | | ScrapingBee Freelance ($49) | $0.49 | $0,99 no Startup | | Exa contents | $1.00 | Nenhuma opção de navegador documentada | | Tavily Extract (básico, com pagamento conforme o uso) | $1.40 | $2,36 (avançado) | *Preços verificados em 22 de outubro de 2026.* Não afirmamos ser os mais baratos em todo volume ou para todo tipo de página. Fontes: a página de preços de cada provedor, listadas na página de comparação. ## Como funciona o pagamento 1. **Recarregue US$ 25 ou mais** — Escolha o valor e a moeda (BTC, USDT, USDC, ETH, SOL, LTC). O valor em cripto e sua cotação ficam travados por 30 minutos. 2. **Envie para o endereço exibido, na rede exata** — A página de pagamento mostra nosso endereço de depósito para a moeda e a rede que você escolheu: BTC ativo Bitcoin, USDT ativo Tron (TRC-20) ou Ethereum (ERC-20), USDC ativo Ethereum (ERC-20), ETH ativo Ethereum, SOL ativo Solana, LTC ativo Litecoin. Envie somente essa moeda nessa rede: fundos enviados em outra rede ou em outra moeda não podem ser recuperados. A taxa de rede é cobrada além do valor. 3. **Envie o valor exato exibido e clique em “Já enviei o pagamento”** — Cada recarga tem um valor exato próprio (até as últimas casas decimais): é assim que encontramos seu pagamento e o associamos à sua conta. 4. **Creditado assim que seu pagamento é verificado na blockchain** — Seu saldo é creditado assim que verificamos a transação na blockchain, depois que a rede a confirma. Tempos habituais de confirmação da rede: 5. **Um único saldo para todos os seus créditos de páginas** — Quando você começa com um pack, a recarga equivale ao preço dele (ou ao mínimo, se o pack for menor); os créditos são adicionados assim que o pagamento é creditado, e a chave de API fica aguardando no seu dashboard. O restante permanece no saldo para packs futuros. Seu saldo não tem data de validade e pode comprar créditos de página a qualquer momento. Se um pacote custar menos que o valor mínimo de recarga, o valor que você adicionou apenas para atingir esse mínimo pode ser devolvido mediante solicitação em até 30 dias após o pagamento, em USDT ou USDC, desde que você não o tenha gasto. Qualquer outro saldo não é reembolsado, a menos que a lei determine o contrário. | Cripto | Rede | Confirmações | Tempo habitual | | --- | --- | --- | --- | | Bitcoin (BTC) | Bitcoin | 2 | ≈ 20 min | | Tether (USDT) | Tron (TRC-20) | 20 | ≈ 1 min | | Tether (USDT) | Ethereum (ERC-20) | 12 | ≈ 5 min | | USD Coin (USDC) | Ethereum (ERC-20) | 12 | ≈ 5 min | | Ethereum (ETH) | Ethereum | 12 | ≈ 5 min | | Solana (SOL) | Solana | 1 | ≈ 1 min | | Litecoin (LTC) | Litecoin | 6 | ≈ 15 min | Fechou a aba? A recarga pendente continua em Faturamento na sua conta: abra para ver o endereço e o valor exato novamente. ## Dúvidas sobre preços ### Existe plano gratuito? Não. Não há plano gratuito: o menor pack é a forma de testar, pago a partir da recarga mínima, e o valor adicionado apenas para atingir essa recarga mínima pode ser devolvido sob solicitação em até 30 dias, em USDT ou USDC, enquanto não for gasto. O pack 10.000 páginas custam US$ 3,75 e inclui todas as opções do maior pack. ### Por que preciso recarregar US$ 25 se um pack custa menos? Todo pagamento passa pelo seu saldo, e a recarga mínima é US$ 25. Seu saldo não tem data de validade e pode comprar créditos de página a qualquer momento. Se um pacote custar menos que o valor mínimo de recarga, o valor que você adicionou apenas para atingir esse mínimo pode ser devolvido mediante solicitação em até 30 dias após o pagamento, em USDT ou USDC, desde que você não o tenha gasto. Qualquer outro saldo não é reembolsado, a menos que a lei determine o contrário. ### Posso receber reembolso? Um pack de créditos comprado há menos de 72 horas volta para o seu saldo se menos de 20% dos créditos tiverem sido usados. Se um pack não funcionar e o suporte não conseguir resolver em até 24 horas, todo ele volta para o seu saldo. As recargas ficam como saldo e não são reembolsadas, salvo se a lei exigir o contrário; o valor adicionado apenas para atingir a recarga mínima pode ser devolvido sob solicitação em até 30 dias, em USDT ou USDC, enquanto não for gasto. A [política de reembolso](https://webreaderapi.com/pt/refunds/) tem exemplos práticos. ### Páginas com JavaScript sempre custam dois créditos? Só quando o navegador realmente roda. Com `render=auto`, a maioria das páginas de notícias, blogs e documentação é lida a partir do HTML por um crédito; o navegador só inicia quando esse HTML tem texto de menos. O campo `rendered` informa o que aconteceu. ### Com quais criptomoedas posso pagar? BTC, USDT, USDC, ETH, SOL, LTC. USDT funciona em TRC-20 ou ERC-20, e USDC em ERC-20. A [página de pagamentos com cripto](https://webreaderapi.com/pt/crypto-payments/) explica cada etapa. --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Política de privacidade > Privacidade da WebReaderAPI: guardamos nomes de host por 30 dias, nunca URLs completas nem conteúdo. Sem documento, sem cartão, login por número de conta. - URL: https://webreaderapi.com/pt/privacy/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Um leitor de páginas web vê dois tipos de dados: os seus, como cliente, e as páginas que você pede para ele ler. Esta política cobre os dois, nessa ordem. **Resposta rápida — O que a WebReaderAPI guarda sobre mim e sobre as páginas que leio?** **WebReaderAPI** guarda o número da sua conta, um email opcional, seus registros de pagamento e créditos, e logs de requisições que contêm o nome de host de cada página, nunca a URL completa ou seu conteúdo, por 30 dias. Não guardamos nenhuma cópia das páginas que você lê. Não pedimos documento de identidade nem cartão, e não vendemos nem compartilhamos seus dados. ## Quais dados coletamos sobre você? Apenas o necessário para operar o serviço: - **Conta:** o número da sua conta e um endereço de email, se você optar por adicionar um. - **Pagamentos:** recargas, seus IDs de transação, moedas e redes, e os packs que você compra. - **Uso:** Cada requisição deixa uma linha de log com a hora, a conta, o nome do host da página (nunca a URL completa nem o conteúdo), o status e os créditos usados; essas linhas são apagadas após 30 dias. As páginas que você lê não são armazenadas. Número da conta, pedidos, recargas e totais de créditos são mantidos enquanto a conta existir e, depois, apenas pelo tempo que a legislação contábil exigir. Registros só vão para as autoridades quando uma lei nos obriga. - **Chaves de API:** armazenadas para podermos verificar suas requisições, revogáveis a qualquer momento. ## O que nunca coletamos? Nunca coletamos documentos de identidade, selfies, documentos de empresa ou números de cartão, porque não precisamos deles. Login pelo número da conta; e-mail é opcional. Nunca armazenamos o endereço completo das páginas que você lê, seu conteúdo, ou o Markdown que retornamos a você. Assim que a resposta sai dos nossos servidores, o texto da página some do nosso lado. ## Por que guardar o nome de host de cada página? Por dois motivos: para mostrar seu histórico de uso e para responder a donos de sites que relatam um problema com nosso rastreador (crawl). Um nome de host como `example.com` basta para ambos, então reduzimos toda URL a ele antes de gravar o log. Os logs são apagados após 30 dias. ## Quem vê as requisições que fazemos por você? O site que você pede para lermos vê uma requisição da nossa infraestrutura, com nosso user agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`. Ele não vê sua conta, sua chave ou sua identidade. Quando você usa a opção `country`, a requisição sai de um endereço naquele país através da nossa infraestrutura, com o mesmo user agent. Nossa infraestrutura recebe apenas o necessário para buscar a página: a URL e as opções que você escolheu. ## Vocês usam cookies? As páginas públicas não usam cookies de publicidade ou rastreamento. A área do cliente usa o armazenamento necessário para manter você conectado e lembrar escolhas de interface, como o seu idioma. As páginas de pagamento mostram endereços e valores, mas não definem rastreadores de terceiros. ## Vocês compartilham ou divulgam dados? Não vendemos nem alugamos nenhum dado. Registros vão para autoridades apenas sob obrigação legal, e avisamos você quando a lei permite. Os registros de conta e pagamento são mantidos enquanto sua conta estiver aberta, depois apenas pelo tempo que as regras contábeis exigirem. ## Como vejo ou apago meus dados? Seu histórico de uso e pagamentos ficam na área do cliente. Para excluir sua conta, solicite pela área do cliente ou escreva para support@webreaderapi.com com um ID de pedido; não pediremos o número da sua conta nem uma chave. Excluir a conta remove seus créditos, como explicam os [termos](https://webreaderapi.com/pt/terms/). --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Política de reembolso > Reembolso da WebReaderAPI: packs de créditos voltam ao saldo em até 72 horas se menos de 20% for usado, crédito integral se não funcionar. Exemplos. - URL: https://webreaderapi.com/pt/refunds/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Os reembolsos vão para o seu saldo, onde ficam e nunca expiram. Esta página apresenta a regra, três exemplos com tamanhos reais de pack e como solicitar. **Resposta rápida — Posso receber reembolso dos créditos da WebReaderAPI?** Sim, em dois casos. Dentro de 72 horas após a compra, um pacote de **WebReaderAPI** créditos volta para o seu saldo se você usou menos de 20% dele. Um pacote que não funciona e que o suporte não consegue resolver em 24 horas é creditado de volta integralmente. As recargas permanecem no seu saldo; apenas a parte adicionada para atingir o mínimo de US$ 25 pode ser reembolsada. ## Qual é a regra exata? Um pack de créditos comprado há menos de 72 horas volta para o seu saldo se menos de 20% dos créditos tiverem sido usados. Se um pack não funcionar e o suporte não conseguir resolver em até 24 horas, todo ele volta para o seu saldo. As recargas ficam como saldo e não são reembolsadas, salvo se a lei exigir o contrário; o valor adicionado apenas para atingir a recarga mínima pode ser devolvido sob solicitação em até 30 dias, em USDT ou USDC, enquanto não for gasto. Os pedidos de reembolso são tratados por uma pessoa, e o valor aparece no seu saldo após a aprovação. Pedidos que falharam nunca precisam de reembolso, porque não usam crédito algum. Isso inclui páginas recusadas pelo robots.txt, pela preferência de IA de um site, ou pelo próprio site. ## Exemplo 1: um pacote comprado por engano Você compra 100.000 páginas por US$ 21,75, lê 3.000 páginas para testar e decide que um pacote menor serve para você. Você pede no dia seguinte. Você usou 3% do pacote, abaixo do limite de 20% e dentro de 72 horas, então o valor total de US$ 21,75 volta para o seu saldo. Você pode então comprar 10.000 páginas por US$ 3,75 com ele. ## Exemplo 2: um pacote que não funciona Você compra 50.000 páginas por US$ 14,25, e cada requisição retorna um erro do nosso lado por um motivo que o suporte não consegue resolver em 24 horas. O pacote é creditado de volta integralmente, independentemente da parte que você tenha tentado usar. ## Exemplo 3: a recarga mínima Você só precisa de 10.000 páginas por US$ 3,75, mas a recarga mínima é US$ 25. A diferença fica no seu saldo para pacotes futuros. Se você não gastá-la, pode pedir o reembolso dessa diferença em até 30 dias após o pagamento, em USDT ou USDC. Nada mais em uma recarga é reembolsado, exceto quando a lei exigir. ## Como peço um reembolso? Use o formulário de suporte na área do cliente, ou escreva para support@webreaderapi.com com o ID do pedido mostrado no seu histórico de pedidos (nunca o número da sua conta ou uma chave de API). O suporte responde em em até 12 horas; assim que um reembolso é aprovado, o valor aparece no seu saldo. ## Por que os reembolsos vão para o saldo? Porque pagamentos em cripto não podem ser revertidos como pagamentos com cartão, e enviar moedas de volta custa taxas de rede toda vez. Um crédito no saldo é imediato e não custa nada a você. A única exceção, reembolsada em stablecoins, é a parte de uma recarga adicionada apenas para atingir o mínimo, em até 30 dias e se não gasta. Os pagamentos não são reembolsados de outra forma, exceto quando a lei exigir. --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Status da WebReaderAPI: como verificar se a API está funcionando > Como verificar se a WebReaderAPI funciona: o endpoint de créditos gratuito, o que cada código de erro significa e onde os incidentes são anunciados. - URL: https://webreaderapi.com/pt/status/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Quando uma página não retorna, a causa geralmente é o site, às vezes a rede, e raramente nós. Esta página mostra como saber qual, em poucos segundos e sem gastar um crédito. **Resposta rápida — Como sei se a WebReaderAPI está funcionando?** Chame `GET https://webreaderapi.com/api/v1/credits` com a sua chave: é gratuito, e uma resposta normal significa que a API e a sua chave funcionam. Se uma página falhar, o código de erro diz o motivo, e **WebReaderAPI** não cobra nada por isso. Incidentes do nosso lado são registrados no [changelog](https://webreaderapi.com/pt/changelog/) com a data. ## Qual é o teste de saúde mais rápido? O endpoint de créditos. Ele responde sem buscar nenhum site, então testa apenas o nosso lado: autenticação, a API e a sua conta. *curl: verifique a API e seus créditos restantes* ```bash curl -s https://webreaderapi.com/api/v1/credits -H "Authorization: Bearer $WEBREADER_API_KEY" ``` ## Quais erros vêm do site e quais vêm de nós? O código de erro diz onde está o problema. Nenhum desses erros usa um crédito. | Código | Onde está o problema | O que fazer | |---|---|---| | `blocked_by_robots` | O robots.txt do site recusa o nosso crawler | Nada: o site disse não | | `blocked_by_site_policy` | O site declara `ai-input=no` | Nada: o site disse não | | `target_refused` | O site respondeu 403, 429, um desafio ou um login | Tente mais tarde, ou peça acesso ao site | | `fetch_failed` | DNS, TLS, conexão, ou uma página 404/410 | Verifique a URL; tente novamente mais tarde | | `fetch_timeout` | O site não respondeu a tempo | Tente novamente com um `timeout` maior | | `concurrency_limit` | Muitas requisições ao mesmo tempo da sua conta | Diminua o ritmo ou peça um limite maior | | `invalid_api_key`, `insufficient_credits` | Sua chave ou seu saldo | Verifique o dashboard | A [página de erros](https://webreaderapi.com/pt/docs/errors/) detalha cada caso, com um loop de nova tentativa. ## Por que não há um número de uptime ao vivo aqui? Porque ainda não medimos um com uma amostra pública, e um número inventado enganaria você. O sucesso de uma leitura depende principalmente do site lido, então uma única porcentagem diria pouco. Quando publicarmos números, eles virão com o método, a amostra e a data. ## Onde os incidentes são anunciados? No [changelog](https://webreaderapi.com/pt/changelog/), com a data, os endpoints afetados e o que foi feito. Se você vir erros repetidos do nosso lado (códigos diferentes dos causados pelo site de destino), escreva para support@webreaderapi.com com o horário da requisição e o código de erro. ## Status: perguntas frequentes ### Verificar meus créditos custa alguma coisa? Não. `GET https://webreaderapi.com/api/v1/credits` nunca usa um crédito, então você pode chamá-lo em um teste de saúde quantas vezes quiser, dentro do seu limite de concorrência. ### Uma página falha para mim mas abre no meu navegador. Por quê? Geralmente porque o site trata robôs de forma diferente das pessoas: ele pode recusar o nosso crawler no robots.txt ou responder a requisições automatizadas com uma página de desafio. Devolvemos a resposta dele e não cobramos nada. O código de erro e `target_status` mostram o que o site enviou. ### Leituras com falha são cobradas? Não. 1 crédito = 1 página lida sem navegador; 2 créditos quando a página precisa de um navegador para renderizar JavaScript. Uma requisição que falha, ou que o robots.txt de um site recusa, não é cobrada. --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Termos de serviço > Termos de serviço da WebReaderAPI: conta, créditos que nunca expiram, recargas em cripto, robots.txt, reembolsos e responsabilidade, em linguagem simples. - URL: https://webreaderapi.com/pt/terms/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Estes termos cobrem o site, a área do cliente e a API. Cada seção responde a uma pergunta, e nada importante fica escondido em uma nota de rodapé. **Resposta rápida — O que dizem os termos do WebReaderAPI em resumo?** Você paga em cripto por créditos de página pré-pagos para a API de leitura de páginas web **WebReaderAPI**, após uma recarga de no mínimo US$ 25. 1 crédito = 1 página lida sem navegador; 2 créditos quando a página precisa de um navegador para renderizar JavaScript. Uma requisição que falha, ou que o robots.txt de um site recusa, não é cobrada. Os créditos pré-pagos nunca expiram: as páginas não usadas ficam na sua conta até você usá-las. Toda requisição segue o robots.txt do site de destino, e a [Política de Uso Aceitável](https://webreaderapi.com/pt/acceptable-use/) faz parte destes termos. O serviço é vendido por SerpGoat LLC. ## 1. Quem está sujeito a estes termos? Você e a SerpGoat LLC, que opera a WebReaderAPI. "Você" é o titular de uma conta, uma pessoa ou uma organização. Criar uma conta, pagar uma recarga ou chamar a API significa que você aceita estes termos e a [Política de Uso Aceitável](https://webreaderapi.com/pt/acceptable-use/). ## 2. O que o serviço faz? A WebReaderAPI busca páginas web públicas e arquivos PDF que você indica e devolve o conteúdo deles como Markdown, texto simples ou HTML limpo, por meio de `https://webreaderapi.com/api/v1/read`, `https://webreaderapi.com/api/v1/batch` e `https://webreaderapi.com/api/v1/crawl`. Os sites decidem o que suas páginas contêm e se os robôs podem lê-las. Não controlamos, corrigimos nem garantimos o conteúdo que devolvemos. A mesma URL pode dar um resultado diferente de uma requisição para outra. ## 3. Como funcionam as contas e as chaves de API? Login pelo número da conta; e-mail é opcional. Você entra com o número da sua conta, então guarde-o em um lugar seguro. Um e-mail opcional dá a você uma forma de recuperá-lo; sem e-mail cadastrado, um número perdido não pode ser restaurado. Você pode criar várias chaves e revogar qualquer uma delas no painel. Toda requisição enviada com uma das suas chaves usa seus créditos, seja quem for que a envie, então mantenha as chaves em sigilo e revogue qualquer chave que vaze. Uma conta por pessoa ou organização. ## 4. Como os créditos são contados e quando expiram? 1 crédito = 1 página lida sem navegador; 2 créditos quando a página precisa de um navegador para renderizar JavaScript. Uma requisição que falha, ou que o robots.txt de um site recusa, não é cobrada. Escolher o país de onde a página é lida adiciona 10 créditos, porque a página passa a ser lida por uma conexão residencial naquele país. Arquivos PDF de até 20 MB e 100 páginas são convertidos em Markdown, a 1 crédito por bloco iniciado de 10 páginas. Os créditos pré-pagos nunca expiram: as páginas não usadas ficam na sua conta até você usá-las. Os créditos só são perdidos se você excluir sua conta ou se nós a encerrarmos por violação destes termos. Se deixarmos de vender o serviço, avisamos com pelo menos 30 dias de antecedência para você usar os créditos restantes ou transferir o valor deles para outro produto. ## 5. Como funcionam os pagamentos? Os preços são em dólares americanos na [página de preços](https://webreaderapi.com/pt/pricing/). Você recarrega um saldo em BTC, USDT, USDC, ETH, SOL, LTC, com um mínimo de US$ 25, e compra pacotes de créditos com esse saldo. Envie o valor exato mostrado na rede indicada e clique em "I've sent the payment"; o pagamento é identificado pelo valor exato e creditado assim que for confirmado na blockchain. Seu saldo mantém o valor sem data de validade. Quando um pacote custa menos que a recarga mínima, a parte excedente pode ser solicitada de volta em até 30 dias, em USDT ou USDC, desde que não tenha sido usada; as outras recargas não são reembolsadas, salvo se a lei exigir. As taxas de rede são pagas pelo remetente. ## 6. Posso pedir reembolso? Sim, para o seu saldo, em dois casos: um pacote usado em menos de 20% dentro de 72 horas após a compra, e um pacote que não funciona e que o suporte não consegue corrigir em um dia. A [política de reembolso](https://webreaderapi.com/pt/refunds/) traz a regra completa, com exemplos. ## 7. Que regras valem para as páginas que eu leio? Nosso rastreador (crawler) aplica três regras a toda requisição, e elas não podem ser desativadas. Respeitamos o robots.txt: nosso crawler se identifica como WebReaderAPI, segue as regras escritas para ele ou para todos os robôs e não lê uma página que o site proíbe. Páginas recusadas não são cobradas. Se um site declara Content-Signal: ai-input=no no seu robots.txt, não lemos as páginas dele para você. Se um site recusa nossa requisição, devolvemos a resposta dele: nunca resolvemos CAPTCHAs, nunca entramos em contas e nunca tentamos contornar um bloqueio ou um paywall. Você é responsável por como usa o conteúdo que recebe, inclusive pelos direitos de seus proprietários. A [Política de Uso Aceitável](https://webreaderapi.com/pt/acceptable-use/) lista os usos proibidos. ## 8. Há limites de volume ou de velocidade? Cada conta tem um limite de quantas páginas lê ao mesmo tempo; seu dashboard mostra esse limite, e o suporte pode aumentá-lo. Rastreie um site por job, até 10.000 páginas, seguindo o sitemap, o robots.txt e o Crawl-delay do site. Até 100 URLs por job em lote. Podemos desacelerar ou pausar requisições a um único site para protegê-lo, por exemplo respeitando o `Crawl-delay` dele. ## 9. Quando vocês podem suspender minha conta? Quando identificamos uma violação destes termos ou da política de uso aceitável, quando um pagamento é revertido ou fraudulento, ou quando a lei exigir. Informamos o motivo quando a lei permite, e uma pessoa analisa os fatos antes de qualquer suspensão. ## 10. O que vocês garantem? Fornecemos o serviço como ele é. Não garantimos que uma determinada página possa ser lida, que um site aceite nossas requisições ou que o serviço funcione sem interrupções. Requisições com falha e páginas recusadas por um site não são cobradas, o que limita seu custo quando uma página não pode ser lida. ## 11. Qual é a sua responsabilidade? Onde a lei permite, nossa responsabilidade total por qualquer reclamação fica limitada aos valores que você nos pagou nos 12 meses anteriores ao evento que a causou. Não somos responsáveis por perdas indiretas, como lucros cessantes ou perda de dados. Nada nestes termos limita uma responsabilidade que a lei não nos permite limitar. ## 12. Como estes termos mudam? Datamos cada versão e registramos as mudanças no [changelog](https://webreaderapi.com/pt/changelog/). Uma mudança que reduz seus direitos se aplica aos créditos comprados após a publicação da mudança. Perguntas vão para support@webreaderapi.com. --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # API de página web para Markdown: o conteúdo principal de qualquer URL, pronto para um modelo > API de página web para Markdown para LLMs e agentes de IA: qualquer URL em Markdown limpo com título, autor e data, a partir de US$ 0,07/1K páginas. Sem KYC. - URL: https://webreaderapi.com/pt/url-to-markdown-api/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Passe uma URL e receba o artigo de volta como Markdown: títulos, parágrafos, listas, tabelas e links mantidos; menus, banners de cookies, anúncios e rodapés removidos. Com o título, autor, data e idioma da página. **Resposta rápida — Qual API converte uma página web em Markdown limpo para um LLM?** Uma API de página web para Markdown busca uma página, mantém o conteúdo principal e o devolve como Markdown. O **WebReaderAPI** faz isso em uma requisição: `GET https://webreaderapi.com/api/v1/read?url=…` devolve o artigo com seus títulos, listas, tabelas e links, além de título, autor, data e contagem de palavras, por um crédito por página a partir de US$ 0,07/1K páginas em outubro de 2026. O robots.txt é respeitado. Sem KYC; pague com cripto. ## API de URL para Markdown em resumo | Atributo | Valor | | --- | --- | | Endpoint | `GET https://webreaderapi.com/api/v1/read?url=…` (ou `POST` com um corpo JSON) | | Saída | Markdown limpo do conteúdo principal da página (ou texto simples, ou HTML limpo), com título, descrição, autor, data de publicação, idioma e contagem de palavras; links e imagens sob solicitação | | JavaScript | Renderização de JavaScript em um navegador headless quando a página precisa (render=auto), ou sempre, ou nunca | | Cobrança | 1 crédito = 1 página lida sem navegador; 2 créditos quando a página precisa de um navegador para renderizar JavaScript. Uma requisição que falha, ou que o robots.txt de um site recusa, não é cobrada | | Orçamento de tokens | `max_chars` corta o Markdown para o tamanho que seu modelo suporta | | robots.txt | Respeitamos o robots.txt: nosso crawler se identifica como WebReaderAPI, segue as regras escritas para ele ou para todos os robôs e não lê uma página que o site proíbe. Páginas recusadas não são cobradas | | Preço | US$ 3,75 por 10.000 páginas, US$ 21,75 por 100.000 páginas, a partir de US$ 0,07/1K páginas em 5.000.000 de páginas | | Pagamento | BTC, USDT, USDC, ETH, SOL, LTC, a partir de uma recarga de US$ 25; sem KYC | ## Por que converter páginas web em Markdown antes de entregá-las a um modelo? O Markdown mantém a estrutura de que um modelo precisa e descarta a marcação de que ele não precisa. Uma página típica de artigo carrega navegação, scripts, tags de rastreamento, avisos de cookies e widgets de posts relacionados em torno de algumas centenas de palavras de texto. Enviada como HTML bruto, a maior parte dos tokens que você paga é marcação. O Markdown mantém títulos como `#`, listas como `-`, tabelas como pipes e links como `[text](url)`. Um modelo ainda consegue ver qual frase pertence a qual seção, citar o link da fonte e dividir o texto em chunks ao longo dos títulos. O mesmo texto em prosa simples perde essa estrutura; o mesmo texto em HTML custa muito mais tokens. ## O que a API mantém e o que ela remove? Com `main_content=true`, o padrão, a API mantém a parte da página pela qual o leitor veio e remove o resto. | Mantido | Removido | |---|---| | Título e títulos de seção | Navegação e menus do site | | Parágrafos, citações e listas | Banners de cookies e consentimento | | Tabelas, como tabelas Markdown | Anúncios e widgets promovidos | | Blocos de código, com a linguagem quando exibida | Barras laterais e listas de posts relacionados | | Links dentro do texto | Rodapés e textos legais | | Imagens, somente com `include_images=true` | Botões de compartilhamento e formulários de comentário | Defina `main_content=false` para converter a página inteira, por exemplo uma home page ou uma listagem de produtos em que tudo importa. Defina `format=text` para texto simples sem Markdown, ou `format=html` para HTML limpo do conteúdo principal. *curl: uma página como Markdown, cortada em 20.000 caracteres* ```bash curl -G "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/blog/pour-over-coffee" \ -d format=markdown -d max_chars=20000 ``` *Python: ler uma página e imprimir seus metadados e o Markdown* ```python import os import requests resp = requests.get( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"url": "https://example.com/blog/pour-over-coffee", "format": "markdown"}, timeout=90, ) resp.raise_for_status() page = resp.json() print(page["title"], "|", page.get("author"), "|", page.get("published_at")) print(page["word_count"], "words,", page["credits_used"], "credit(s)") print(page["markdown"][:500]) ``` ## E as páginas construídas com JavaScript? Muitas páginas enviam quase nenhum texto no primeiro HTML e montam o conteúdo no navegador. Com `render=auto`, o padrão, a API primeiro lê o HTML bruto; se ele tiver texto de menos, ela abre a página em um navegador headless e lê o resultado. A resposta diz qual dos dois aconteceu em `rendered`. Uma página que precisou do navegador custa dois créditos em vez de um. Se você sabe que um site sempre precisa dele, defina `render=true`; se você quer apenas o que o servidor envia, defina `render=false` e nunca pague o segundo crédito. ## O que acontece quando um site não quer ser lido? Respeitamos a escolha dele e você não é cobrado. Nosso rastreador se identifica como `WebReaderAPI` e verifica o robots.txt antes de cada leitura. Uma página não permitida para o nosso token, ou para todos os robôs, retorna `403 blocked_by_robots`. Um site que declara `Content-Signal: ai-input=no` retorna `403 blocked_by_site_policy`. Se o site recusar a requisição de outra forma, como um status 403, uma página de desafio ou uma barreira de login, você recebe `502 target_refused` com o status do próprio site. Se um site recusa nossa requisição, devolvemos a resposta dele: nunca resolvemos CAPTCHAs, nunca entramos em contas e nunca tentamos contornar um bloqueio ou um paywall. Nossa [página do rastreador](https://webreaderapi.com/pt/bot/) explica tudo isso aos donos de sites, com o User-Agent exato. ## Quantas páginas meu projeto vai precisar? Conte um crédito por página, dois para páginas que precisam do navegador. Alguns volumes típicos: - **Um agente de IA** que lê 5 páginas por tarefa e executa 100 tarefas por dia lê cerca de 15.000 páginas por mês: 50.000 páginas (US$ 14,25) duram mais de três meses. - **Um índice RAG** de três sites de documentação com 2.000 páginas cada é 6.000 páginas, depois uma atualização semanal das páginas alteradas. - **Um corpus de pesquisa** de 400.000 notícias e artigos de blog cabe em 500.000 páginas (US$ 50). Créditos nunca expiram, então um pacote comprado para um crawl pontual mantém o valor restante para trabalhos futuros. ## Quanto custa a API de URL para Markdown? 10.000 páginas custam US$ 3,75, 100.000 páginas custam US$ 21,75 e 1.000.000 de páginas custam US$ 74,25, em outubro de 2026. Páginas com falha e páginas recusadas pelo robots.txt são gratuitas. Veja [todos os pacotes](https://webreaderapi.com/pt/pricing/). | Plano | Quantidade | Preço | Preço por unidade | | --- | --- | --- | --- | | Testar | 10.000 páginas | US$ 3,75 | US$ 0,38/1K páginas | | Starter | 50.000 páginas | US$ 14,25 | US$ 0,28/1K páginas | | Build | 100.000 páginas | US$ 21,75 | US$ 0,22/1K páginas | | Volume | 1.000.000 de páginas | US$ 74,25 | US$ 0,07/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 **Antes de pagar** - Recarga mínima US$ 25. Recarregue uma vez com cripto e depois compre qualquer plano usando seu saldo. - Seu saldo não tem data de validade e pode comprar créditos de página a qualquer momento. Se um pacote custar menos que o valor mínimo de recarga, o valor que você adicionou apenas para atingir esse mínimo pode ser devolvido mediante solicitação em até 30 dias após o pagamento, em USDT ou USDC, desde que você não o tenha gasto. Qualquer outro saldo não é reembolsado, a menos que a lei determine o contrário. - Creditado assim que seu pagamento é verificado na blockchain. Tempo habitual de confirmação da rede: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min ## API de URL para Markdown: perguntas frequentes ### O Markdown mantém tabelas e blocos de código? Sim. Tabelas HTML viram tabelas Markdown, e blocos de código permanecem cercados, com a linguagem quando a página a indica. Tabelas muito complexas, como as com células mescladas, são achatadas linha a linha. ### Posso obter a página inteira em vez do artigo? Sim. Defina `main_content=false` e a API converte tudo na página, incluindo navegação e rodapé. Isso serve para home pages, páginas de categoria e listagens de produtos, em que o detector de conteúdo principal descartaria partes úteis. ### Como mantenho as páginas dentro da janela de contexto do meu modelo? Use `max_chars`, entre 1.000 e 500.000 caracteres, para cortar o Markdown em um comprimento definido. O campo `word_count` informa qual era o comprimento do artigo completo, para que seu agente decida se deve ler mais. ### Ele consegue ler páginas atrás de login ou paywall? Não. WebReaderAPI lê apenas páginas públicas. Ele nunca faz login em contas e nunca tenta contornar um paywall ou um bloqueio; essas páginas retornam a recusa do site e não são cobradas. ### Preciso de um documento ou cartão para obter uma chave? Não. WebReaderAPI não pede documento, selfie, documentos da empresa nem cartão. Login pelo número da conta; e-mail é opcional. Você recarrega a partir de US$ 25 em BTC, USDT, USDC, ETH, SOL, LTC. --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # O que você pode construir com uma API de leitura de páginas web? > Veja o que as equipes criam com uma API de leitura de páginas web para agentes de IA, RAG e monitoramento. A partir de US$ 0,07/1K páginas. - URL: https://webreaderapi.com/pt/use-cases/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Quatro tarefas concentram a maior parte do que as pessoas fazem com texto limpo de páginas: dar a um agente uma forma de ler, alimentar uma base de conhecimento, observar páginas em busca de mudanças e converter o conteúdo de um site em Markdown. Cada uma tem sua própria página com código e custos. **Resposta rápida — Para que serve uma API de leitura de páginas web?** As equipes usam uma API de leitura de páginas web para dar aos agentes de IA uma ferramenta de busca, ingerir sites em índices de RAG, monitorar páginas públicas em busca de mudanças e converter seus próprios sites em Markdown. **WebReaderAPI** cobre os quatro com uma única chave de API: `/read` por uma página, `/batch` por uma lista, `/crawl` por um site, a um crédito por página a partir de US$ 0,07/1K páginas em outubro de 2026. Sem KYC; pague com cripto. ## Qual é o seu caso de uso? - **[Agentes de IA](https://webreaderapi.com/pt/use-cases/ai-agents/)** — Uma ferramenta read_url para Claude, Cursor, OpenClaw, n8n ou seu próprio agente, com um limite de tamanho por página. - **[Ingestão para RAG](https://webreaderapi.com/pt/use-cases/rag/)** — Rastreie (crawl) documentação e blogs em chunks de Markdown que mantêm os títulos e a URL de origem. - **[Monitoramento de mudanças](https://webreaderapi.com/pt/use-cases/monitoring/)** — Leia páginas de preços, políticas e changelogs em uma programação e receba as diferenças como texto. - **[Site para Markdown](https://webreaderapi.com/pt/use-cases/website-to-markdown/)** — Exporte seu próprio site para arquivos Markdown para uma migração, um backup ou seu próprio assistente. - **[PDFs](https://webreaderapi.com/pt/pdf-to-markdown-api/)** — Relatórios, artigos e manuais a partir de um link, convertidos em texto Markdown. - **[llms.txt](https://webreaderapi.com/pt/guides/llms-txt-generator/)** — Crie um arquivo llms.txt para seu próprio site a partir de um rastreamento (crawl), com uma linha por página. ## Qual endpoint e quantas páginas cada caso de uso precisa? Volumes típicos para uma equipe pequena, para dimensionar um primeiro pacote. Um crédito por página, dois quando a página precisa de um navegador. | Caso de uso | Endpoint | Páginas típicas por mês | | --- | --- | --- | | Agente que lê 5 páginas por tarefa, 100 tarefas por dia | `/read` | Cerca de 15.000 | | Índice de RAG de 3 sites de documentação, atualizado semanalmente | `/crawl`, depois `/batch` | 6.000 para construir, algumas centenas por semana depois | | Monitoramento de 200 páginas de concorrentes e políticas diariamente | `/batch` | Cerca de 6.000 | | Exportação de um site de 2.000 páginas uma vez | `/crawl` | 2.000, uma vez | ## Qual problema esses quatro trabalhos têm em comum? Todos precisam da parte legível de uma página, não do seu layout. Um agente desperdiça tokens em menus; um índice ranqueia boilerplate; um monitor de mudanças dispara falsos alarmes quando um anúncio gira; uma migração copia banners de cookies para o novo site. A extração do conteúdo principal resolve o mesmo problema em cada caso. Eles também compartilham os mesmos limites. Páginas atrás de um login ou de um paywall ficam fora de alcance, e sites que recusam robots são ignorados e não cobrados. Respeitamos o robots.txt: nosso crawler se identifica como WebReaderAPI, segue as regras escritas para ele ou para todos os robôs e não lê uma página que o site proíbe. Páginas recusadas não são cobradas. ## Como escolho entre /read, /batch e /crawl? Use a menor ferramenta que resolve o trabalho. - **`/read`** retorna uma página de forma síncrona. Serve para agentes, que decidem página a página o que ler em seguida. - **`/batch`** lê até 100 URLs que você já conhece, como um job em segundo plano. Serve para listas de monitoramento e atualizações. - **`/crawl`** descobre e lê um site inteiro a partir de uma URL inicial, até 10.000 páginas, seguindo o sitemap e o robots.txt. Serve para primeiras construções e exportações. As três aceitam as mesmas opções, como `format`, `main_content`, `render` e `max_chars`, e cobram da mesma forma. ## Quanto vai custar um primeiro projeto? A maioria dos primeiros projetos cabe em um pack pequeno. Um agente protótipo, um índice de documentação único ou uma lista de monitoramento de algumas centenas de páginas usa de alguns milhares a quinze mil créditos por mês. 10.000 páginas custam US$ 3,75 e 50.000 páginas custam US$ 14,25, em outubro de 2026. Os créditos nunca expiram, então comprar o pack maior para um projeto que pode crescer não custa nada a mais em um mês parado. Páginas com falha e páginas recusadas pelo robots.txt são gratuitas. ## Packs para um primeiro projeto Comece pequeno; os créditos acumulam sem data de validade. 1 crédito = 1 página lida sem navegador; 2 créditos quando a página precisa de um navegador para renderizar JavaScript. Uma requisição que falha, ou que o robots.txt de um site recusa, não é cobrada. | Plano | Quantidade | Preço | Preço por unidade | | --- | --- | --- | --- | | Testar | 10.000 páginas | US$ 3,75 | US$ 0,38/1K páginas | | Starter | 50.000 páginas | US$ 14,25 | US$ 0,28/1K páginas | | Build | 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 **Antes de pagar** - Recarga mínima US$ 25. Recarregue uma vez com cripto e depois compre qualquer plano usando seu saldo. - Seu saldo não tem data de validade e pode comprar créditos de página a qualquer momento. Se um pacote custar menos que o valor mínimo de recarga, o valor que você adicionou apenas para atingir esse mínimo pode ser devolvido mediante solicitação em até 30 dias após o pagamento, em USDT ou USDC, desde que você não o tenha gasto. Qualquer outro saldo não é reembolsado, a menos que a lei determine o contrário. - Creditado assim que seu pagamento é verificado na blockchain. Tempo habitual de confirmação da rede: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min ## Casos de uso: perguntas comuns ### Posso usar uma chave para vários projetos? Sim, ou crie uma chave por projeto para ver o uso separadamente e revogar uma sem afetar as outras. Crie várias chaves de API, por exemplo uma por agente ou projeto, e revogue qualquer uma delas no seu dashboard. ### Qual caso de uso precisa de renderização JavaScript? Qualquer um que leia web apps modernos, sites de documentação de página única ou páginas que carregam conteúdo depois da primeira resposta. Com `render=auto`, a API renderiza apenas quando o HTML bruto tem texto de menos. ### Existe algum caso de uso para o qual o WebReaderAPI não serve? Sim: coletar dados pessoais sobre pessoas privadas, ler conteúdo atrás de um login ou de um paywall, e qualquer coisa que exija contornar a recusa de um site. Nossa [Política de Uso Aceitável](https://webreaderapi.com/pt/acceptable-use/) lista as regras. ### Preciso de um documento para começar? Não. WebReaderAPI não pede documento, não pede selfie e não pede comprovantes. Uma recarga começa a partir de US$ 25, em BTC, USDT, USDC, ETH, SOL, LTC. --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Ferramenta de web fetch para agentes de IA: leia páginas como Markdown limpo > Leia qualquer página pública como Markdown via MCP, ferramentas OpenAI, LangChain ou n8n, a partir de US$ 0,07/1K páginas. Cripto. - URL: https://webreaderapi.com/pt/use-cases/ai-agents/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) 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. ## WebReaderAPI como ferramenta de agente | Atributo | Valor | | --- | --- | | 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](https://webreaderapi.com/pt/docs/mcp/), [OpenAI](https://webreaderapi.com/pt/docs/openai/), [LangChain e LlamaIndex](https://webreaderapi.com/pt/docs/langchain/), [n8n](https://webreaderapi.com/pt/docs/n8n/), [OpenClaw](https://webreaderapi.com/pt/docs/openclaw/) | | Preço | US$ 3,75 por 10.000 páginas; os créditos nunca expiram | ## Por que um agente precisa de um leitor em vez de HTML bruto? 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. ## Por que ferramentas de fetch integradas às vezes falham? 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](https://webreaderapi.com/pt/guides/web-fetch-403-errors/) explica cada caso. ## Por que a ferramenta se chama read_url e não web_fetch? 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. *Python: uma ferramenta read_url compacta com limite de tamanho* ```python 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]) ``` ## Como um agente deve decidir o que ler? Dê a ele um orçamento e uma regra. Três hábitos mantêm custos e contexto sob controle: - **Leia pouco, leia bem.** Duas a quatro fontes por pergunta costumam bastar para responder com citações. - **Limite cada página.** Comece com `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. - **Informe as recusas.** Quando uma página não é lida, deixe o modelo dizer isso e passar para outra fonte em vez de tentar de novo. A ferramenta acima retorna as recusas como uma única frase simples, então o modelo pode explicá-las ao usuário. ## Quanto custa rodar um agente na WebReaderAPI? 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. ## Qual pack é ideal para um agente? 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. | Plano | Quantidade | Preço | Preço por unidade | | --- | --- | --- | --- | | Testar | 10.000 páginas | US$ 3,75 | US$ 0,38/1K páginas | | Starter | 50.000 páginas | US$ 14,25 | US$ 0,28/1K páginas | | Build | 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 **Antes de pagar** - Recarga mínima US$ 25. Recarregue uma vez com cripto e depois compre qualquer plano usando seu saldo. - Seu saldo não tem data de validade e pode comprar créditos de página a qualquer momento. Se um pacote custar menos que o valor mínimo de recarga, o valor que você adicionou apenas para atingir esse mínimo pode ser devolvido mediante solicitação em até 30 dias após o pagamento, em USDT ou USDC, desde que você não o tenha gasto. Qualquer outro saldo não é reembolsado, a menos que a lei determine o contrário. - Creditado assim que seu pagamento é verificado na blockchain. Tempo habitual de confirmação da rede: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min ## Agentes de IA: perguntas comuns ### Posso adicionar a WebReaderAPI ao Claude Desktop ou ao Cursor? Sim, por meio de um pequeno servidor MCP que expõe o `read_url`. A [página do MCP](https://webreaderapi.com/pt/docs/mcp/) tem o código e o trecho de configuração; sua chave de API fica em uma variável de ambiente. ### Funciona com o OpenClaw? Sim, como um servidor MCP ao lado do web_fetch integrado do OpenClaw. A [página do OpenClaw](https://webreaderapi.com/pt/docs/openclaw/) mostra os comandos da própria documentação do OpenClaw. ### O agente consegue ler páginas que bloqueiam bots de IA? 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. ### Como evito que uma página longa preencha a janela de contexto? 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. ### Preciso de cartão ou documento de identidade? 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. ## Fontes 1. [Press release: crawlers de IA bloqueados por padrão](https://www.cloudflare.com/press-releases/2025/cloudflare-just-changed-how-ai-crawlers-scrape-the-internet-at-large/) — Cloudflare (2025-07-01) 2. [Blog: novos padrões para rastreadores de IA e agentes](https://blog.cloudflare.com/accountable-mixed-use-ai-crawlers/) — Cloudflare (2026-09-15) 3. [Ferramenta de busca na web](https://docs.openclaw.ai/tools/web-fetch.md) — OpenClaw (read 2026-10-22) --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Monitoramento de mudanças em sites: compare páginas públicas como Markdown limpo > Monitore páginas públicas da web em busca de mudanças: leia preços e changelogs como Markdown, compare o texto e alerte. A partir de US$ 0,07/1K páginas. - URL: https://webreaderapi.com/pt/use-cases/monitoring/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Comparar HTML bruto gera um alerta toda vez que um anúncio ou um token muda. Comparar o conteúdo principal como Markdown só sinaliza o que um leitor notaria: um novo preço, uma cláusula reescrita, uma nova entrada no changelog. **Resposta rápida — Como posso monitorar páginas web em busca de mudanças de conteúdo?** Leia cada página em uma programação como Markdown do seu conteúdo principal, armazene o texto e compare com a versão anterior; alerte só quando o texto mudar. **WebReaderAPI** lê até 100 URLs por job em lote, remove anúncios e menus para que não disparem falsos alarmes e cobra um crédito por página a partir de US$ 0,07/1K páginas em outubro de 2026. Sem KYC; pague com cripto. ## Monitoramento com WebReaderAPI | Atributo | Valor | | --- | --- | | Endpoint | `POST https://webreaderapi.com/api/v1/batch`, depois `GET https://webreaderapi.com/api/v1/jobs/{job_id}` | | Tamanho do lote | Até 100 URLs por job em lote | | O que é comparado | Markdown do conteúdo principal, sem anúncios, menus ou banners | | Cobrança | 1 crédito = 1 página lida sem navegador; 2 créditos quando a página precisa de um navegador para renderizar JavaScript. Uma requisição que falha, ou que o robots.txt de um site recusa, não é cobrada | | Volume de exemplo | 200 páginas verificadas por dia = cerca de 6.000 páginas por mês | | Preço | US$ 3,75 por 10.000 páginas; os créditos nunca expiram | ## O que vale a pena monitorar? Páginas cujo texto importa para o seu negócio e que mudam sem aviso: - **Páginas de preços** de fornecedores e concorrentes, para ver novos planos e mudanças de preço. - **Termos, políticas de privacidade e de reembolso** dos quais você depende, para pegar cláusulas que mudam. - **Changelogs e notas de versão** de ferramentas nas quais você se baseia, para reagir a mudanças que quebram. - **Páginas de documentação** para as quais seu produto aponta, para corrigir orientações quebradas rapidamente. - **Avisos públicos** de reguladores ou órgãos de padronização da sua área. Mantenha a lista em páginas públicas. Perfis pessoais e páginas atrás de login estão fora do escopo. ## Por que comparar Markdown em vez de HTML? Porque o HTML muda o tempo todo sem que o conteúdo mude. Anúncios rotativos, tokens de sessão, timestamps em rodapés e marcação de teste A/B fazem duas cargas da mesma página diferirem. Uma comparação no HTML transforma esse ruído em alertas, e as pessoas param de lê-los. O Markdown do conteúdo principal remove a maior parte do ruído antes da comparação. O que sobra é o texto que uma pessoa lê: títulos, parágrafos, listas e tabelas. Uma comparação nesse texto é curta, legível e vale um alerta. *Python: verificar uma lista de páginas e imprimir o que mudou* ```python import difflib import json import os import pathlib import time import requests API = "https://webreaderapi.com/api/v1" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} STORE = pathlib.Path("snapshots.json") URLS = [ "https://example.com/pricing", "https://example.com/legal/terms", "https://example.com/changelog", ] old = json.loads(STORE.read_text(encoding="utf-8")) if STORE.exists() else {} job = requests.post(API + "/batch", headers=HEADERS, json={"urls": URLS}, timeout=60).json() results, cursor, delay = [], None, 5 while True: params = {"cursor": cursor} if cursor else {} page = requests.get(API + "/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=60).json() results += page.get("results", []) cursor = page.get("next_cursor") if page["status"] == "done" and not cursor: break if not cursor: time.sleep(delay) delay = min(delay * 2, 60) new = dict(old) for item in results: if "markdown" not in item: print("not read:", item["url"], item.get("error", {}).get("code")) continue before = old.get(item["url"], "") if before and before != item["markdown"]: diff = difflib.unified_diff(before.splitlines(), item["markdown"].splitlines(), lineterm="", n=0) print("CHANGED:", item["url"]) print("\n".join(list(diff)[:40])) new[item["url"]] = item["markdown"] STORE.write_text(json.dumps(new, ensure_ascii=False), encoding="utf-8") ``` ## Com que frequência devo verificar, e com que educação? Verifique com a frequência com que a página realmente muda, e não mais. Diariamente serve para páginas de preços e changelogs; semanalmente serve para políticas e documentação. Uma página lida a cada hora raramente diz mais do que uma lida por dia, e custa 24 vezes mais. WebReaderAPI segue o robots.txt em cada página e respeita o `Crawl-delay` de um site em jobs de rastreamento (crawl). Páginas que o site não permite são puladas e não são cobradas, então um site restritivo simplesmente sai do seu relatório. Pergunte ao dono se você precisar de acesso a uma página que recusa robots. ## Quanto custa o monitoramento? Um crédito por página por verificação. Alguns exemplos com os preços de outubro de 2026: - **50 páginas, diariamente:** cerca de 1.500 páginas por mês. 10.000 páginas (US$ 3,75) duram mais de seis meses. - **200 páginas, diariamente:** cerca de 6.000 páginas por mês. 50.000 páginas (US$ 14,25) duram cerca de oito meses. - **1.000 páginas, semanalmente:** cerca de 4.300 páginas por mês, próximo do caso anterior. Páginas que exigem navegador usam dois créditos; defina `render=false` para páginas que você sabe serem HTML simples para manter a contagem em um. ## Qual pack serve para monitoramento? Multiplique as páginas pelas verificações por mês e escolha um pack que dure alguns meses. Os créditos nunca expiram. | Plano | Quantidade | Preço | Preço por unidade | | --- | --- | --- | --- | | Testar | 10.000 páginas | US$ 3,75 | US$ 0,38/1K páginas | | Starter | 50.000 páginas | US$ 14,25 | US$ 0,28/1K páginas | | Build | 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 **Antes de pagar** - Recarga mínima US$ 25. Recarregue uma vez com cripto e depois compre qualquer plano usando seu saldo. - Seu saldo não tem data de validade e pode comprar créditos de página a qualquer momento. Se um pacote custar menos que o valor mínimo de recarga, o valor que você adicionou apenas para atingir esse mínimo pode ser devolvido mediante solicitação em até 30 dias após o pagamento, em USDT ou USDC, desde que você não o tenha gasto. Qualquer outro saldo não é reembolsado, a menos que a lei determine o contrário. - Creditado assim que seu pagamento é verificado na blockchain. Tempo habitual de confirmação da rede: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min ## Monitoramento de mudanças: perguntas frequentes ### O WebReaderAPI envia alertas? Não. Ele lê páginas e retorna Markdown; seu script compara versões e envia o alerta por email, chat ou ticket. O código acima imprime as linhas alteradas como ponto de partida. ### Como evito falsos alarmes de datas e contadores? Compare o Markdown do conteúdo principal, não o HTML, e remova linhas que você sabe que mudam a cada carga, como "atualizado há 5 minutos", antes de comparar. A maioria dos elementos rotativos já é removida pela extração do conteúdo principal. ### Posso monitorar páginas que precisam de JavaScript? Sim. Com `render=auto`, páginas que ficam vazias sem JavaScript são renderizadas em um navegador por dois créditos. Páginas que funcionam sem ele continuam em um. ### Posso monitorar um site inteiro em vez de uma lista de páginas? Sim: execute um job de rastreamento (crawl) em vez de um lote e depois compare página por página. Para sites grandes, compare primeiro as datas `lastmod` do sitemap e releia apenas as páginas que mudaram. --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Páginas web para RAG: transforme sites em Markdown limpo e fácil de dividir em chunks > Alimente pipelines de RAG com páginas web: rastreie documentação e blogs em Markdown limpo e mantenha as URLs. A partir de US$ 0,07/1K páginas. - URL: https://webreaderapi.com/pt/use-cases/rag/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) A recuperação funciona com o que você coloca no índice. Markdown limpo com títulos, metadados e uma URL de origem gera chunks melhores, menos tokens desperdiçados e respostas que podem citar sua página. **Resposta rápida — Como faço para ingerir páginas web em um pipeline de RAG?** Leia cada página como Markdown do seu conteúdo principal, divida-a pelos seus títulos, anexe a URL de origem e o título a cada chunk e depois gere os embeddings e armazene. **WebReaderAPI** cuida da leitura: uma requisição por página, ou um job de rastreamento (crawl) para um site inteiro de até 10.000 páginas, a um crédito por página a partir de US$ 0,07/1K páginas em outubro de 2026. O robots.txt é respeitado. Sem KYC; pague com cripto. ## Ingestão de RAG com WebReaderAPI | Atributo | Valor | | --- | --- | | Site inteiro | `POST https://webreaderapi.com/api/v1/crawl`: Rastreie um site por job, até 10.000 páginas, seguindo o sitemap, o robots.txt e o Crawl-delay do site | | Lista de URLs | `POST https://webreaderapi.com/api/v1/batch`: Até 100 URLs por job em lote | | Por página | Markdown do conteúdo principal, título, autor, data, idioma, contagem de palavras | | PDFs | Arquivos PDF de até 20 MB e 100 páginas são convertidos em Markdown, a 1 crédito por bloco iniciado de 10 páginas | | Cobrança | 1 crédito = 1 página lida sem navegador; 2 créditos quando a página precisa de um navegador para renderizar JavaScript. Uma requisição que falha, ou que o robots.txt de um site recusa, não é cobrada | | Preço | US$ 14,25 por 50.000 páginas; os créditos nunca expiram | ## Por que o Markdown limpo melhora a recuperação? Chunks feitos de boilerplate recuperam mal. Quando uma página é dividida com seus menus, texto de cookies e rodapé ainda nela, muitos chunks contêm as mesmas palavras de navegação, e a busca vetorial os retorna para perguntas não relacionadas. A extração do conteúdo principal remove esse ruído antes de você gerar os embeddings. Os títulos importam tanto quanto. Um chunk que começa com `## Refund policy` carrega seu tópico consigo, então tanto o embedding quanto o modelo que o lê depois sabem sobre o que ele é. Texto simples perde esse sinal; HTML bruto o esconde sob a marcação. ## Como é um pipeline de ingestão? Cinco etapas, qualquer que seja o vector store que você use: 1. **Colete as URLs.** Faça o crawl do site ou envie como lote a lista que você já tem. 2. **Leia como Markdown.** Mantenha `main_content=true` para artigos e docs; use `false` para páginas de listagem. 3. **Divida por heading.** Separe em `#`, `##` e `###`, depois corte as seções longas no seu limite de tamanho com uma pequena sobreposição. 4. **Anexe metadados.** Guarde `url`, `title`, `published_at` e o caminho de headings com cada chunk, para que as respostas possam citar a fonte. 5. **Atualize.** Releia as páginas cujo `lastmod` do sitemap mudou e exclua os chunks das páginas que agora retornam erro. *Python: leia páginas e divida em chunks com a origem* ```python import os import re import requests API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} URLS = [ "https://docs.example.com/getting-started", "https://docs.example.com/billing", ] def chunks_for(url, max_len=2000): page = requests.get(API, headers=HEADERS, params={"url": url}, timeout=90).json() if "markdown" not in page: return [] out = [] for section in re.split(r"\n(?=#{1,3} )", page["markdown"]): section = section.strip() heading = section.splitlines()[0] if section else "" for start in range(0, len(section), max_len): out.append({ "text": section[start:start + max_len], "url": page.get("final_url", url), "title": page.get("title"), "heading": heading, }) return out all_chunks = [c for u in URLS for c in chunks_for(u)] print(len(all_chunks), "chunks ready to embed") ``` ## Quanto custa construir e atualizar um índice? Construir custa um crédito por página, dois para páginas que precisam de um navegador. Atualizar custa apenas as páginas que você relê. Três exemplos, com os preços de outubro de 2026: - **A central de ajuda de um produto** com 800 páginas, atualizada mensalmente apenas nas páginas alteradas (cerca de 10%): 800 créditos uma vez, depois cerca de 80 por mês. 10.000 páginas (US$ 3,75) duram anos. - **Dez sites de documentação** com 2.000 páginas cada, atualizados semanalmente a 5%: 20.000 créditos, depois cerca de 4.000 por mês. 50.000 páginas (US$ 14,25) cobrem a construção e sete meses de atualizações. - **Um arquivo de notícias** com 300.000 artigos que nunca mudam: 300.000 créditos uma vez, que cabem em 500.000 páginas (US$ 50). Embedding e armazenamento são cobrados pelos seus próprios provedores e não estão incluídos. ## Posso indexar sites que não querem ser indexados? Não pelo WebReaderAPI. Páginas bloqueadas pelo robots.txt para o nosso crawler, ou para todos os robôs, são ignoradas e não são cobradas; sites que declaram `Content-Signal: ai-input=no` não são lidos para você. Para os seus próprios sites ou sites parceiros que bloqueiam robôs, peça ao proprietário para permitir `WebReaderAPI` no robots.txt; nossa [página do crawler](https://webreaderapi.com/pt/bot/) mostra as linhas a adicionar. Isso importa para os seus usuários também. Um assistente RAG que cita fontes é mais útil quando essas fontes concordaram em ser lidas. ## Qual pack se encaixa em um projeto RAG? Conte as páginas para construir o índice, some a atualização mensal e escolha o pack que cobre alguns meses. Os créditos nunca expiram. | Plano | Quantidade | Preço | Preço por unidade | | --- | --- | --- | --- | | Testar | 10.000 páginas | US$ 3,75 | US$ 0,38/1K páginas | | Starter | 50.000 páginas | US$ 14,25 | US$ 0,28/1K páginas | | Build | 100.000 páginas | US$ 21,75 | US$ 0,22/1K páginas | | Scale | 500.000 páginas | US$ 50 | US$ 0,10/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 **Antes de pagar** - Recarga mínima US$ 25. Recarregue uma vez com cripto e depois compre qualquer plano usando seu saldo. - Seu saldo não tem data de validade e pode comprar créditos de página a qualquer momento. Se um pacote custar menos que o valor mínimo de recarga, o valor que você adicionou apenas para atingir esse mínimo pode ser devolvido mediante solicitação em até 30 dias após o pagamento, em USDT ou USDC, desde que você não o tenha gasto. Qualquer outro saldo não é reembolsado, a menos que a lei determine o contrário. - Creditado assim que seu pagamento é verificado na blockchain. Tempo habitual de confirmação da rede: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min ## RAG ingestion: perguntas frequentes ### Qual tamanho de chunk devo usar? Divida primeiro por headings e depois corte as seções com mais de cerca de 500 a 1.000 tokens com uma pequena sobreposição. Chunks baseados em headings mantêm um único tópico cada, o que geralmente recupera melhor do que janelas de tamanho fixo sobre a página inteira. ### O WebReaderAPI cria embeddings ou armazena vetores? Não. O WebReaderAPI lê páginas e retorna Markdown com metadados. Você faz o embedding com o modelo da sua escolha e armazena no seu próprio banco de dados vetorial; a [página de LangChain e LlamaIndex](https://webreaderapi.com/pt/docs/langchain/) mostra os dois. ### Como mantenho o índice atualizado? Releia apenas as páginas que mudaram. A maioria dos sitemaps traz uma data `lastmod` por URL; compare com a sua última leitura e envie as URLs alteradas como um lote. As páginas que agora falham devem ser removidas do índice. ### Posso incluir PDFs do mesmo site? Sim. Um crawl lê os links de PDF no mesmo domínio com as mesmas verificações de robots.txt. Arquivos PDF de até 20 MB e 100 páginas são convertidos em Markdown, a 1 crédito por bloco iniciado de 10 páginas. --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto. --- # Converter seu site em Markdown: faça o crawl e exporte cada página > Converta seu site em arquivos Markdown: faça o crawl do seu site e exporte cada página com front matter, para migração, backup ou seu assistente. - URL: https://webreaderapi.com/pt/use-cases/website-to-markdown/ - Última atualização: 2026-10-22 - Editor: WebReaderAPI (https://webreaderapi.com) Mudar para um gerador de site estático, uma plataforma de docs ou uma base de conhecimento muitas vezes começa com uma pergunta: como tiro minhas páginas daqui como Markdown limpo? Um crawl faz isso em um único job, com títulos, datas e URLs mantidos no front matter. **Resposta rápida — Como converto meu site inteiro em Markdown?** Faça o crawl do seu site, leia o conteúdo principal de cada página como Markdown e grave um arquivo `.md` por página com título, URL e data no front matter. **WebReaderAPI** faz o crawl de até 10.000 páginas por job, segue seu sitemap e robots.txt e cobra um crédito por página a partir de US$ 0,07/1K páginas em outubro de 2026. Um script Python abaixo grava os arquivos. Sem KYC; pague com cripto. ## Exportação do site com WebReaderAPI | Atributo | Valor | | --- | --- | | Endpoint | `POST https://webreaderapi.com/api/v1/crawl`, resultados de `GET https://webreaderapi.com/api/v1/jobs/{job_id}` | | Escopo | Rastreie um site por job, até 10.000 páginas, seguindo o sitemap, o robots.txt e o Crawl-delay do site | | Por página | Markdown do conteúdo principal, mais título, descrição, autor, data e idioma | | Páginas inteiras | `main_content=false` mantém a navegação e os rodapés quando você precisa deles | | Seu robots.txt | Deve permitir `WebReaderAPI` para as páginas que você exporta | | Preço | US$ 3,75 por 10.000 páginas; os créditos nunca expiram | ## Quando uma exportação em Markdown é útil? Sempre que o conteúdo precisa sair do sistema que o renderiza. Casos comuns: - **Migrações.** Sair de um CMS para um gerador de site estático ou uma plataforma de documentação que armazena páginas como Markdown. - **Backups.** Um arquivo legível das suas páginas publicadas que não depende de nenhum banco de dados ou tema. - **Seu próprio assistente.** Alimentar o texto do seu site em um bot de ajuda ou uma busca interna, com cada chunk vinculado à sua página. - **Auditorias.** Ler todas as suas páginas como texto simples para encontrar afirmações desatualizadas, redação quebrada ou conteúdo duplicado. Em cada caso você quer as palavras e a estrutura, não o tema ao redor delas. *Python: faça o crawl do seu site em arquivos Markdown com front matter* ```python import os import pathlib import time from urllib.parse import urlparse import requests API = "https://webreaderapi.com/api/v1" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} SITE = "https://www.example.com/" OUT = pathlib.Path("export") def target_path(url): path = urlparse(url).path.strip("/") or "index" return OUT / (path + ".md") def front_matter(page): fields = {"title": page.get("title", ""), "source": page["final_url"], "date": page.get("published_at") or ""} lines = ["---"] + [key + ": " + repr(value) for key, value in fields.items()] + ["---", ""] return "\n".join(lines) job = requests.post(API + "/crawl", headers=HEADERS, json={"url": SITE, "limit": 2000, "max_depth": 5}, timeout=60).json() cursor, delay, written = None, 5, 0 while True: params = {"cursor": cursor} if cursor else {} batch = requests.get(API + "/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=60).json() for page in batch.get("results", []): if "markdown" not in page: continue dest = target_path(page["final_url"]) dest.parent.mkdir(parents=True, exist_ok=True) dest.write_text(front_matter(page) + page["markdown"] + "\n", encoding="utf-8") written += 1 cursor = batch.get("next_cursor") if batch["status"] == "done" and not cursor: break if not cursor: time.sleep(delay) delay = min(delay * 2, 60) print(written, "files in", OUT) ``` ## Como mantenho a estrutura de pastas e as URLs? Replique o caminho da URL no caminho do arquivo, como o script faz: `/guides/setup/` vira `export/guides/setup.md`. Mantenha a URL original no front matter como `source`, para poder configurar redirecionamentos depois da migração e verificar que nada se perdeu. Os links dentro do Markdown ainda apontam para as suas URLs atuais. Depois da mudança, substitua o domínio ou o prefixo do caminho de uma só vez e depois teste uma amostra de páginas. Tabelas e blocos de código permanecem como Markdown, então a maioria dos geradores estáticos os renderiza sem alterações. ## E se o meu próprio robots.txt bloquear os crawlers? Permita o nosso token durante a exportação. O WebReaderAPI lê apenas o que o robots.txt permite para `WebReaderAPI` ou para todos os robôs, inclusive no seu próprio site. Adicione um grupo como `User-agent: WebReaderAPI` com `Allow: /`, execute o crawl e depois remova-o se quiser. Nossa [página do crawler](https://webreaderapi.com/pt/bot/) mostra as linhas exatas e o User-Agent que os logs do seu servidor vão mostrar. As páginas que continuarem bloqueadas são ignoradas e não são cobradas. ## Quanto custa uma exportação? Um crédito por página, dois para páginas que precisam de um navegador para mostrar o texto. Um site de 2.000 páginas renderizadas no servidor custa 2.000 créditos uma vez; o mesmo site como um app JavaScript pode custar até 4.000. Os dois cabem em 10.000 páginas por US$ 3,75, em outubro de 2026. Um site de 50.000 páginas precisa de vários jobs, divididos por seção com `include_paths`, e cabe em 100.000 páginas (US$ 21,75). Os créditos que sobrarem após a exportação ficam na sua conta para atualizações futuras. ## Qual pacote cobre minha exportação? Conte suas páginas, dobre a contagem se o site precisar de JavaScript para renderizar e escolha o pacote acima disso. Os créditos nunca expiram. | Plano | Quantidade | Preço | Preço por unidade | | --- | --- | --- | --- | | Testar | 10.000 páginas | US$ 3,75 | US$ 0,38/1K páginas | | Starter | 50.000 páginas | US$ 14,25 | US$ 0,28/1K páginas | | Build | 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 **Antes de pagar** - Recarga mínima US$ 25. Recarregue uma vez com cripto e depois compre qualquer plano usando seu saldo. - Seu saldo não tem data de validade e pode comprar créditos de página a qualquer momento. Se um pacote custar menos que o valor mínimo de recarga, o valor que você adicionou apenas para atingir esse mínimo pode ser devolvido mediante solicitação em até 30 dias após o pagamento, em USDT ou USDC, desde que você não o tenha gasto. Qualquer outro saldo não é reembolsado, a menos que a lei determine o contrário. - Creditado assim que seu pagamento é verificado na blockchain. Tempo habitual de confirmação da rede: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min ## Website para Markdown: perguntas comuns ### Posso exportar a página inteira, incluindo menus e rodapé? Sim. Defina `main_content=false` nas opções de rastreamento (crawl) e cada arquivo conterá a página completa convertida em Markdown. A maioria das migrações prefere apenas o conteúdo principal, porque o novo tema traz a própria navegação. ### As imagens são baixadas? Não. Com `include_images=true`, os links das imagens permanecem no Markdown com o texto alternativo; baixe os arquivos em si com seu próprio script se a migração precisar deles. ### Posso exportar um site que não é meu? Apenas páginas públicas que o robots.txt permite, e somente para usos que os termos e a lei permitem. Para uma migração ou backup, exporte seus próprios sites ou sites cujo dono concordou. ### Qual o tamanho de site que um job consegue processar? Até 10.000 páginas por job de rastreamento (crawl), dentro de um único domínio. Divida sites maiores por seção com `include_paths` e execute vários jobs. --- WebReaderAPI: O WebReaderAPI é uma API de leitor web para agentes de IA que converte qualquer página web pública em Markdown limpo, pago com cripto e sem envio de documentos. Os créditos pré-pagos a partir de US$ 0,07/1K páginas nunca expiram, e o robots.txt é respeitado. Sem KYC — sem documento, sem selfie, sem envio de arquivos. Pague com cripto.