# URL naar Markdown API quick start: je eerste pagina in twee minuten

> Markdown API quick start: vraag een API-sleutel aan, lees je eerste pagina met curl, Python of Node.js en check je credits vanaf US$ 0,07/1K pagina's.

- URL: https://webreaderapi.com/nl/docs/
- Laatst bijgewerkt: 2026-10-22
- Uitgever: WebReaderAPI (https://webreaderapi.com)

Eén endpoint, één parameter: stuur een URL naar `/read` en krijg de hoofdinhoud van de pagina terug als Markdown. Deze pagina brengt je van een leeg saldo naar een werkende call, en wijst daarna naar al het overige.

**Kort antwoord — Hoe converteer ik een URL naar Markdown met een API?**

Stuur de URL naar `GET https://webreaderapi.com/api/v1/read` met je API-sleutel in de `Authorization`-header. **WebReaderAPI** haalt de pagina op, houdt de hoofdinhoud over en geeft die terug als Markdown met titel, auteur, datum en woordaantal. Eén pagina kost één credit (twee als er een browser nodig is), vanaf US$ 0,07/1K pagina's per oktober 2026. Zonder KYC; betalen met crypto.

## De API in één tabel

| Kenmerk | Waarde |
| --- | --- |
| Base URL | `https://webreaderapi.com/api/v1` |
| Eén pagina lezen | `GET` of `POST https://webreaderapi.com/api/v1/read` |
| Veel URL's of een hele site | `POST https://webreaderapi.com/api/v1/batch` en `POST https://webreaderapi.com/api/v1/crawl`, resultaten uit `GET https://webreaderapi.com/api/v1/jobs/{job_id}` |
| Resterende credits | `GET https://webreaderapi.com/api/v1/credits` (gratis) |
| Authenticatie | Stuur je API-sleutel mee in de Authorization-header als Bearer-token, of in de queryparameter api_key |
| Facturering | 1 credit = 1 pagina lezen zonder browser; 2 credits wanneer de pagina een browser nodig heeft om JavaScript te renderen. Een verzoek dat mislukt, of dat de robots.txt van een site weigert, wordt niet in rekening gebracht |
| Onze crawler | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, robots.txt-token `WebReaderAPI` |
| Kleinste pack | 10.000 pagina's voor US$ 3,75; credits verlopen nooit |

## Hoe krijg ik een API-sleutel?

Drie stappen, geen formulier in te vullen. De traagste is de blockchain-bevestiging van je opwaardering.

1. **Opwaarderen met crypto** — Stuur minstens US$ 25 in BTC, USDT, USDC, ETH, SOL, LTC. Inloggen met je accountnummer; e-mail is optioneel.
2. **Koop een creditpack** — 10.000 pagina's voor US$ 3,75 is genoeg om elke optie op je eigen URL's te testen.
3. **Kopieer je sleutel** — Je API-sleutel staat klaar in het dashboard zodra je crypto-top-up is bevestigd en je een pack hebt gekocht. Bewaar hem in een environment variable met de naam WEBREADER_API_KEY.

## Hoe ziet het eerste request eruit?

Het is een gewone HTTPS GET met het pagina-adres in de parameter `url`. Encode het adres, want het bevat zijn eigen `:`- en `/`-tekens; curl doet dat voor je met `--data-urlencode`. De standaardinstellingen passen al bij de meeste artikelen en documentatiepagina's: Markdown-uitvoer, alleen de hoofdinhoud, en een browser alleen als de pagina er een nodig heeft.

*curl: één pagina lezen*

```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: één pagina lezen en opslaan*

```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+: één pagina lezen*

```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));

```

## Wat komt er terug?

Een JSON-object met de Markdown in het veld `markdown` en de metadata van de pagina ernaast: `title`, `description`, `author`, `published_at`, `language`, `site_name` en `word_count`. Twee velden helpen je controleren wat er gebeurde: `final_url` is het adres na redirects, en `rendered` vertelt je of er een browser nodig was.

`credits_used` laat zien wat de call kostte: 1 voor een gewone pagina, 2 wanneer `rendered` gelijk is aan `true`, één meer als je een `country` koos. De pagina [response format](https://webreaderapi.com/nl/docs/response/) noemt elk veld met een voorbeeld.

## Welke opties ga ik het meest gebruiken?

Vijf parameters dekken de meeste behoeften. Ze zijn allemaal optioneel.

| Parameter | Gebruik hem om |
|---|---|
| `format` | `text` of opgeschoonde `html` te krijgen in plaats van `markdown` |
| `main_content` | `false` in te stellen om de hele pagina te converteren, menu's inbegrepen |
| `render` | De browser te forceren (`true`) of te verbieden (`false`); `auto` beslist |
| `include_links` | De links van de pagina als aparte lijst te krijgen |
| `max_chars` | Lange pagina's in te korten tot het contextbudget van een model |

De [read reference](https://webreaderapi.com/nl/docs/read/) beschrijft elke parameter, waaronder `country`, `include_images` en `timeout`.

## Hoe controleer ik mijn resterende credits?

Roep `GET https://webreaderapi.com/api/v1/credits` aan met dezelfde sleutel. Het geeft `credits_remaining`, `credits_used_today` en je `concurrency_limit` terug, en het kost niets. Voer het uit aan het begin van een lange taak, zodat de taak netjes stopt in plaats van halverwege te falen op `402 insufficient_credits`.

Prepaid credits verlopen nooit: ongebruikte pagina's blijven op je account staan tot je ze gebruikt, dus een pack dat je voor één project kocht, behoudt zijn waarde voor het volgende.

## Wat gebeurt er als een site robots niet toestaat?

We lezen de pagina niet, en je betaalt niets. Onze crawler meldt zich als `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` en volgt de robots.txt van de site. Een niet-toegestane pagina geeft `403 blocked_by_robots`; een site die het request op een andere manier weigert geeft `502 target_refused` met de eigen statuscode van de site.

Als een site ons verzoek weigert, geven we het antwoord terug: we lossen nooit CAPTCHA's op, loggen niet in op accounts en proberen nooit een blokkade of paywall te omzeilen. De [errors page](https://webreaderapi.com/nl/docs/errors/) legt uit welke fouten een retry waard zijn en welke definitief zijn.

## Waar ga ik nu naartoe?

- [Lees de endpoint-referentie](https://webreaderapi.com/nl/docs/read/) — Elke parameter van /read, met voorbeelden
- [Batch en crawl](https://webreaderapi.com/nl/docs/crawl/) — Tot 100 URL's per batch, of een hele site
- [Responsformaat](https://webreaderapi.com/nl/docs/response/) — Elk veld van het antwoord
- [Fouten en robots.txt](https://webreaderapi.com/nl/docs/errors/) — Codes, oorzaken en retry-regels
- [Python](https://webreaderapi.com/nl/docs/python/) — requests, async httpx, RAG-chunking
- [Node.js](https://webreaderapi.com/nl/docs/node/) — fetch, een kleine pool, crawl-polling
- [curl en jq](https://webreaderapi.com/nl/docs/curl/) — Recepten voor de terminal
- [MCP-server](https://webreaderapi.com/nl/docs/mcp/) — Een read_url-tool voor Claude en Cursor
- [LangChain en LlamaIndex](https://webreaderapi.com/nl/docs/langchain/) — Loaders en tools voor RAG
- [OpenAI function calling](https://webreaderapi.com/nl/docs/openai/) — Een read_url-toolschema en loop
- [n8n](https://webreaderapi.com/nl/docs/n8n/) — HTTP Request-tool voor een AI Agent
- [OpenClaw](https://webreaderapi.com/nl/docs/openclaw/) — Voeg de MCP-server toe naast web_fetch

## Quick start: veelgestelde vragen

### Is er een SDK om te installeren?

Nee. WebReaderAPI is een gewone HTTPS-API, dus elke HTTP-client werkt. De docs geven copy-paste-code voor Python, Node.js en curl, en tooldefinities voor MCP, LangChain, LlamaIndex en OpenAI function calling. Niets is als package gepubliceerd.

### Kan ik de sleutel in de URL meesturen in plaats van in een header?

Ja, als queryparameter `api_key`. De header `Authorization: Bearer` is veiliger, omdat URL's vaak in logs en browsergeschiedenis belanden. Maak meerdere API-sleutels aan, bijvoorbeeld één per agent of project, en trek ze allemaal in vanuit je dashboard.

### Verbruikt een mislukte pagina een credit?

Nee. 1 credit = 1 pagina lezen zonder browser; 2 credits wanneer de pagina een browser nodig heeft om JavaScript te renderen. Een verzoek dat mislukt, of dat de robots.txt van een site weigert, wordt niet in rekening gebracht. Alleen een pagina die met inhoud terugkomt, wordt gefactureerd.

### Kan ik het proberen voordat ik koop?

Er is geen gratis tier. Er is geen gratis laag: het kleinste pack is de manier om te testen, betaald vanaf de minimale top-up, en het bedrag dat alleen is toegevoegd om dat minimum te halen, kan op verzoek binnen 30 dagen worden terugbetaald, in USDT of USDC, zolang het niet is besteed.

---

WebReaderAPI: WebReaderAPI is een web reader-API voor AI-agents die elke openbare webpagina omzet in schone Markdown, betaald met crypto zonder ID te uploaden. Prepaid credits vanaf US$ 0,07/1K pagina's verlopen nooit, en robots.txt wordt gerespecteerd. Zonder KYC — geen ID, geen selfie, geen documenten. Betalen met crypto.
