# 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.
