Testar
10.000 páginas
US$ 3,75
US$ 0,38/1K páginas
- Teste com suas URLs reais
- Mesma API do maior pacote
- Os créditos nunca expiram
Caso de uso · migrações e exportações · /crawl
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.
| 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 |
Sempre que o conteúdo precisa sair do sistema que o renderiza. Casos comuns:
Em cada caso você quer as palavras e a estrutura, não o tema ao redor delas.
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)
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.
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 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.
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.
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.
10.000 páginas
US$ 3,75
US$ 0,38/1K páginas
50.000 páginas
US$ 14,25
US$ 0,28/1K páginas
100.000 páginas
US$ 21,75
US$ 0,22/1K páginas
Em todos os planos: Extração do conteúdo principal · Renderização de JavaScript quando necessário · Páginas com falha e recusadas não são cobradas · Os créditos nunca expiram
Sim. 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.
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.
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.
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.
A partir de US$ 0,07/1K páginas · sem KYC
Obtenha uma chave de API