Test
10.000 pagina's
US$ 3,75
US$ 0,38/1K pagina's
- Probeer het op je eigen URL's
- Dezelfde API als het grootste pack
- Credits verlopen nooit
Use case · AI-agents · toolnaam read_url
Een agent die kan zoeken maar niet kan lezen, antwoordt op basis van snippets. Geef hem een tool die elke openbare URL omzet in korte, schone Markdown, en hij kan de bron lezen, citeren en eraan refereren, binnen een budget dat jij instelt.
Kort antwoord
Wat is de beste manier om een AI-agent een web fetch tool te geven?
Verpak een web reader API als een tool die een URL aanneemt en de hoofdinhoud van de pagina teruggeeft als Markdown, afgekapt op een vaste lengte. WebReaderAPI doet het lezen, rendert JavaScript wanneer nodig, respecteert robots.txt en rekent één credit per pagina vanaf US$ 0,07/1K pagina's per oktober 2026. Kant-en-klare toolcode dekt MCP, OpenAI function calling, LangChain, n8n en OpenClaw. Zonder KYC; crypto.
| Tool | read_url(url, max_chars) roept https://webreaderapi.com/api/v1/read aan |
|---|---|
| Retourneert | Markdown van de hoofdinhoud, plus titel, auteur, datum en woordenaantal |
| Lengtelimiet | max_chars, 1.000 tot 500.000 tekens per pagina |
| JavaScript-pagina's | JavaScript-rendering in een headless browser wanneer de pagina het nodig heeft (render=auto), of altijd, of nooit |
| Weigeringen | Teruggegeven als duidelijke fouten, nooit in rekening gebracht |
| Integraties | MCP, OpenAI, LangChain en LlamaIndex, n8n, OpenClaw |
| Prijs | US$ 3,75 voor 10.000 pagina's; credits verlopen nooit |
Omdat ruwe HTML het contextvenster vult met dingen die het model niet nodig heeft. Een nieuwsartikel of een documentatiepagina komt binnen verpakt in navigatie, scripts, cookiemeldingen en gerelateerde links. Zoals het is doorgegeven, verdringt het het gesprek en laat het model menu's citeren.
Een reader lost drie problemen tegelijk op. Hij houdt alleen de hoofdinhoud, hij rendert pagina's die leeg zijn totdat JavaScript draait, en hij zet PDF's om naar tekst. De agent krijgt één compact blok Markdown met een titel en een datum die hij kan citeren.
Meestal omdat sites geautomatiseerd verkeer weigeren. Sinds 1 juli 2025 blokkeert Cloudflare AI-crawlers standaard voor nieuwe domeinen, en vanaf 15 september 2026 blokkeren de presets van Cloudflare verkeer van "Agent" op advertentie-ondersteunde pagina's van nieuwe domeinen. Ingebouwde tools in coding agents en assistants krijgen die weigeringen net als elke andere client.
Andere fouten zijn technisch. De documentatie van OpenClaw, gelezen op 22 oktober 2026, zegt dat de ingebouwde web_fetch inhoud extraheert met Readability, geen JavaScript uitvoert en de uitvoer beperkt tot 20.000 tekens. Pagina's die in de browser zijn gebouwd, lange documenten, trage servers en rate limits laten zulke tools allemaal struikelen. Een reader die pagina's rendert lost het JavaScript-geval op; caching en geduld lossen de rest op. Weigeringen zijn de keuze van de site-eigenaar. Onze gids over web fetch 403-fouten legt elk geval uit.
Om een botsing te voorkomen met tools die agents al hebben. Claude Code en OpenClaw leveren allebei een ingebouwde tool mee met de naam web_fetch. Een tweede tool met dezelfde naam verwart het model over welke het aanroept. Door de onze read_url te noemen blijven beide beschikbaar: de agent kan zijn ingebouwde fetcher gebruiken voor snelle checks en read_url wanneer hij schone Markdown, PDF's of JavaScript-pagina's nodig heeft.
De tooldefinities op onze documentatiepagina's gebruiken allemaal deze naam, zodat je tussen frameworks kunt wisselen zonder je prompts aan te passen.
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])
Geef hem een budget en een regel. Drie gewoonten houden kosten en context in de hand:
max_chars rond 10.000 tot 15.000 tekens; verhoog het alleen wanneer de word_count laat zien dat het antwoord waarschijnlijk verder naar beneden staat.De tool hierboven geeft weigeringen terug als één gewone zin, zodat het model ze aan de gebruiker kan uitleggen.
Eén credit per pagina, twee wanneer de pagina een browser nodig heeft. Een assistant die 100 vragen per dag beantwoordt en voor elke vraag 4 pagina's leest, leest ongeveer 12.000 pagina's per maand. 50.000 pagina's (US$ 14,25) dekken dat vier maanden, per oktober 2026.
Credits verlopen nooit, dus een agent die de ene week druk is en de volgende week niets doet, verspilt geen maandquota. Pagina's die mislukken of die robots.txt weigert, kosten niets.
Prototype op 10.000 pagina's; stap over naar 50.000 pagina's of 100.000 pagina's wanneer de agent echte gebruikers bedient. Credits verlopen nooit.
10.000 pagina's
US$ 3,75
US$ 0,38/1K pagina's
50.000 pagina's
US$ 14,25
US$ 0,28/1K pagina's
100.000 pagina's
US$ 21,75
US$ 0,22/1K pagina's
In elk plan: Hoofdinhoud extraheren · JavaScript rendering wanneer nodig · Mislukte en geweigerde pagina's niet in rekening gebracht · Credits verlopen nooit
Ja, via een kleine MCP-server die read_url beschikbaar stelt. De MCP-pagina bevat de code en het configuratiesnippet; je API-sleutel blijft in een environment variable.
Ja, als MCP-server naast de ingebouwde web_fetch van OpenClaw. De OpenClaw-pagina toont de commando's uit de eigen documentatie van OpenClaw.
Nee. Als robots.txt de pagina weigert, geeft de API blocked_by_robots terug; als de site weigert, geeft hij target_refused terug met de status van de site. Geen van beide wordt in rekening gebracht, en we proberen de weigering nooit te omzeilen.
Stel max_chars in. De Markdown wordt op die lengte afgekapt, en word_count vertelt de agent hoe lang de volledige pagina was, zodat hij alleen om meer kan vragen wanneer dat nodig is.
Nee. WebReaderAPI vraagt niet om een ID, geen selfie, geen documenten en geen kaart. Betalen gaat met BTC, USDT, USDC, ETH, SOL, LTC, met een minimale opwaardering van US$ 25.
Vanaf US$ 0,07/1K pagina's · zonder KYC
Vraag een API-sleutel aan