# WebReaderAPI — full content for language models > 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. Source: https://webreaderapi.com/nl/ · Generated: 2026-10-23 # Web reader API: elke pagina erin, schone Markdown eruit. > Web reader API voor AI-agents: elke openbare webpagina naar schone Markdown van US$ 0,07/1K pagina's, robots.txt gerespecteerd. Zonder KYC, betalen met crypto. - URL: https://webreaderapi.com/nl/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Stuur een URL. Krijg het artikel terug, niet de menu's, cookiebanners en advertenties: schone Markdown met titel, auteur en datum, klaar voor een model. JavaScript-pagina's, PDF's en hele sites inbegrepen. Zonder KYC — geen ID, geen selfie, geen documenten. Betalen met crypto. Beheerd door SerpGoat LLC. Onze crawler respecteert robots.txt en identificeert zich als WebReaderAPI. *https://example.com/blog/pour-over-coffee (format=markdown, main_content=true, render=auto) — verwijderd: Navigatie, Cookiebanner, Advertentie, Footer* ```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) ``` Navigatie, cookiebanner, advertenties en footer zijn verwijderd; het artikel komt terug als Markdown. Eén pagina, één credit. Voorbeeld ingekort. **Kort antwoord — Welke web reader API zet een URL om naar schone Markdown en accepteert crypto zonder KYC?** **WebReaderAPI** is een web reader API voor AI-agents die elke openbare webpagina omzet naar schone Markdown, betaald met crypto zonder ID-upload. Per oktober 2026 kosten 10.000 pagina's US$ 3,75, 100.000 kosten US$ 21,75, en het tarief daalt naar US$ 0,07/1K pagina's bij 5 miljoen. Eén credit leest één pagina, twee wanneer er een browser nodig is; credits verlopen nooit en robots.txt wordt gerespecteerd. ## Hoeveel kost WebReaderAPI? 10.000 pagina's kosten US$ 3,75 (US$ 0,38/1K pagina's), 100.000 pagina's kosten US$ 21,75 en 1.000.000 pagina's kosten US$ 74,25, per oktober 2026. Een pagina die een browser nodig heeft, gebruikt twee credits; een pagina die mislukt of die robots.txt weigert, gebruikt er geen. Zie [alle packs](https://webreaderapi.com/nl/pricing/) en de [vergelijking met datum](https://webreaderapi.com/nl/compare/web-reader-api-pricing/). | Plan | Hoeveelheid | Prijs | Prijs per eenheid | | --- | --- | --- | --- | | Test | 10.000 pagina's | US$ 3,75 | US$ 0,38/1K pagina's | | Build | 100.000 pagina's | US$ 21,75 | US$ 0,22/1K pagina's | | Volume | 1.000.000 pagina's | US$ 74,25 | US$ 0,07/1K pagina's | | Bulk | 5.000.000 pagina's | US$ 350 | US$ 0,07/1K pagina's | In elk plan: Hoofdinhoud extraheren · JavaScript rendering wanneer nodig · Mislukte en geweigerde pagina's niet in rekening gebracht · Credits verlopen nooit Prijzen in USD, vastgesteld op 2026-10-22. 1 credit = 1 pagina lezen zonder browser. **Voordat je betaalt** - Minimale opwaardering US$ 25. Stort één keer op met crypto en koop daarna elk plan vanuit je saldo. - Je saldo heeft geen einddatum en kan op elk moment pagina-credits kopen. Als een pack minder kost dan de minimale opwaardering, kan het bedrag dat je alleen hebt toegevoegd om dat minimum te bereiken op verzoek worden teruggestuurd binnen 30 dagen na de betaling, in USDT of USDC, zolang je het niet hebt uitgegeven. Elk ander saldo wordt niet terugbetaald, tenzij de wet anders bepaalt. - Bijgeschreven zodra je betaling op de blockchain is gecontroleerd. Gebruikelijke bevestigingstijd van het netwerk: 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 ## Wat kan WebReaderAPI lezen? Eén API-sleutel, één saldo, drie endpoints: `/read` voor één pagina, `/batch` voor maximaal 100 URL's, `/crawl` voor een hele site. - **[Artikelen en docs](https://webreaderapi.com/nl/url-to-markdown-api/)** — De hoofdinhoud van een pagina als Markdown, met titel, auteur, datum, taal en aantal woorden. - **[JavaScript-pagina's](https://webreaderapi.com/nl/docs/read/)** — Een headless browser rendert de pagina wanneer de ruwe HTML te weinig tekst bevat (render=auto). - **[PDF-bestanden](https://webreaderapi.com/nl/pdf-to-markdown-api/)** — Rapporten, papers en handleidingen tot 100 pagina's, teruggegeven als Markdown-tekst. - **[Hele websites](https://webreaderapi.com/nl/crawl-api/)** — Crawl een documentatiesite of een blog, tot 10.000 pagina's per zoekopdracht, en volg de sitemap. - **[Batches URL's](https://webreaderapi.com/nl/docs/crawl/)** — Stuur tot 100 URL's in één zoekopdracht en verzamel elke pagina wanneer die klaar is. - **[Pagina's per land](https://webreaderapi.com/nl/docs/read/)** — Lees een pagina zoals die in een bepaald land wordt geserveerd, via een residential-verbinding daar. ## Hoe begin ik met WebReaderAPI? Drie stappen; de langzaamste is de blockchain-bevestiging van je opwaardering. 1. **Opwaarderen met crypto** — Stuur minstens US$ 25 in USDT, USDC, BTC, ETH, SOL of LTC. Geen ID, geen selfie, geen documenten, geen zakelijk e-mailadres. 2. **Koop een creditpack** — 10.000 pagina's voor US$ 3,75 of 100.000 pagina's voor US$ 21,75, betaald van je saldo. Je API-sleutel verschijnt in het dashboard. 3. **Lees een pagina** — GET https://webreaderapi.com/api/v1/read?url=… met je sleutel in de Authorization-header. De quick start heeft code voor Python, Node.js en curl. ## Hoe gaat WebReaderAPI om met de sites die het leest? - **robots.txt gerespecteerd** — Onze crawler identificeert zich als WebReaderAPI en leest niets wat een site niet toestaat. Zie onze crawler-pagina. - **Geen workarounds** — 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. - **AI-voorkeuren gerespecteerd** — Als een site Content-Signal: ai-input=no in zijn robots.txt aangeeft, lezen we de pagina's niet voor je. - **We bewaren geen kopie** — We bewaren geen kopie van de pagina's die je leest; logs bevatten de hostnaam, nooit de volledige URL. Zie het privacybeleid. - **Terugbetalingen en saldo** — Binnen 72 uur gaat een pack met minder dan 20% verbruik terug naar je saldo. Details op de terugbetalingspagina. - **Support per e-mail** — E-mailsupport antwoordt binnen 12 uur, elke dag van de week, ook bij hulp met crawls en integraties, op support@webreaderapi.com. ## Snelle antwoorden voordat je koopt ### Wat is 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. Het wordt beheerd door SerpGoat LLC. Je koopt prepaid credits van een crypto-saldo en stuurt vervolgens een URL naar één HTTPS endpoint; het antwoord is de hoofdinhoud van de pagina als Markdown, met de metadata. Zie de [over-pagina](https://webreaderapi.com/nl/about/). ### Hoe worden pagina's geteld? 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. Het land kiezen van waaruit een pagina wordt gelezen kost 10 credits extra, omdat de pagina dan via een residential-verbinding in dat land wordt gelezen. PDF-bestanden tot 20 MB en 100 pagina's worden omgezet naar Markdown, voor 1 credit per begonnen blok van 10 pagina's. Je resterende credits checken met `GET https://webreaderapi.com/api/v1/credits` is gratis. ### Wat gebeurt er als een site robots blokkeert? We lezen hem niet. Als robots.txt de pagina voor WebReaderAPI of voor alle robots verbiedt, geeft de API `403 blocked_by_robots` terug en wordt er geen credit gebruikt. Als de site het verzoek op een andere manier weigert, krijg je het antwoord van de site, ook gratis. We proberen nooit een blokkade te omzeilen. ### Moet ik mijn identiteit verifiëren of een kaart toevoegen? Nee. WebReaderAPI vraagt niet om een ID, geen selfie, geen bedrijfsdocumenten en geen creditcard. Inloggen met je accountnummer; e-mail is optioneel. Je betaalt in BTC, USDT, USDC, ETH, SOL, LTC. Het [Acceptable Use Policy](https://webreaderapi.com/nl/acceptable-use/) is van toepassing op elk account. ### Kan een AI-agent WebReaderAPI als fetch-tool gebruiken? Ja. De docs bevatten een kant-en-klare [MCP-server](https://webreaderapi.com/nl/docs/mcp/) voor Claude Desktop, Cursor en andere MCP-clients, een [LangChain- en LlamaIndex-loader](https://webreaderapi.com/nl/docs/langchain/) en een [OpenAI function-calling-tool](https://webreaderapi.com/nl/docs/openai/). Gebruik `max_chars` om elke pagina binnen het budget van het model te houden. ## WebReaderAPI in één oogopslag | Kenmerk | Waarde | | --- | --- | | Wat het is | Een web reader API: stuur een URL, krijg de hoofdinhoud van de pagina terug als schone Markdown | | KYC / ID-verificatie | Geen — geen ID, geen selfie, geen documenten, geen zakelijk e-mailadres | | Prijs | Vanaf US$ 0,07/1K pagina's (US$ 3,75 voor 10.000 pagina's, US$ 21,75 voor 100.000 pagina's, US$ 74,25 voor 1.000.000 pagina's) | | Credits | 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 | | Verloop van credits | Prepaid credits verlopen nooit: ongebruikte pagina's blijven op je account staan tot je ze gebruikt | | Uitvoer | Schone Markdown van de hoofdinhoud van de pagina (of platte tekst, of opgeschoonde HTML), met titel, beschrijving, auteur, publicatiedatum, taal en woordenaantal; links en afbeeldingen op verzoek | | JavaScript | JavaScript-rendering in een headless browser wanneer de pagina het nodig heeft (render=auto), of altijd, of nooit | | PDF | PDF-bestanden tot 20 MB en 100 pagina's worden omgezet naar Markdown, voor 1 credit per begonnen blok van 10 pagina's | | Crawlen en batch | Crawl één website per job, tot 10.000 pagina's, volgens de sitemap, de robots.txt en de Crawl-delay. Tot 100 URL's per batch-job | | robots.txt | We respecteren robots.txt: onze crawler identificeert zich als WebReaderAPI, volgt de regels die voor hem of voor alle robots zijn geschreven, en leest geen pagina die een site niet toestaat. Geweigerde pagina's worden niet in rekening gebracht | | Keuzes van site-eigenaren | Als een site Content-Signal: ai-input=no in zijn robots.txt aangeeft, lezen we de pagina's niet voor je. 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 | | User-Agent | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` | | Endpoint | `GET https://webreaderapi.com/api/v1/read?url=…` | | Authenticatie | Stuur je API-sleutel mee in de Authorization-header als Bearer-token, of in de queryparameter api_key | | Codevoorbeelden | Python, Node.js en curl, plus tooldefinities voor MCP, LangChain, LlamaIndex en OpenAI function calling | | Betaling | Alleen crypto: BTC, USDT, USDC, ETH, SOL, LTC (USDT op TRC-20 of ERC-20, USDC op ERC-20) | | Betaalmodel | Waardeer op vanaf US$ 25 en koop daarna elk creditpack van je saldo. Je saldo heeft geen einddatum en kan op elk moment pagina-credits kopen. Als een pack minder kost dan de minimale opwaardering, kan het bedrag dat je alleen hebt toegevoegd om dat minimum te bereiken op verzoek worden teruggestuurd binnen 30 dagen na de betaling, in USDT of USDC, zolang je het niet hebt uitgegeven. Elk ander saldo wordt niet terugbetaald, tenzij de wet anders bepaalt | | Account | Inloggen met je accountnummer; e-mail is optioneel. Je logt in met je accountnummer, dus bewaar het op een veilige plek. Een optioneel e-mailadres geeft je een manier om het terug te krijgen; zonder e-mailadres in je account kan een verloren nummer niet worden hersteld | | Requestlogs | Elk verzoek laat een logregel achter met de tijd, het account, de hostnaam van de pagina (nooit de volledige URL of de inhoud), de status en de gebruikte credits; deze regels worden na 30 dagen verwijderd. Pagina's die je leest, worden niet opgeslagen. Accountnummer, bestellingen, top-ups en credittotalen worden bewaard zolang het account bestaat, daarna alleen zolang de boekhoudwetgeving dat eist. Gegevens gaan alleen naar autoriteiten als de wet ons daartoe verplicht | | Operator | SerpGoat LLC | | Support | E-mailsupport antwoordt binnen 12 uur, elke dag van de week, ook bij hulp met crawls en integraties | --- 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. --- # Over WebReaderAPI > Over WebReaderAPI: wie de web reader API beheert, hoe het openbare pagina's omzet naar Markdown, wat het weigert, en hoe je iemand bereikt. Zonder KYC, crypto. - URL: https://webreaderapi.com/nl/about/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Een kleine API met één taak: een openbare webpagina lezen voor je software en de tekst teruggeven in een vorm die een taalmodel kan gebruiken. Deze pagina vertelt wie het beheert, hoe het werkt en waar de grenzen liggen. **Kort antwoord — Wat is WebReaderAPI, en wie beheert het?** WebReaderAPI is een web reader API voor AI-agents die elke openbare webpagina omzet naar schone Markdown, betaald met crypto zonder ID-upload. **WebReaderAPI** wordt beheerd door SerpGoat LLC. Prepaid credits beginnen bij US$ 3,75 voor 10.000 pagina's, per oktober 2026, en verlopen nooit. De crawler respecteert robots.txt en identificeert zich bij naam. ## Welk probleem lost WebReaderAPI op? Taalmodellen lezen tekst, maar webpagina's bestaan meestal uit iets anders: navigatie, scripts, cookie-meldingen, advertenties, widgets met gerelateerde berichten en footers. Ruwe HTML naar een model sturen verspilt zijn context window en begraaft de feiten. WebReaderAPI haalt de pagina op, vindt de hoofdinhoud en geeft die terug als Markdown, met koppen, lijsten, tabellen en links op hun plek. Je krijgt ook de titel, auteur, publicatiedatum, taal en het aantal woorden wanneer de pagina die vermeldt. Eén call vervangt een fetch-stap, een browser-stap en een opschoonstap in je eigen code. ## Hoe werkt een request, stap voor stap? 1. Je code stuurt een URL naar `https://webreaderapi.com/api/v1/read` met je API-sleutel. 2. We controleren de robots.txt van de site op onze token en op alle robots, en zoeken naar een `ai-input=no`-signaal. 3. Als de pagina is toegestaan, haalt onze bot die op met de user agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`. 4. Wanneer de ruwe HTML te weinig tekst bevat, rendert een headless browser de pagina eerst (`render=auto`). 5. We extraheren de hoofdinhoud, zetten die om naar Markdown en sturen die terug met de metadata. 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. Het [read endpoint](https://webreaderapi.com/nl/docs/read/) documenteert elke parameter. ## Wat zal WebReaderAPI nooit doen? Sommige grenzen horen bij het product, niet bij de instellingen: - **Het leest nooit een pagina die een site heeft geweigerd.** We respecteren robots.txt: onze crawler identificeert zich als WebReaderAPI, volgt de regels die voor hem of voor alle robots zijn geschreven, en leest geen pagina die een site niet toestaat. Geweigerde pagina's worden niet in rekening gebracht. - **Het omzeilt nooit een weigering.** 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. - **Het leest nooit achter een login of een paywall**, zelfs niet met inloggegevens die je aanlevert. - **Het bewaart je pagina's nooit.** De tekst gaat terug naar jou, en onze logs bevatten alleen de hostnaam. Deze regels kosten ons pagina's die we technisch zouden kunnen ophalen. We accepteren die afweging, omdat site-eigenaren, klanten en AI-assistenten de tool allemaal moeten kunnen vertrouwen. ## Wie zijn de klanten? Vooral developers die AI-agents een betrouwbare manier geven om het web te lezen, en teams die documentatie, helpcentra of blogs in retrieval-systemen laden. Onderzoekers gebruiken het om openbare artikelen in een schone vorm te verzamelen, en sommige tools gebruiken het om leesweergaven of samenvattingen te maken. Het [Acceptable Use Policy](https://webreaderapi.com/nl/acceptable-use/) vermeldt wat niet is toegestaan, zoals het verzamelen van persoonsgegevens over privépersonen. Een persoon bekijkt elk rapport, en accounts die de regels overtreden worden opgeschort. ## Waarom crypto en zonder KYC? Omdat veel van onze klanten individuele developers, kleine teams en autonome projecten zijn die liever geen identiteitsdocumenten of kaartgegevens delen met elke API die ze proberen. Inloggen met je accountnummer; e-mail is optioneel. Je waardeert op vanaf US$ 25 in BTC, USDT, USDC, ETH, SOL, LTC en koopt daarna credits van je saldo. Zonder KYC betekent niet zonder regels. Het acceptable use policy geldt voor elk account, robots.txt geldt voor elk request, en we ondernemen actie op gedocumenteerde misbruikmeldingen. ## Wat beweren we niet? We publiceren vandaag geen cijfers over responstijd, uptime of slagingspercentage. Succes hangt af van de sites die je leest, en een eerlijk cijfer vereist een gemeten openbare steekproef met een methode en een datum. Zodra we die hebben, verschijnt die op de [statuspagina](https://webreaderapi.com/nl/status/). We beweren ook niet elke pagina op het web te kunnen lezen. Sites die robots weigeren, een login vereisen of geautomatiseerde requests blokkeren, blijven by design buiten bereik. ## Hoe bereik ik een persoon? Mail naar support@webreaderapi.com voor vragen over de API, facturering of je account; een persoon antwoordt, elke dag van de week. Site-eigenaren en iedereen die misbruik meldt kan mailen naar abuse@webreaderapi.com; de [botpagina](https://webreaderapi.com/nl/bot/) legt uit hoe je onze crawler blokkeert of vertraagt. Niemand uit ons team zal je ooit om je rekeningnummer of een API-sleutel vragen. ## Over ons: veelgestelde vragen ### Welk bedrijf beheert WebReaderAPI? SerpGoat LLC. De bedrijfsnaam staat op facturen in de klantomgeving en in de [algemene voorwaarden](https://webreaderapi.com/nl/terms/). ### Bouwt WebReaderAPI zijn eigen zoekindex? Nee. Het leest de pagina's die zijn klanten sturen, één URL, een batch of één site tegelijk. Het crawlt het web niet voor zichzelf en rangschikt geen pagina's. ### Is de code die de hoofdinhoud extraheert openbaar? De API is een gehoste service en de interne code is niet gepubliceerd. Het gedrag waarop je kunt vertrouwen staat in de [read endpoint-referentie](https://webreaderapi.com/nl/docs/read/) en het [responseformaat](https://webreaderapi.com/nl/docs/response/). ### Kan ik WebReaderAPI gratis proberen? Nee, er is geen gratis tier. Het kleinste pack, 10.000 pagina's voor US$ 3,75, geeft dezelfde API als het grootste, betaald vanuit een US$ 25-opwaardering. --- 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. --- # Acceptable use policy > Acceptabel gebruikbeleid van WebReaderAPI: wat je mag lezen met de web reader API, wat verboden is, hoe robots.txt geldt en hoe misbruik wordt aangepakt. - URL: https://webreaderapi.com/nl/acceptable-use/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Geen identiteitscontrole betekent niet geen regels. Dit beleid zegt waar de API voor gebruikt mag worden, waar het nooit voor gebruikt mag worden, en wat er gebeurt als iemand het overtreedt. **Kort antwoord — Waarvoor mag ik WebReaderAPI gebruiken?** Je mag **WebReaderAPI** gebruiken om openbare webpagina's te lezen voor AI-agents, retrieval-systemen, onderzoek, monitoring van openbare informatie en leestools. Je mag het niet gebruiken voor Pagina's lezen om persoonsgegevens over privépersonen te verzamelen, inhoud achter een login of paywall lezen, materiaal van seksueel misbruik van kinderen, spam, fraude en elk gebruik dat de wet overtreedt waar jij of wij actief zijn. Elke request respecteert robots.txt, en we helpen nooit iemand om de weigering van een site te omzeilen. Een persoon leest elk misbruikrapport, en accounts die het misbruiken van de dienst wordt aangetoond, worden opgeschort. ## Welke toepassingen zijn welkom? Deze toepassingen sluiten aan bij waarvoor de dienst is gebouwd: - **AI-agents en assistenten** die een pagina lezen om een vraag van een gebruiker te beantwoorden. - **Retrieval en zoeken over openbare content**, zoals documentatie, helpcentra, blogs en openbare rapporten. - **Onderzoek** naar openbare artikelen, beleid, prijzen of aankondigingen. - **Monitoring van openbare pagina's** op wijzigingen: servicevoorwaarden, release notes, productpagina's, nieuws. - **Toegankelijkheids- en leestools** die een pagina als schone tekst tonen. - **Archiveren en migreren van je eigen sites** naar een ander formaat. ## Welke toepassingen zijn verboden? Het volgende is niet toegestaan op elk account, ongeacht het opgegeven doel: - Pagina's lezen om persoonsgegevens over privépersonen te verzamelen, inhoud achter een login of paywall lezen, materiaal van seksueel misbruik van kinderen, spam, fraude en elk gebruik dat de wet overtreedt waar jij of wij actief zijn. - Profielen opbouwen van privépersonen, of contactgegevens verzamelen, van welke website dan ook. - De API, de output ervan of meerdere accounts gebruiken om de weigering van een site, een rate limit, een challenge-pagina of een robots.txt-regel te omzeilen. - Content lezen waarvoor een login, abonnement of paywall nodig is, zelfs met inloggegevens die je zelf bezit. - Ruwe toegang tot de API doorverkopen als je eigen leesdienst zonder onze schriftelijke toestemming. - De output gebruiken voor spam, phishing, impersonatie of fraude. - Requests sturen die bedoeld zijn om een website te overbelasten of te schaden. ## Hoe gelden robots.txt en de keuzes van site-eigenaren voor mij? Ze gelden automatisch voor elke request, en je kunt ze niet uitschakelen. We respecteren robots.txt: onze crawler identificeert zich als WebReaderAPI, volgt de regels die voor hem of voor alle robots zijn geschreven, en leest geen pagina die een site niet toestaat. Geweigerde pagina's worden niet in rekening gebracht. Als een site Content-Signal: ai-input=no in zijn robots.txt aangeeft, lezen we de pagina's niet voor je. 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. Als een site die je nodig hebt buiten bereik is, vraag de eigenaar dan om toegang of gebruik een officiële feed of API die de site biedt. De [bot-pagina](https://webreaderapi.com/nl/bot/) laat site-eigenaren zien hoe ze onze crawler kunnen toestaan of weigeren. ## Wie is verantwoordelijk voor hoe de content wordt gebruikt? Jij. De pagina's die je leest behouden de rechten van hun eigenaren: auteursrecht, databankenrecht en elke licentie die de site vermeldt. WebReaderAPI levert de tekst die je hebt opgevraagd; het geeft je geen recht om die opnieuw te publiceren. Controleer de voorwaarden en licentie van de sites die je leest voordat je hun content opslaat, publiceert of erop traint. Dit beleid is geen juridisch advies; voor advies raadpleeg je een advocaat waar je actief bent. ## Wat gebeurt er als iemand dit beleid overtreedt? We kijken eerst naar de feiten: een persoon beoordeelt elke melding voordat er actie wordt ondernomen. Afhankelijk van hoe ernstig het geval is, kunnen we het account waarschuwen, de API-sleutels intrekken, het opschorten of sluiten. Credits op een account dat wegens een overtreding is gesloten, gaan verloren, zoals de [voorwaarden](https://webreaderapi.com/nl/terms/)] vermelden. Content met betrekking tot seksueel misbruik van kinderen wordt gemeld bij de bevoegde autoriteiten. ## Hoe meld ik misbruik? Schrijf naar abuse@webreaderapi.com met de betreffende URL, de datum en tijd, en een regel uit je serverlog die onze user agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` toont. Een korte, feitelijke melding is het makkelijkst te controleren. We onthullen aan de melder niet welke klant de request heeft gestuurd, maar we ondernemen actie op wat we vinden. --- 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. --- # Firecrawl-alternatief: Markdown-credits per pagina, betaald met crypto > Firecrawl-alternatief voor 2026: webpagina's naar Markdown van US$ 0,07/1K pagina's, credits die nooit verlopen, robots.txt gerespecteerd, zonder KYC, crypto. - URL: https://webreaderapi.com/nl/alternatives/firecrawl/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Firecrawl is de reader-API waarmee de meeste vergelijkingsartikelen beginnen. Deze pagina zet de openbare plannen van Firecrawl naast de packs van WebReaderAPI, somt op wat Firecrawl doet dat wij niet doen, en koppelt de opties aan onze endpoints voor een overstap. **Kort antwoord — Wat is een goed Firecrawl-alternatief dat ik met crypto kan betalen?** **WebReaderAPI** zet openbare webpagina's, PDF's en hele sites om naar Markdown, verkocht als prepaid credits die nooit verlopen, betaald met crypto zonder KYC. Bij de prijzen op deze pagina, vastgesteld op 2026-10-22, kosten 100.000 statische pagina's US$ 21,75; het Standard-plan van Firecrawl kost $99 per maand voor 100.000 credits. Firecrawl rendert elke pagina voor één credit en voegt JSON-extractie, browser-acties en een gratis tier toe die wij niet bieden. ## Firecrawl en WebReaderAPI in één oogopslag | | WebReaderAPI (van ons) | Firecrawl | | --- | --- | --- | | Facturering | Prepaid packs; credits verlopen nooit | Maandelijkse plannen; plan-credits resetten elke maand; los bijgekochte credits blijven tot opzegging | | Kleinste betaalde optie | 10.000 pagina's voor US$ 3,75 | Hobby: 5.000 credits voor $19 per maand | | Credits per pagina | 1 voor een statische pagina, 2 wanneer een browser nodig is | 1 per pagina, rendering inbegrepen | | Gratis tier | Geen | 1.000 credits per maand, geen kaart nodig; keyless MCP binnen daglimieten | | Gestructureerde JSON-extractie | Niet aangeboden | JSON-formaat met een schema, +4 credits per pagina | | Browseracties en screenshots | Niet aangeboden | Tot 50 acties per verzoek; screenshotformaat | | Site map endpoint | Niet in versie 1 | Map: 1 credit per aanroep | | robots.txt | Altijd gerespecteerd; geen override | Standaard gerespecteerd; ignoreRobotsTxt is alleen voor Enterprise | | Betaling | BTC, USDT, USDC, ETH, SOL, LTC | Kaarten, debitcards en PayPal via Stripe | | Identiteitscontroles | Geen: geen ID, geen selfie, geen documenten | Niets vermeld in de voorwaarden | | Self-hosting | Nee | Kern open source onder AGPL-3.0 | *Prijzen gecontroleerd op 22 oktober 2026.* Firecrawl-feiten van firecrawl.dev en docs.firecrawl.dev, gelezen op 2026-10-22. ## Hoe verhouden de prijzen zich per 1.000 pagina's? Dat hangt ervan af of je pagina's een browser nodig hebben. Firecrawl rekent in elk geval één credit per pagina. WebReaderAPI rekent één credit voor een pagina waarvan de HTML de tekst bevat en twee wanneer er een browser moest draaien; bij `render=auto` start de browser alleen wanneer nodig. | Pagina's per maand | Firecrawl (elke pagina) | WebReaderAPI, statische pagina's | WebReaderAPI, pagina's die een browser nodig hebben | |---|---|---|---| | 10.000 | $44 (Hobby $19 + 5.000 extra credits à $5 per 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 per maand bij jaarlijkse facturering) | US$ 74,25 | 2 × US$ 74,25 | Bij de prijzen op deze pagina, vastgesteld op 2026-10-22, kosten beide kolommen van ons minder dan de maandprijs van Firecrawl bij deze drie volumes. Twee verschillen wegen zwaarder dan de totalen: de plancredits van Firecrawl resetten elke maand, terwijl onze packs hun waarde behouden, en de JSON-extractie van Firecrawl kost in totaal 5 credits per pagina, een functie die wij niet verkopen. ## Wanneer is Firecrawl de betere keuze? Kies Firecrawl wanneer je meer nodig hebt dan schone Markdown van openbare pagina's: - **Gestructureerde extractie.** Het JSON-formaat retourneert velden die overeenkomen met een schema dat je meestuurt, voor 4 extra credits per pagina. Wij retourneren alleen Markdown en metadata. - **Browseracties.** Klikken, wachten, scrollen en typen voordat er wordt gelezen, tot 50 acties per verzoek. Wij lezen pagina's zoals ze laden. - **Screenshots, site maps en wijzigingen bijhouden.** Allemaal formaten of endpoints aan de kant van Firecrawl. - **Een gratis start.** 1.000 credits per maand zonder kaart, en keyless toegang via de MCP-server, per IP-adres per dag begrensd. - **Een ecosysteem.** De integratiepagina noemt LangChain, LlamaIndex, CrewAI, n8n, Zapier en coding agents; OpenClaw levert Firecrawl mee als zijn gebundelde web_fetch-provider. - **Self-hosting.** De kern is open source onder AGPL-3.0. Firecrawl kondigde op 22 september 2026 ook een Series B van $75M aan, waarmee een snelle productroadmap wordt gefinancierd. ## Wanneer is WebReaderAPI de betere keuze? Kies WebReaderAPI als je een eenvoudige reader wilt met voorspelbare kosten en zonder kaart- of identiteitscontroles. - **Crypto, zonder KYC.** Opwaarderen vanaf US$ 25 in BTC, USDT, USDC, ETH, SOL, LTC. Inloggen met je accountnummer; e-mail is optioneel. - **Credits die hun waarde behouden.** Prepaid credits verlopen nooit: ongebruikte pagina's blijven op je account staan tot je ze gebruikt. Een crawl die je twee keer per jaar draait, betaalt niet voor elf stille maanden. - **Fouten kosten niets.** 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. Firecrawl rekent niets wanneer het geen document retourneert, maar een pagina die 403 of 404 antwoordt kost het nog steeds één credit. - **Eén regel voor site-eigenaren.** Onze crawler controleert robots.txt bij elke read en respecteert `Content-Signal: ai-input=no`, zonder instelling om dat uit te zetten. De User-Agent staat op [onze crawlerpagina](https://webreaderapi.com/nl/bot/). - **Prijs per pagina** bij de bovenstaande volumes, per 2026-10-22. ## Hoe verhouden de Firecrawl-opties zich tot de WebReaderAPI-endpoints? Leesacties en crawls van één pagina gaan direct over; extractie, acties en maps hebben geen equivalent. | Firecrawl | WebReaderAPI | Opmerking | |---|---|---| | Eén pagina scrapen | `GET` of `POST /read` | Zelfde idee: één URL erin, één document eruit | | `formats: ["markdown"]` (standaard) | `format=markdown` (standaard) | Standaard alleen de hoofdinhoud; `main_content=false` voor de volledige pagina | | `formats: ["html"]` | `format=html` | Opgeschoonde HTML van de inhoud; geen ruwe HTML in versie 1 | | `formats: ["links"]` | `include_links=true` | Links geretourneerd als een lijst | | `formats: ["json"]` met een schema | — | Draai je eigen model op onze Markdown | | Acties, screenshot | — | Niet aangeboden | | `timeout` in ms (standaard 60.000) | `timeout` in seconden (5 tot 60, standaard 30) | | | `maxAge` cache (standaard 2 dagen) | — | Wij bewaren geen kopie; elke read haalt de pagina op | | Crawl met `limit` en `maxDiscoveryDepth` | `POST /crawl` met `limit` (tot 10.000) en `max_depth` | Resultaten gepagineerd met een cursor | | Map | — | Niet in versie 1 | | `ignoreRobotsTxt` (Enterprise) | — | robots.txt wordt altijd toegepast | *Python: de read die je vroeger als scrape verstuurde* ```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]) ``` ## Zullen pagina's die Firecrawl kon lezen hier ook werken? De meeste openbare pagina's wel, met één verschil in beleid. De enhanced mode van Firecrawl probeert een verzoek opnieuw via wat het enhanced proxies noemt na een 401-, 403- of 429-antwoord. WebReaderAPI probeert niet opnieuw rond een weigering: wanneer een site nee zegt, krijg je `502 target_refused` met de eigen status van de site, en er wordt geen credit gebruikt. Draai je 50 belangrijkste URL's een dag door beide diensten voordat je productieverkeer verhuist. Vergelijk de Markdown, de `rendered`-flag en de gebruikte credits; dat vertelt je zowel de kwaliteit als de echte prijs voor je pagina's. ## Welk pack vervangt mijn Firecrawl-plan? Tel je pagina's per maand en hoeveel daarvan een browser nodig hebben. Een workload ter grootte van Standard van 100.000 pagina's past in 100.000 pagina's als de pagina's statisch zijn, of in twee van die packs als elke pagina een browser nodig heeft. Credits verlopen nooit. | Plan | Hoeveelheid | Prijs | Prijs per eenheid | | --- | --- | --- | --- | | Test | 10.000 pagina's | US$ 3,75 | US$ 0,38/1K pagina's | | Build | 100.000 pagina's | US$ 21,75 | US$ 0,22/1K pagina's | | Volume | 1.000.000 pagina's | US$ 74,25 | US$ 0,07/1K pagina's | | Bulk | 5.000.000 pagina's | US$ 350 | US$ 0,07/1K pagina's | In elk plan: Hoofdinhoud extraheren · JavaScript rendering wanneer nodig · Mislukte en geweigerde pagina's niet in rekening gebracht · Credits verlopen nooit **Voordat je betaalt** - Minimale opwaardering US$ 25. Stort één keer op met crypto en koop daarna elk plan vanuit je saldo. - Je saldo heeft geen einddatum en kan op elk moment pagina-credits kopen. Als een pack minder kost dan de minimale opwaardering, kan het bedrag dat je alleen hebt toegevoegd om dat minimum te bereiken op verzoek worden teruggestuurd binnen 30 dagen na de betaling, in USDT of USDC, zolang je het niet hebt uitgegeven. Elk ander saldo wordt niet terugbetaald, tenzij de wet anders bepaalt. - Bijgeschreven zodra je betaling op de blockchain is gecontroleerd. Gebruikelijke bevestigingstijd van het netwerk: 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-alternatief: veelgestelde vragen ### Is er een gratis Firecrawl-alternatief? Firecrawl zelf heeft een gratis tier van 1.000 credits per maand. Open-source tools zoals Crawl4AI, MarkItDown en Trafilatura zijn gratis te draaien op je eigen servers; zie [Crawl4AI of een gehoste API](https://webreaderapi.com/nl/compare/crawl4ai-vs-api/). WebReaderAPI heeft geen gratis tier: het kleinste pack is 10.000 pagina's voor US$ 3,75. ### Kan ik Firecrawl betalen met crypto? De prijzenpagina noemt Stripe, met kaarten, debitcards en PayPal, en geen crypto-optie. WebReaderAPI accepteert alleen BTC, USDT, USDC, ETH, SOL, LTC, zonder KYC. ### Extraheert WebReaderAPI JSON met een schema zoals Firecrawl? Nee. WebReaderAPI retourneert Markdown, tekst of opgeschoonde HTML met metadata. Als je velden nodig hebt, stuur je onze Markdown naar het model van je keuze met je schema; het JSON-formaat van Firecrawl doet dit voor 4 extra credits per pagina. ### Verlopen Firecrawl-credits? Volgens de facturatiedocumentatie van Firecrawl worden plancredits elke maand gereset en worden ze standaard niet overgedragen; los bijgekochte credits blijven tot gebruik staan, maar verlopen als je opzegt. WebReaderAPI credits verlopen nooit. ### Kan ik Firecrawl ook zelf hosten? Ja. De kern is open source onder AGPL-3.0 en de README zegt dat het standaard robots.txt respecteert. De gehoste dienst voegt functies toe die de open-sourceversie niet heeft. ## Bronnen 1. [Firecrawl-prijzen](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 2. [Facturering](https://docs.firecrawl.dev/billing.md) — Firecrawl docs (read 2026-10-22) 3. [Geavanceerde scraping-gids](https://docs.firecrawl.dev/advanced-scraping-guide.md) — Firecrawl docs (read 2026-10-22) 4. [Crawlen](https://docs.firecrawl.dev/features/crawl.md) — Firecrawl docs (read 2026-10-22) 5. [Enhanced modus](https://docs.firecrawl.dev/features/enhanced-mode.md) — Firecrawl docs (read 2026-10-22) 6. [Integraties](https://docs.firecrawl.dev/integrations.md) — Firecrawl docs (read 2026-10-22) 7. [Firecrawl keyless lancering](https://www.firecrawl.dev/blog/firecrawl-keyless-launch) — Firecrawl (read 2026-10-22) 8. [Introductie van Alexandria en onze Series B](https://www.firecrawl.dev/blog/introducing-alexandria-series-b) — Firecrawl (read 2026-10-22) 9. [firecrawl/firecrawl repository](https://github.com/firecrawl/firecrawl) — GitHub (read 2026-10-22) 10. [Webtools](https://docs.openclaw.ai/tools/web) — OpenClaw docs (read 2026-10-22) --- 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. --- # Jina Reader-alternatief: credits per pagina in plaats van tokens > WebReaderAPI: credits per pagina in plaats van tokens, vanaf US$ 0,07/1K pagina's, robots.txt gecontroleerd, zonder KYC. Prijzen gedateerd 2026-10-22. - URL: https://webreaderapi.com/nl/alternatives/jina-reader/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Jina Reader maakte de URL-prefix-truc beroemd: zet r.jina.ai/ voor een link en je krijgt Markdown terug. Deze pagina legt uit hoe Jina factureert, wanneer het de juiste tool is, en wanneer een prijs per pagina makkelijker plannen is. **Kort antwoord — Wat is een goed Jina Reader-alternatief?** Jina Reader rekent per output-token: $50 voor 1 miljard, $500 voor 11 miljard, met 10 miljoen gratis tokens per nieuwe sleutel voor niet-commercieel gebruik (gelezen op 22 oktober 2026). **WebReaderAPI** rekent in plaats daarvan per pagina, vanaf US$ 0,07/1K pagina's, dus een lange pagina kost hetzelfde als een korte. Het controleert robots.txt bij elke read, verkoopt credits die nooit verlopen en accepteert crypto zonder KYC. ## Jina Reader en WebReaderAPI in één oogopslag | | WebReaderAPI (van ons) | Jina Reader | | --- | --- | --- | | Hoe je het aanroept | `GET https://webreaderapi.com/api/v1/read?url=…` met een API-sleutel | Zet de link als prefix: `https://r.jina.ai/` + URL; sleutel optioneel | | Facturatie-eenheid | Pagina's: 1 credit, 2 met een browser | Output-tokens | | Prijs | US$ 3,75 voor 10.000 pagina's; vanaf US$ 0,07/1K pagina's | $50 per 1 miljard tokens; $500 per 11 miljard tokens | | Gratis gebruik | Geen | Keyless met 20 requests per minuut; 10M tokens per nieuwe sleutel, alleen niet-commercieel | | Rate limits | Concurrencylimiet getoond in het dashboard | 500 requests per minuut met een sleutel; 5.000 op premium | | robots.txt | Gecontroleerd bij elke read | Opt-in `X-Robots-Txt` header; standaard niet vermeld | | Een hele site crawlen | `POST /crawl`, tot 10.000 pagina's | Geen crawl-endpoint vermeld | | PDF | Ja, tot 100 pagina's | Ja | | Betaling | BTC, USDT, USDC, ETH, SOL, LTC | Kaarten, Google Pay en PayPal via Stripe | | Eigenaar | SerpGoat LLC | Jina AI, sinds oktober 2025 onderdeel van Elastic | *Prijzen gecontroleerd op 22 oktober 2026.* Jina-feiten van jina.ai/reader en het prijsdashboard, gelezen op 2026-10-22. ## Hoe rekent Jina Reader af, en wat kost één pagina? Jina telt de tokens in de response. De pakketten zijn $50 voor 1 miljard tokens, ongeveer $0,05 per miljoen, en $500 voor 11 miljard, ongeveer $0,045 per miljoen. Mislukte requests worden niet afgetrokken, en een pagina die binnen 5 minuten twee keer wordt opgevraagd, komt uit een cache. De kosten van een pagina hangen dus af van de lengte, en Jina publiceert geen gemiddelde. Als **schatting, uitgaande van 5.000 tokens per pagina**, kosten 1.000 pagina's ongeveer $0,25 op het eerste pakket en $0,225 op het tweede. Een nieuwsbericht van 2.000 tokens kost minder; een documentatiepagina van 20.000 tokens kost vier keer zoveel. OCR via jina-ocr-v1 kost 40 keer zoveel tokens. ## Wanneer zijn credits per pagina makkelijker plannen? Als je weet hoeveel pagina's je leest, maar niet hoe lang ze zijn. Een crawl van een documentatiesite, een lijst met concurrentiepagina's om te volgen, of een agent die per taak vijf links leest: die hebben allemaal een paginatelling, geen tokentelling. Met WebReaderAPI kost 100.000 pagina's US$ 21,75, ongeacht de lengte van elke pagina, per 22 oktober 2026. Pagina's die een browser nodig hebben, gebruiken twee credits, en het veld `rendered` zegt wanneer dat gebeurde. Gebruik `max_chars` om de grootte van wat terugkomt te begrenzen; dat beschermt het context window van je model, maar verandert de prijs niet. ## Wanneer is Jina Reader de betere keuze? Kies Jina Reader als setup-tijd belangrijker is dan al het andere, of als je pagina's kort zijn: - **Geen setup.** Een URL-prefix werkt zonder key met 20 requests per minuut, genoeg voor tests en kleine scripts. - **Korte pagina's.** Met tokenfacturering kost een korte pagina minder dan een prijs per pagina; bij de schatting van 5.000 tokens hierboven kost Jina per pagina minder dan ons 10.000 pagina's-pakket. - **Fijne controle via headers.** `X-Target-Selector`, `X-Remove-Selector`, `X-Token-Budget`, `X-Engine` en andere sturen elke read aan. - **Modellen en zoeken.** ReaderLM-v2-output en `s.jina.ai`-zoekopdrachten komen uit hetzelfde account. - **Een officiële MCP-server** waarvan de tool `read_url` tot vijf URL's per call leest. - **Open source.** De Reader-branch op GitHub is Apache-2.0, zonder de hosted opslaglaag. Jina AI is nu onderdeel van Elastic, dat de overname op 9 oktober 2025 afrondde. ## Hoe verhouden Jina Reader-headers zich tot WebReaderAPI-parameters? De meeste reads gaan over door de URL te wijzigen en een key toe te voegen. | Jina Reader | WebReaderAPI | Opmerking | |---|---|---| | `https://r.jina.ai/https://example.com` | `GET https://webreaderapi.com/api/v1/read?url=https://example.com` | Key in de header `Authorization` | | Standaard Markdown-output | `format=markdown` (standaard) | Hoofdinhoud standaard | | `X-Engine: direct` | `render=false` | Gewone HTTP-read | | Standaard headless browser | `render=auto` of `render=true` | 2 credits wanneer de browser draait | | `X-Token-Budget` | `max_chars` | Tekens, geen tokens | | `X-Target-Selector`, `X-Remove-Selector` | — | In plaats daarvan hoofdinhoud-detectie | | `X-Proxy` (land) | `country` | +10 credits, residential verbinding | | `X-No-Cache` | — | Wij bewaren geen cache | | `X-Robots-Txt` (opt-in) | — | robots.txt wordt altijd gecontroleerd | | `X-User-Agent`-override | — | Onze User-Agent is vast en gepubliceerd | *Python: van de r.jina.ai-prefix naar het read-endpoint* ```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]) ``` ## Wat verandert er voor de sites die je leest? Bij Jina wordt robots.txt alleen gecontroleerd als je de header `X-Robots-Txt` meestuurt, en je kunt de browser-User-Agent overschrijven; de pagina's vermelden voor beide geen standaard. Bij WebReaderAPI liggen beide vast: elke read controleert robots.txt voor `WebReaderAPI` en voor alle robots, en elk request draagt `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`. Dat betekent dat sommige pagina's die Jina kan lezen hier geweigerd worden, zonder kosten voor jou. In ruil daarvoor kunnen site-eigenaren zien wie hun pagina's leest en ons in één regel blokkeren of toestaan, zoals onze [crawler-pagina](https://webreaderapi.com/nl/bot/) uitlegt. ## Wat kost WebReaderAPI in plaats van tokens? Een vaste prijs per pagina: 10.000 pagina's voor US$ 3,75 tot 5.000.000 pagina's voor US$ 350, per 22 oktober 2026. Credits verlopen nooit. | Plan | Hoeveelheid | Prijs | Prijs per eenheid | | --- | --- | --- | --- | | Test | 10.000 pagina's | US$ 3,75 | US$ 0,38/1K pagina's | | Build | 100.000 pagina's | US$ 21,75 | US$ 0,22/1K pagina's | | Volume | 1.000.000 pagina's | US$ 74,25 | US$ 0,07/1K pagina's | | Bulk | 5.000.000 pagina's | US$ 350 | US$ 0,07/1K pagina's | In elk plan: Hoofdinhoud extraheren · JavaScript rendering wanneer nodig · Mislukte en geweigerde pagina's niet in rekening gebracht · Credits verlopen nooit **Voordat je betaalt** - Minimale opwaardering US$ 25. Stort één keer op met crypto en koop daarna elk plan vanuit je saldo. - Je saldo heeft geen einddatum en kan op elk moment pagina-credits kopen. Als een pack minder kost dan de minimale opwaardering, kan het bedrag dat je alleen hebt toegevoegd om dat minimum te bereiken op verzoek worden teruggestuurd binnen 30 dagen na de betaling, in USDT of USDC, zolang je het niet hebt uitgegeven. Elk ander saldo wordt niet terugbetaald, tenzij de wet anders bepaalt. - Bijgeschreven zodra je betaling op de blockchain is gecontroleerd. Gebruikelijke bevestigingstijd van het netwerk: 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 ## Alternatief voor Jina Reader: veelgestelde vragen ### Is Jina Reader gratis? Gedeeltelijk. Zonder key is r.jina.ai gratis voor basisgebruik met 20 requests per minuut. Elke nieuwe key krijgt ook 10 miljoen gratis tokens, wat de prijspagina van Jina beperkt tot niet-commercieel gebruik. Betaalde pakketten beginnen bij $50 voor 1 miljard tokens. ### Waarom kost een Jina Reader-pagina meer als de pagina lang is? Omdat Jina de tokens in de response factureert. Een lang artikel levert meer tokens op dan een kort. WebReaderAPI factureert één credit per pagina, twee met een browser, ongeacht de lengte. ### Kan ik Jina Reader met crypto betalen? De pagina's van Jina noemen Stripe met kaarten, Google Pay en PayPal, en geen crypto-optie. WebReaderAPI accepteert BTC, USDT, USDC, ETH, SOL, LTC, zonder KYC. ### Heeft WebReaderAPI een gratis keyless modus zoals r.jina.ai? Nee. Elke read heeft een key nodig, en keys komen met een betaald pakket. Het kleinste pakket is 10.000 pagina's voor US$ 3,75. ### Wie is nu eigenaar van Jina Reader? Elastic. Het rondde de overname van Jina AI af op 9 oktober 2025, en de juridische pagina van Jina zegt dat nu de dataverwerkingsvoorwaarden van Elastic gelden. ## Bronnen 1. [Reader](https://jina.ai/reader/) — Jina AI (read 2026-10-22) 2. [API-dashboard: prijzen](https://jina.ai/api-dashboard/pricing/) — Jina AI (read 2026-10-22) 3. [Juridisch](https://jina.ai/legal/) — Jina AI (read 2026-10-22) 4. [jina-ai/reader repository](https://github.com/jina-ai/reader) — GitHub (read 2026-10-22) 5. [jina-ai/MCP repository](https://github.com/jina-ai/MCP) — GitHub (read 2026-10-22) 6. [Elastic rondt overname van Jina AI af](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: 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. --- # Beste web reader-API's in 2026: 10 manieren om URL's naar Markdown om te zetten > Beste webreader- en URL-naar-Markdown-API's in 2026: 10 opties vergeleken op prijs per 1.000 pagina's, JavaScript en KYC. Gecontroleerd op 2026-10-22. - URL: https://webreaderapi.com/nl/best/web-reader-apis/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Tien gehoste API's en open-source tools die webpagina's naar Markdown omzetten voor modellen, vergeleken op dezelfde criteria uit hun eigen pagina's. Wij publiceren WebReaderAPI, dat bovenaan deze lijst staat; bij elk item staat wat die optie beter doet. **Kort antwoord — Wat is in 2026 de beste web reader- of URL naar Markdown-API?** Het hangt van de klus af. Op 22 oktober 2026: **WebReaderAPI** voor betalen met crypto, zonder KYC, robots.txt gerespecteerd en credits die nooit verlopen, vanaf US$ 0,07/1K pagina's; Firecrawl voor de meest complete set functies tegen $0,99 per 1.000 pagina's op het $99-plan; Jina Reader voor lezen zonder setup, afgerekend per token; Crawl4AI als je liever zelf host onder de Apache-2.0-licentie. ## De 10 beste web reader API's in 2026 **Methodologie.** Gepubliceerd door WebReaderAPI (SerpGoat LLC). Elke provider wordt op dezelfde criteria vergeleken, overgenomen van de eigen openbare website: lijstprijs per 1.000 pagina's voor platte en in de browser gerenderde pagina's, gratis tier en vervaldatum van credits, functies voor Markdown-kwaliteit (hoofdinhoud, PDF's, crawlen), robots.txt-beleid, geaccepteerde betaalmethoden, inclusief crypto, vereisten voor identiteit of kaart, de datum waarop de prijzen zijn gecontroleerd. *Prijzen gecontroleerd op 22 oktober 2026.* ### 1. WebReaderAPI — Ons product Een web reader API voor AI-agents met prepaid credits die nooit verlopen, betaald met crypto zonder KYC; de crawler respecteert robots.txt en probeert nooit een weigering te omzeilen. - Beste voor: Betalen met crypto zonder documenten; agents en RAG-pipelines die beleefd willen crawlen - Prijs: US$ 0,38/1K pagina's op 10.000 pagina's, US$ 0,07/1K pagina's op 1.000.000 pagina's; browserpagina's gebruiken 2 credits - KYC: Geen - Crypto-betaling: BTC, USDT, USDC, ETH, SOL, LTC - Voordelen: Credits verlopen nooit - Voordelen: Mislukte en door robots geweigerde pagina's gratis - Voordelen: Toolcode voor MCP, LangChain, LlamaIndex, OpenAI, n8n, OpenClaw - Nadelen: Geen gratis tier - Nadelen: Geen gestructureerde JSON-extractie of pagina-acties - Nadelen: Pagina's die een site weigert, blijven geweigerd ### 2. Firecrawl De bekendste API om sites om te zetten in LLM-ready data: scrapen, crawlen, mappen en extraheren, met een groot open-source- en MCP-ecosysteem. - Beste voor: Teams die gestructureerde extractie, pagina-acties en een volwassen ecosysteem nodig hebben - Prijs: $3,80 per 1.000 op Hobby ($19 voor 5.000); $0,99 op Standard ($99 voor 100.000); $0,749 op Scale ($749 voor 1 miljoen); JavaScript inbegrepen - KYC: Niet vermeld - Crypto-betaling: Nee (kaarten, PayPal) - Voordelen: 1.000 gratis credits per maand, geen kaart nodig - Voordelen: Respecteert standaard robots.txt - Voordelen: Zelf te hosten core (AGPL-3.0) - Nadelen: Plancredits worden maandelijks gereset - Nadelen: JSON-extractie kost 4 extra credits per pagina ### 3. Jina Reader Zet r.jina.ai voor een URL en je krijgt Markdown terug; afgerekend per output-token en nu onderdeel van Elastic. - Beste voor: Snel lezen zonder setup; korte pagina's - Prijs: $50 per 1 miljard output-tokens; $500 per 11 miljard (kosten per pagina hangen af van de paginalengte) - KYC: Niet vermeld - Crypto-betaling: Niet vermeld - Voordelen: Gebruik zonder sleutel met 20 requests per minuut - Voordelen: 10 miljoen gratis tokens per nieuwe sleutel (niet-commercieel) - Nadelen: Door tokenfacturering zijn lange pagina's lastig te voorspellen qua kosten - Nadelen: robots.txt alleen via een opt-in header ### 4. Crawl4AI De populairste open-source crawler voor LLM's, met een gehoste cloud in soft launch. - Beste voor: Teams die zelf willen hosten en alles willen beheren - Prijs: Gratis om zelf te hosten; Cloud vanaf $10 (Starter), gewone pagina 0,5 credit, browserpagina 1 credit - KYC: Geen kaart (Cloud) - Crypto-betaling: Niet vermeld - Voordelen: Apache-2.0-licentie - Voordelen: Zelfgehoste MCP-server - Nadelen: Zelf hosten betekent servers en onderhoud - Nadelen: check_robots_txt staat standaard uit ### 5. Olostep Een API die elke pagina in een browser rendert, met batches, crawls en maps, en betalen met crypto per request voor agents. - Beste voor: JavaScript-zware sites op volume - Prijs: $1,80 per 1.000 op Starter ($9 voor 5.000); $0,399 op Scale ($399 voor 1 miljoen), elke pagina gerenderd - KYC: Kaart voor opwaarderen - Crypto-betaling: Per request, USDC (x402) - Voordelen: Laagste geverifieerde prijs voor browserpagina's bij 1 miljoen per maand - Voordelen: Batches, crawls en maps - Nadelen: Plancredits worden maandelijks gereset ### 6. Exa contents Pagina-inhoud uit de zoekindex van Exa tegen een vaste prijs, met betalen met crypto per request voor agents. - Beste voor: Agents die al Exa-zoekopdrachten gebruiken - Prijs: $1,00 per 1.000 pagina's, vast - KYC: Kaart voor pay as you go - Crypto-betaling: Per request, USDC (x402) - Voordelen: $10 gratis credits per maand - Voordelen: x402 tegen $0,001 per pagina - Nadelen: Cache-first; geen gedocumenteerde browseroptie ### 7. Tavily Extract Extractie uit de Tavily-zoekstack, geprijsd per batch URL's, met een advanced mode. - Beste voor: Agents gebouwd rond Tavily-zoekopdrachten - Prijs: $1,50 per 1.000 basis-URL's op Project ($30); $1,00 op Growth ($500); advanced mode verdubbelt dat - KYC: Niet vermeld - Crypto-betaling: Alleen naar eigen goeddunken (voorwaarden) - Voordelen: 1.000 credits per maand gratis (5.000 basis-URL's) - Nadelen: Credits worden maandelijks gereset - Nadelen: robots.txt-beleid niet vermeld ### 8. ScrapingBee Een algemene webscraping-API met een Markdown-uitvoeroptie en lage prijzen voor gewone pagina's op volume. - Beste voor: Grote volumes gewone pagina's - Prijs: $0,099 per 1.000 gewone pagina's bij 1 miljoen per maand ($99 Startup); browserpagina's kosten 5 credits - KYC: Kaart voor betaalde plannen - Crypto-betaling: Nee - Voordelen: Lage prijs voor gewone pagina's op volume - Voordelen: Markdown- en tekstuitvoer - Nadelen: Geen credit rollover - Nadelen: robots.txt-beleid niet vermeld ### 9. ZenRows Een webscraping-API met Markdown-uitvoer inbegrepen en een agent storefront dat USDC accepteert. - Beste voor: Kleine agent-workloads, per gebruik betaald - Prijs: $0,50 per 1.000 gewone pagina's via hun agent-storefront; $0,199 bij 1 miljoen op abonnementen; browserpagina's kosten 5 credits - KYC: E-mailvalidatie - Crypto-betaling: Alleen agents, USDC (x402) - Voordelen: Markdown zonder extra kosten - Voordelen: 5.000 gratis credits per maand - Nadelen: Accounts kunnen niet betalen met crypto - Nadelen: Plancredits verlopen bij verlenging ### 10. Cloudflare Browser Run De browserservice van Cloudflare met /markdown- en /crawl-endpoints, afgerekend per browsertijd. - Beste voor: Teams die al op Cloudflare Workers zitten - Prijs: $0,09 per browseruur na 10 inbegrepen uren, $5 minimaal per maand - KYC: Cloudflare-account - Crypto-betaling: USDC via Stripe voor Cloudflare-facturering (één factureringspagina vermeldt het niet) - Voordelen: /crawl respects robots.txt and always identifies itself as a bot - Voordelen: Betaal voor browsertijd, niet per pagina - Nadelen: De kosten per pagina hangen af van hoe lang elke pagina duurt *Disclosure: deze pagina wordt gepubliceerd door WebReaderAPI. Gegevens van concurrenten komen van hun openbare websites op de hierboven getoonde datum en kunnen sindsdien zijn gewijzigd.* ## Hoe kies ik een web reader API? Begin bij je pagina's, dan bij je volume. 1. **Hebben je pagina's een browser nodig?** Nieuws, blogs en documentatie meestal niet; webapps en sommige shops wel. Scraping-API's op basis van credits rekenen 5 tot 10 keer meer voor browserpagina's, terwijl Firecrawl en Olostep elke pagina hetzelfde prijzen. 2. **Hoeveel pagina's per maand, en hoe constant?** Maandabonnementen met ruime limieten passen bij een constant volume; prepaid credits die niet verlopen passen bij agents en eenmalige crawls. 3. **Heb je extractie nodig naast Markdown?** Gestructureerde JSON, pagina-acties en screenshots zijn waar Firecrawl en de grote scraping-API's vooroplopen. 4. **Hoe wil je met site-eigenaren omgaan?** Firecrawl, Cloudflare's /crawl en WebReaderAPI respecteren robots.txt standaard; verschillende API's laten het aan jou over of zeggen er niets over. 5. **Hoe wil je betalen?** De meeste accepteren alleen kaarten. Scrape.do, Decodo en Scrapeless vermelden crypto voor accounts; Exa, Olostep en anderen accepteren USDC per verzoek; WebReaderAPI accepteert BTC, USDT, USDC, ETH, SOL, LTC zonder KYC. ## Kan ik het beter zelf hosten in plaats van voor een API te betalen? Zelf hosten is gratis qua licentie en kostbaar qua tijd. Crawl4AI (Apache-2.0), Microsoft MarkItDown (MIT), Trafilatura (Apache-2.0) en Mozilla Readability (Apache-2.0) dekken de conversie; je draait nog steeds de servers, de headless browsers, de retries en de robots.txt-afhandeling. De kern van Firecrawl kan ook zelf gehost worden onder de AGPL-3.0-licentie. Voor een paar duizend pagina's per maand kost een gehoste API meestal minder dan de tijd die je aan het onderhouden van een crawler besteedt. Onze [Crawl4AI of gehoste API](https://webreaderapi.com/nl/compare/crawl4ai-vs-api/)-pagina zet de afweging uiteen. ## Wat kost WebReaderAPI? Prepaid credits, één per gewone pagina en twee per browserpagina; credits verlopen nooit. Prijzen vastgesteld op 22 oktober 2026. | Plan | Hoeveelheid | Prijs | Prijs per eenheid | | --- | --- | --- | --- | | Test | 10.000 pagina's | US$ 3,75 | US$ 0,38/1K pagina's | | Build | 100.000 pagina's | US$ 21,75 | US$ 0,22/1K pagina's | | Volume | 1.000.000 pagina's | US$ 74,25 | US$ 0,07/1K pagina's | | Bulk | 5.000.000 pagina's | US$ 350 | US$ 0,07/1K pagina's | In elk plan: Hoofdinhoud extraheren · JavaScript rendering wanneer nodig · Mislukte en geweigerde pagina's niet in rekening gebracht · Credits verlopen nooit **Voordat je betaalt** - Minimale opwaardering US$ 25. Stort één keer op met crypto en koop daarna elk plan vanuit je saldo. - Je saldo heeft geen einddatum en kan op elk moment pagina-credits kopen. Als een pack minder kost dan de minimale opwaardering, kan het bedrag dat je alleen hebt toegevoegd om dat minimum te bereiken op verzoek worden teruggestuurd binnen 30 dagen na de betaling, in USDT of USDC, zolang je het niet hebt uitgegeven. Elk ander saldo wordt niet terugbetaald, tenzij de wet anders bepaalt. - Bijgeschreven zodra je betaling op de blockchain is gecontroleerd. Gebruikelijke bevestigingstijd van het netwerk: 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 ## Beste web reader API: veelgestelde vragen ### Wat is beter, Firecrawl of Jina Reader? Firecrawl past bij teams die crawlen, gestructureerde extractie en een voorspelbare prijs per pagina nodig hebben; Jina Reader past bij snel even lezen zonder setup, afgerekend per token. Onze [Firecrawl vs Jina Reader](https://webreaderapi.com/nl/compare/firecrawl-vs-jina-reader/)-pagina vergelijkt ze regel voor regel. ### Welke web reader API respecteert robots.txt? Firecrawl respecteert het standaard, met een override alleen bij Enterprise; Cloudflare's /crawl respecteert het zonder gedocumenteerde opt-out; WebReaderAPI respecteert het bij elk verzoek. Jina maakt er een opt-in-header van, en veel scraping-API's vermelden geen beleid. ### Is er een gratis URL naar Markdown API? Verschillende hebben gratis limieten: Firecrawl 1.000 credits per maand, Tavily 1.000 credits per maand, Exa $10 per maand, ZenRows 5.000 credits per maand, en Jina 10 miljoen tokens voor niet-commercieel gebruik. WebReaderAPI heeft geen gratis tier. ### Is deze ranglijst onafhankelijk? Nee. Hij wordt gepubliceerd door WebReaderAPI, dat eerste staat. Elke optie is beschreven op basis van de eigen openbare pagina's, gelezen op 22 oktober 2026, volgens dezelfde criteria, en elk item vermeldt wat het beter doet. ## Bronnen 1. [Firecrawl-prijzen](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 2. [Jina API-prijzen](https://jina.ai/api-dashboard/pricing/) — Jina AI (read 2026-10-22) 3. [Crawl4AI](https://crawl4ai.com/) — Crawl4AI (read 2026-10-22) 4. [Crawl4AI-repository](https://github.com/unclecode/crawl4ai) — GitHub (read 2026-10-22) 5. [Olostep-prijzen](https://www.olostep.com/pricing) — Olostep (read 2026-10-22) 6. [Exa-prijzen](https://exa.ai/pricing) — Exa (read 2026-10-22) 7. [Tavily API-credits](https://docs.tavily.com/documentation/api-credits) — Tavily (read 2026-10-22) 8. [ScrapingBee-prijzen](https://www.scrapingbee.com/pricing/) — ScrapingBee (read 2026-10-22) 9. [ZenRows-prijzen](https://docs.zenrows.com/first-steps/pricing.md) — ZenRows (read 2026-10-22) 10. [Browser Run-prijzen](https://developers.cloudflare.com/browser-run/pricing/) — Cloudflare (read 2026-10-22) --- 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. --- # WebReaderAPI-bot: user agent, robots.txt en hoe je hem blokkeert > WebReaderAPI-bot: de exacte user agent, het robots.txt-token, hoe je hem blokkeert of vertraagt, en wat hij nooit doet. Voor site-eigenaren en AI-tools. - URL: https://webreaderapi.com/nl/bot/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Als je onze naam in je serverlogs hebt gezien, legt deze pagina uit wie we zijn, waarom we je pagina hebben opgehaald en hoe je ons kunt laten stoppen. Elke regel hier is een toezegging waarop de dienst is gebouwd. **Kort antwoord — Wat is de WebReaderAPI-bot, en hoe blokkeer ik hem?** De **WebReaderAPI**-bot haalt openbare pagina's op wanneer een van onze klanten de API vraagt ze te lezen. Hij stuurt de user agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` en volgt robots.txt-regels die zijn geschreven voor het token `WebReaderAPI` of voor alle robots. Om hem overal te blokkeren, voeg je `User-agent: WebReaderAPI` gevolgd door `Disallow: /` toe aan je robots.txt. ## De bot in één oogopslag | Kenmerk | Waarde | | --- | --- | | User-Agent-header | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` | | robots.txt-token | `WebReaderAPI` | | robots.txt | We respecteren robots.txt: onze crawler identificeert zich als WebReaderAPI, volgt de regels die voor hem of voor alle robots zijn geschreven, en leest geen pagina die een site niet toestaat. Geweigerde pagina's worden niet in rekening gebracht | | AI-voorkeurssignalen | Als een site Content-Signal: ai-input=no in zijn robots.txt aangeeft, lezen we de pagina's niet voor je | | Wanneer een site nee zegt | 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 | | Kopieën van je pagina's | Geen bewaard nadat het antwoord naar de klant is gestuurd | | Crawl-jobs | Crawl één website per job, tot 10.000 pagina's, volgens de sitemap, de robots.txt en de Crawl-delay | | Contact | abuse@webreaderapi.com | ## Waarom heeft WebReaderAPI mijn pagina opgehaald? Omdat een klant van de API erom heeft gevraagd. WebReaderAPI bouwt geen eigen index van het web en surft niet uit eigen beweging. Elke fetch hoort bij een van drie soorten verzoeken: - **Een enkele read:** een applicatie of een AI-agent stuurde je URL naar `/read`, meestal omdat iemand een vraag stelde die jouw pagina beantwoordt. - **Een batch-job:** een klant stuurde een lijst van maximaal 100 URL's, en die van jou stond erop. - **Een crawl-job:** een klant vroeg ons een hele site te lezen, beginnend bij één adres en blijvend op dat domein. Crawls volgen je sitemap en je robots.txt. De klant ontvangt de hoofdinhoud van de pagina als Markdown. Daarna bewaren we er geen kopie van. ## Hoe blokkeer ik de bot op mijn hele site? Voeg een groep voor ons token toe aan je robots.txt-bestand. De bot leest `/robots.txt` voordat hij een pagina ophaalt en cachet die maximaal 24 uur, dus een wijziging geldt binnen een dag. *robots.txt: elke pagina weigeren aan WebReaderAPI* ```text User-agent: WebReaderAPI Disallow: / ``` ## Kan ik maar een deel van mijn site blokkeren, of de bot vertragen? Ja. Zet de mappen die je wilt weren onder `Disallow`, en stel een `Crawl-delay` in seconden in voor crawl-jobs. Regels voor alle robots (`User-agent: *`) gelden ook voor ons wanneer je geen groep voor ons token hebt. Heb je die wel, dan wint die groep, zoals RFC 9309 beschrijft. *robots.txt: twee mappen weren en crawl-verzoeken spreiden* ```text User-agent: WebReaderAPI Disallow: /account/ Disallow: /drafts/ Crawl-delay: 5 ``` ## Volgt de bot AI-voorkeurssignalen? Ja, de signalen die een site in robots.txt vermeldt. Als je bestand `Content-Signal: ai-input=no` aangeeft, behandelen we dat als een weigering om je pagina's als invoer voor AI-antwoorden te gebruiken, en lezen we ze niet voor onze klanten. De API geeft de klant dan de fout `blocked_by_site_policy`, en die wordt niet in rekening gebracht. *robots.txt: zoekmachines toestaan, AI-invoer weigeren* ```text User-agent: * Content-Signal: search=yes, ai-input=no Allow: / ``` ## Wat doet de bot als mijn site hem weigert? Hij stopt en meldt jouw antwoord. Een status 403 of 429, een challenge-pagina, een inlogformulier of een paywall beëindigen allemaal het verzoek. De klant krijgt de fout `target_refused` met jouw statuscode, en betaalt daar niets voor. De bot lost nooit challenges op, logt nooit in, verandert zijn user agent nooit om op een browser te lijken en probeert het nooit opnieuw in vermomming. Wil je dat we je pagina's lezen, sta het token dan toe in robots.txt en laat de verzoeken door; zo niet, dan is er aan jouw kant niets meer nodig. ## Wat belooft WebReaderAPI nog niet? We publiceren vandaag geen lijst met IP-adressen, dus identificeer de bot op zijn user agent en zijn robots.txt-gedrag, niet op IP. Pagina's die met de optie `country` worden gelezen, vertrekken vanaf een adres in het gekozen land, nog steeds met dezelfde user agent. We voegen onze adresreeksen aan deze pagina toe zodra ze vastliggen, met de datum van de wijziging. ## Hoe meld ik een probleem met de bot? Schrijf naar abuse@webreaderapi.com met de datum en tijd, je domein, de opgehaalde URL en een regel uit je access log met onze user agent. Een persoon leest elke melding en controleert die tegen onze logs. Als een klant de API gebruikt in strijd met ons [Acceptable Use Policy](https://webreaderapi.com/nl/acceptable-use/), wordt zijn account opgeschort. Om te controleren of een verzoek echt van ons kwam, vergelijk je de user agent en het robots.txt-gedrag met deze pagina. Een client die je robots.txt-regels negeert terwijl hij onze naam gebruikt, is niet onze bot. ## Vragen van site-eigenaren ### Is de WebReaderAPI-bot een crawler van een zoekmachine? Nee. Hij indexeert het web niet en rangschikt geen pagina's. Hij leest een pagina alleen wanneer een klant van de API om die pagina vraagt, in een enkel verzoek, een batch of een crawl van één site. ### Beïnvloedt het blokkeren van de bot mijn ranking in Google of Bing? Nee. Regels voor `WebReaderAPI` gaan alleen over onze bot. Crawlers van zoekmachines volgen hun eigen groepen in je robots.txt. ### Hoe snel wordt een wijziging in robots.txt van kracht? Binnen 24 uur. De bot cachet robots.txt maximaal een dag voordat hij die opnieuw leest. ### Respecteert de bot Crawl-delay? Ja, voor crawl-taken, die veel pagina's van één site lezen. Een enkele read is één request en wordt niet gespreid. ### Slaan jullie de inhoud van mijn pagina's op of verkopen jullie die? Nee. De paginatekst gaat naar de klant die erom vroeg en wordt niet door ons bewaard. Onze logs bevatten de hostnaam, het tijdstip, de status en de gebruikte credits, gedurende 30 dagen. --- 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. --- # Changelog > WebReaderAPI-changelog: gedateerde wijzigingen aan de web reader API, prijzen, crawler-regels en beleid. Eerste vermelding: site en documentatie gepubliceerd. - URL: https://webreaderapi.com/nl/changelog/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Wijzigingen aan de API, prijzen, crawler-gedrag en beleid staan hier, nieuwste eerst. Een wijziging aan een belofte elders op de site verschijnt hier ook. **Kort antwoord — Wat is er veranderd bij WebReaderAPI?** Op 22 oktober 2026 publiceerde **WebReaderAPI** zijn website, documentatie, prijzen en beleid. De API zelf is nog niet open; de lancering wordt de volgende vermelding op deze pagina. Prijzen beginnen bij US$ 3,75 voor 10.000 pagina's en dalen tot US$ 0,07/1K pagina's bij het grootste pack. ## 22 oktober 2026: site en documentatie gepubliceerd - **Website, prijzen en beleid** gingen online: [prijzen](https://webreaderapi.com/nl/pricing/), [voorwaarden](https://webreaderapi.com/nl/terms/), [privacy](https://webreaderapi.com/nl/privacy/), [acceptabel gebruik](https://webreaderapi.com/nl/acceptable-use/) en [terugbetalingen](https://webreaderapi.com/nl/refunds/). - **Documentatie** voor de endpoints `/read`, `/batch`, `/crawl` en `/credits`, met code voor Python, Node.js en curl. - **Crawler-regels** gepubliceerd op de [botpagina](https://webreaderapi.com/nl/bot/): user agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, robots.txt-token `WebReaderAPI`, respect voor `ai-input=no`. - **API-status:** lancering in afwachting. Tot de lancering hier verschijnt, kan er geen API-sleutel worden gekocht. ## Wat telt als een wijziging die een gedateerde vermelding verdient? Alles waarop een klant of site-eigenaar kan vertrouwen: - een nieuw endpoint, parameter of responsveld; - een veld dat wordt hernoemd of verwijderd (wat alleen gebeurt in een nieuwe versie van de API, zoals `/api/v2/`); - een prijs, een creditregel of een terugbetalingsregel; - een wijziging in hoe de crawler zich identificeert of robots.txt behandelt; - een incident dat requests beïnvloedde, met het tijdvenster. ## Hoe worden prijswijzigingen afgehandeld? Een nieuwe prijs geldt voor packs die worden gekocht nadat die hier is gepubliceerd. Credits die je al hebt, behouden hun waarde: ze worden geteld in pagina's, niet in dollars, en Prepaid credits verlopen nooit: ongebruikte pagina's blijven op je account staan tot je ze gebruikt. ## Hoe stabiel is versie 1 van de API? Binnen versie 1 mogen we velden en parameters toevoegen, maar nooit hernoemen of verwijderen. Code die de velden leest die in het [responsformaat](https://webreaderapi.com/nl/docs/response/) zijn gedocumenteerd, blijft werken. Een breaking change zou naar een nieuwe versie gaan, die hier wordt aangekondigd voordat die live gaat. ## Hoe volg ik de wijzigingen? Check deze pagina, of lees de Markdown-versie ervan, die [llms.txt](https://webreaderapi.com/llms.txt)] vermeldt samen met de andere pagina's van de site. Elke vermelding houdt zijn datum, zodat je kunt zien wat er sinds je laatste bezoek is veranderd. Vragen gaan naar support@webreaderapi.com. --- 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. --- # Crawl4AI of een gehoste API? Wanneer je je eigen web reader draait > Crawl4AI of een gehoste API voor webpagina's naar Markdown? Licenties, robots.txt-standaarden, wat zelf hosten kost, en gehoste prijzen gecheckt op 2026-10-22. - URL: https://webreaderapi.com/nl/compare/crawl4ai-vs-api/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Open-source tools kunnen webpagina's gratis naar Markdown omzetten, op je eigen servers. Gehoste API's rekenen per pagina en draaien de servers voor je. Deze pagina zet uiteen wat elke keuze echt kost, van licenties en robots.txt-standaarden tot browsers en onderhoud. **Kort antwoord — Moet ik Crawl4AI zelf hosten of een gehoste web reader API gebruiken?** Host Crawl4AI zelf (Apache-2.0, met een naamsvermeldingsvereiste) wanneer je een stabiel volume hebt en mensen om browsers en servers te draaien; let op dat de robots.txt-check standaard uit staat. Gebruik een gehoste API wanneer het volume ongelijk is of je geen operationeel werk wilt: Crawl4AI Cloud begint bij $10 voor 10.000 credits, en **WebReaderAPI** bij US$ 3,75 voor 10.000 pagina's, betaald met crypto zonder KYC (22 oktober 2026). ## Welke open-source tools zetten webpagina's om naar Markdown? De belangrijkste opties in oktober 2026, met de licentie en standaarden die hun eigen repositories en docs vermelden. | Tool | Licentie | Rendert JavaScript | robots.txt standaard | MCP-server | | --- | --- | --- | --- | --- | | Crawl4AI | Apache-2.0, plus een README-naamsvermeldingsvereiste | Ja (Playwright) | Uit: `check_robots_txt` staat standaard op False | Ja, op je eigen server | | Firecrawl (self-hosted) | AGPL-3.0-kern; SDK's en sommige UI-onderdelen MIT | Ja (Playwright-service) | Aan | Ja (firecrawl-mcp-server, MIT) | | Microsoft MarkItDown | MIT | Nee | Niet gedocumenteerd | Ja (markitdown-mcp) | | Trafilatura | Apache-2.0 (GPLv3+ vóór v1.8.0) | Nee | De spider volgt de Robots Exclusion Standard | Geen vermeld | | Mozilla Readability | Apache-2.0 | Nee; heeft een DOM nodig en haalt niets op | Niet van toepassing | Geen gevonden | | Jina Reader (open-source branch) | Apache-2.0 | Ja (Puppeteer) | Niet vermeld | Niet in de repository | *Prijzen gecontroleerd op 22 oktober 2026.* Uit de hieronder genoemde GitHub-repositories en documentatie, gelezen op 2026-10-22. ## Wat kost het zelf hosten van een web reader echt? De software is gratis; het draaien ervan niet. Voordat je een hosted prijs met nul vergelijkt, tel je dit mee: - **Servers en browsers.** Statische pagina's vragen weinig CPU, maar JavaScript-pagina's vragen een headless browser per request, met bijpassend geheugen. Piekbelasting vraagt reservecapaciteit die de rest van de tijd stil staat. - **Onderhoud.** Browserversies, extractieregels en dependencies veranderen. Crawl4AI bracht v0.9.5 uit op 14 oktober 2026; MarkItDown 0.1.9 op 21 oktober 2026. Iemand moet elke update testen en uitrollen. - **Netwerk.** Uitgaande bandbreedte, DNS, timeouts en retries zijn aan jou om af te stellen. Sites kunnen verkeer van de adressen van jouw servers weigeren, en het juiste antwoord is dan de weigering te respecteren. - **Beleid.** Crawl4AI laat `check_robots_txt` uit staan tenzij je het aanzet, en laat je de user agent instellen of randomiseren. Je eigen robots.txt- en identificatieregels bepalen en handhaven hoort bij het werk. - **Beveiliging.** De README van MarkItDown waarschuwt dat het I/O uitvoert met de rechten van het huidige proces en dat input in onbetrouwbare omgevingen gesanitiseerd moet worden. Een service die willekeurige URL's ophaalt, moet ook private en lokale adressen weigeren. ## Wat rekenen hosted readers ter vergelijking? Hosted API's zetten die kosten om in een prijs per pagina. Twee voorbeelden van 22 oktober 2026: | | Crawl4AI Cloud | WebReaderAPI (van ons) | |---|---|---| | Instap | Starter $10 per maand, 10.000 credits | US$ 3,75 voor 10.000 pagina's | | Statische pagina | 0,5 credit | 1 credit | | Pagina met een browser | 1 credit ("real browser") | 2 credits | | Grotere plannen | Builder $99 voor 125.000 credits; Scale $499 voor 750.000 | US$ 74,25 voor 1.000.000 pagina's; US$ 350 voor 5.000.000 pagina's | | Ongebruikte credits | Maandelijkse credits verlopen; extra credits verlopen nooit | Verlopen nooit | | Betaling | Kaart via Stripe | BTC, USDT, USDC, ETH, SOL, LTC | | robots.txt | Klanten moeten de robots-instructies van sites respecteren (voorwaarden) | Bij elke read gecontroleerd door de service | Crawl4AI Cloud wordt beheerd door de Crawl4AI-maintainers en markeert de prijzen als een "soft launch" die kunnen veranderen. De credit is $0,001 waard, dus een statische pagina kost $0,50 per 1.000 op Starter. ## Wanneer moet ik zelf hosten? Zelf hosten loont als drie dingen kloppen: je volume is hoog en stabiel, je draait al servers en browsers, en je hebt controle nodig die een API niet kan geven. - **Aangepaste extractie.** De CSS-, XPath- en LLM-schema's van Crawl4AI, of je eigen regels bovenop Readability of Trafilatura. - **Dataresidentie.** Pagina's verlaten je infrastructuur nooit. - **Input naast webpagina's.** MarkItDown converteert Word, Excel, PowerPoint, EPub en meer, wat een web reader API niet doet. - **Licentiepast.** Apache-2.0- en MIT-tools staan gesloten producten toe; de AGPL-3.0-kern van Firecrawl vraagt je wijzigingen te delen als je het als netwerkdienst aanbiedt. ## Wanneer is een hosted API de betere keuze? Koop pagina's in plaats van servers te draaien als je werklast ongelijk is, je team klein is, of de reader een tool binnen een agent is in plaats van een eigen product. - **Piekerige of seizoensgebonden volumes.** Een crawl twee keer per jaar rechtvaardigt geen browserfleet. Met WebReaderAPI, Prepaid credits verlopen nooit: ongebruikte pagina's blijven op je account staan tot je ze gebruikt. - **Agents.** Een hosted endpoint plug je in enkele minuten in MCP, LangChain of OpenAI-tools; zie [onze MCP-server](https://webreaderapi.com/nl/docs/mcp/). - **Een beleid dat je niet zelf hoeft te bouwen.** We respecteren robots.txt: onze crawler identificeert zich als WebReaderAPI, volgt de regels die voor hem of voor alle robots zijn geschreven, en leest geen pagina die een site niet toestaat. Geweigerde pagina's worden niet in rekening gebracht. Als een site Content-Signal: ai-input=no in zijn robots.txt aangeeft, lezen we de pagina's niet voor je. - **Betalen zonder kaart.** WebReaderAPI neemt BTC, USDT, USDC, ETH, SOL, LTC aan zonder KYC. ## Kan ik beide combineren? Ja, en veel teams doen dat. Draai een open-source converter voor bestanden die je al hebt, zoals PDF's en Office-documenten met MarkItDown, en roep een hosted reader aan voor live webpagina's, vooral JavaScript-pagina's die anders je eigen browsers zouden vereisen. Houd het uitvoerformaat aan beide kanten gelijk, Markdown met een bron-URL en een titel, zodat je chunking- en indexeringscode er niet om geeft waar een document vandaan komt. Onze [RAG-gids](https://webreaderapi.com/nl/use-cases/rag/) laat dat formaat in de praktijk zien. ## Wat kost een hosted reader met WebReaderAPI? Credits per pagina, betaald met crypto, per 22 oktober 2026: 1 credit per statische pagina, 2 met een browser, niets voor mislukte of geweigerde pagina's. Credits verlopen nooit. | Plan | Hoeveelheid | Prijs | Prijs per eenheid | | --- | --- | --- | --- | | Test | 10.000 pagina's | US$ 3,75 | US$ 0,38/1K pagina's | | Build | 100.000 pagina's | US$ 21,75 | US$ 0,22/1K pagina's | | Volume | 1.000.000 pagina's | US$ 74,25 | US$ 0,07/1K pagina's | | Bulk | 5.000.000 pagina's | US$ 350 | US$ 0,07/1K pagina's | In elk plan: Hoofdinhoud extraheren · JavaScript rendering wanneer nodig · Mislukte en geweigerde pagina's niet in rekening gebracht · Credits verlopen nooit **Voordat je betaalt** - Minimale opwaardering US$ 25. Stort één keer op met crypto en koop daarna elk plan vanuit je saldo. - Je saldo heeft geen einddatum en kan op elk moment pagina-credits kopen. Als een pack minder kost dan de minimale opwaardering, kan het bedrag dat je alleen hebt toegevoegd om dat minimum te bereiken op verzoek worden teruggestuurd binnen 30 dagen na de betaling, in USDT of USDC, zolang je het niet hebt uitgegeven. Elk ander saldo wordt niet terugbetaald, tenzij de wet anders bepaalt. - Bijgeschreven zodra je betaling op de blockchain is gecontroleerd. Gebruikelijke bevestigingstijd van het netwerk: 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 ## Zelf een web reader hosten: veelgestelde vragen ### Is Crawl4AI gratis voor commercieel gebruik? De README zegt dat het onder Apache-2.0 is gelicentieerd, wat commercieel gebruik toestaat, en voegt toe dat gebruikers een attributie moeten opnemen, een badge of een tekstregel. Lees de licentie en README zelf voordat je iets uitbrengt. ### Respecteert Crawl4AI robots.txt? Alleen als je erom vraagt. De parameter `check_robots_txt` staat standaard op False; zet hem op True om robots.txt-regels te controleren en te cachen voordat je crawlt. Je kunt ook de user agent instellen of randomiseren, dus je eigen beleid bepaalt hoe het zich gedraagt. ### Kan ik Firecrawl zelf hosten in plaats van Crawl4AI? Ja. De kern van Firecrawl is open source onder AGPL-3.0 en respecteert standaard robots.txt. De AGPL vraagt je wijzigingen te publiceren als je de software als netwerkdienst aanbiedt, wat belangrijk is voor commerciële producten. ### Welke tool converteert PDF's en Office-bestanden? Microsoft MarkItDown, onder de MIT-licentie, converteert PDF, Word, PowerPoint, Excel, HTML, EPub en meer naar Markdown. Het rendert geen JavaScript-pagina's. WebReaderAPI leest PDF's van een URL, tot 100 pagina's. ### Hoeveel kost Crawl4AI Cloud? Op 22 oktober 2026: Starter $10 per maand voor 10.000 credits, Builder $99 voor 125.000 en Scale $499 voor 750.000, met een statische pagina voor 0,5 credit en een browserpagina voor 1. De site markeert deze prijzen als een soft launch die kunnen veranderen. ## Bronnen 1. [unclecode/crawl4ai repository](https://github.com/unclecode/crawl4ai) — GitHub (read 2026-10-22) 2. [Crawl4AI-parameters](https://docs.crawl4ai.com/api/parameters/) — Crawl4AI docs (read 2026-10-22) 3. [Crawl4AI zelf hosten](https://docs.crawl4ai.com/core/self-hosting/) — Crawl4AI docs (read 2026-10-22) 4. [crawl4ai op PyPI](https://pypi.org/project/crawl4ai/) — PyPI (read 2026-10-22) 5. [Crawl4AI Cloud](https://crawl4ai.com/) — Crawl4AI (read 2026-10-22) 6. [microsoft/markitdown repository](https://github.com/microsoft/markitdown) — GitHub (read 2026-10-22) 7. [markitdown op PyPI](https://pypi.org/project/markitdown/) — PyPI (read 2026-10-22) 8. [adbar/trafilatura repository](https://github.com/adbar/trafilatura) — GitHub (read 2026-10-22) 9. [mozilla/readability repository](https://github.com/mozilla/readability) — GitHub (read 2026-10-22) 10. [firecrawl/firecrawl repository](https://github.com/firecrawl/firecrawl) — GitHub (read 2026-10-22) 11. [jina-ai/reader repository](https://github.com/jina-ai/reader) — GitHub (read 2026-10-22) --- 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. --- # Firecrawl vs Jina Reader (2026): welke web reader past bij jouw project? > Firecrawl vs Jina Reader in 2026: credits versus tokens, gratis tiers, crawlen, JSON-extractie, robots.txt en betaling. Gecheckt op 2026-10-22. - URL: https://webreaderapi.com/nl/compare/firecrawl-vs-jina-reader/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Firecrawl en Jina Reader zijn de twee namen die het eerst opduiken wanneer developers vragen hoe ze webpagina's naar Markdown voor een model omzetten. Ze factureren, crawlen en behandelen robots.txt anders. Deze pagina vergelijkt ze op dezelfde feiten, met onze eigen dienst in een aparte, gelabelde kolom. **Kort antwoord — Firecrawl of Jina Reader: welke moet ik gebruiken?** Gebruik Firecrawl voor volledige pipelines: het factureert 1 credit per pagina met rendering inbegrepen, crawlt en mapt sites, en extraheert JSON naar een schema, op plannen van $19 tot $749 per maand (22 oktober 2026). Gebruik Jina Reader voor snelle reads: zet r.jina.ai voor een URL, betaal $50 per miljard output-tokens, of niets bij 20 requests per minuut. **WebReaderAPI**, die deze pagina publiceert, verkoopt credits per pagina met crypto zonder KYC. ## Firecrawl vs Jina Reader, met WebReaderAPI ter referentie Elke rij komt uit de eigen pagina's van de provider, gelezen op 22 oktober 2026. De derde kolom is onze dienst, gepubliceerd door een concurrent van beide. | | Firecrawl | Jina Reader | WebReaderAPI (van ons) | | --- | --- | --- | --- | | Facturatie-eenheid | Credits: 1 per pagina, rendering inbegrepen | Output-tokens | Credits: 1 per pagina, 2 met een browser | | Startprijs | Hobby: $19 per maand voor 5.000 credits | $50 voor 1B tokens | US$ 3,75 voor 10.000 pagina's | | Grotere volumes | Standard $99 voor 100K; Scale $749 voor 1M per maand | $500 voor 11B tokens | US$ 74,25 voor 1.000.000 pagina's | | Gratis gebruik | 1.000 credits per maand, geen kaart; keyless MCP, per IP per dag gelimiteerd | Keyless bij 20 requests per minuut; 10M tokens per nieuwe key, niet-commercieel | Geen | | Ongebruikte credits | Plancredits worden maandelijks gereset | Geldigheid niet vermeld in de tekst die we konden lezen | Verlopen nooit | | Crawlen en mappen | Crawl (standaardlimiet 10.000 pagina's) en map | Geen crawl-endpoint vermeld | Crawl tot 10.000 pagina's; geen map | | Gestructureerde extractie | JSON met een schema, +4 credits per pagina | JSON-schema of instructieheaders | Niet aangeboden | | robots.txt | Standaard gerespecteerd; alleen bij Enterprise uit te schakelen | Opt-in `X-Robots-Txt`-header | Altijd gerespecteerd | | Betaling | Kaarten, debitcards, PayPal (Stripe) | Kaarten, Google Pay, PayPal (Stripe) | BTC, USDT, USDC, ETH, SOL, LTC | | Open source | Kern onder AGPL-3.0 | Reader-tak onder Apache-2.0 | Nee | | Bedrijf | Firecrawl; $75M Series B op 22 september 2026 | Jina AI, sinds oktober 2025 onderdeel van Elastic | SerpGoat LLC | *Prijzen gecontroleerd op 22 oktober 2026.* Bronnen onderaan de pagina. ## Welke kost minder per pagina? Dat hangt af van paginalengte en volume, want de twee rekenen in verschillende eenheden. Firecrawl rekent per pagina: $0,99 per 1.000 pagina's op Standard, $0,749 op Scale met maandelijkse facturering, rendering inbegrepen. Jina rekent per output-token en publiceert geen gemiddelde per pagina. Als **schatting, uitgaande van 5.000 tokens per pagina**, kost Jina ongeveer $0,25 per 1.000 pagina's op het pakket van $50 en $0,225 op het pakket van $500. Op basis van die aanname kost Jina per pagina minder dan Firecrawl bij elk volume. Voor pagina's die veel langer zijn dan 5.000 tokens, zoals lange documentatiepagina's, wordt het verschil kleiner of slaat het om; voor korte pagina's wordt het groter. Firecrawl's JSON-extractie kost 4 credits extra per pagina, wat de vergelijking voor extractiewerk verandert. ## Welke is beter voor het crawlen van een hele site? Firecrawl. Het crawl-endpoint volgt standaard de sitemap, neemt een paginalimiet (standaard 10.000) en een discovery-diepte, en geeft 402 terug als je credits de limiet niet dekken. Een apart map-endpoint somt de URL's van een site op voor één credit per aanroep. Jina Reader is een reader voor één URL plus een zoek-endpoint; de pagina's vermelden geen crawlfunctie. Om een hele site met Jina te lezen, verzamel je zelf de URL's, bijvoorbeeld uit de sitemap, en roep je de reader één keer per pagina aan. ## Hoe gaan ze om met robots.txt en site-eigenaren? Firecrawl respecteert robots.txt standaard en laat alleen Enterprise-klanten dat uitschakelen; site-eigenaren geven het toestemming of weigeren het met het `FirecrawlAgent`-token. De documentatie waarschuwt dat dit token niet de User-Agent-header van de fetch zelf hoeft te zijn. Jina controleert robots.txt wanneer het verzoek de `X-Robots-Txt`-header bevat, die aangeeft als welke bot gecontroleerd moet worden. Het laat de aanroeper ook de browser User-Agent overschrijven. De pagina's vermelden voor beide geen standaard. Beide aanpakken laten veel van de keuze aan de klant; de onze niet, zoals de volgende sectie uitlegt. ## Welke past beter bij AI-agents? Beide bedienen agents goed, op verschillende manieren. Firecrawl biedt een gehoste MCP-server, keyless toegang met een dagelijkse limiet per IP, en een lange lijst integraties, waaronder LangChain, LlamaIndex, CrewAI en n8n; OpenClaw bundelt Firecrawl als zijn web_fetch-provider. Jina biedt een officiële remote MCP-server waarvan de `read_url`-tool tot vijf URL's per aanroep leest, een n8n-credential, en het URL-voorvoegsel dat elke tool die een GET-verzoek kan doen kan gebruiken. Voor een agent die een paar pagina's per taak leest, is Jina's voorvoegsel de eenvoudigste start; voor een agent die crawlt, mapt en extraheert, dekt Firecrawl meer. ## Waar past WebReaderAPI tussen de twee? WebReaderAPI zit qua scope dichter bij Jina, een reader, en qua facturering dichter bij Firecrawl, per pagina, met een crawl-endpoint voor hele sites. Wat het onderscheidt is de betaling en het beleid, niet de functielijst: - **Crypto zonder KYC.** Opwaarderen vanaf US$ 25 in BTC, USDT, USDC, ETH, SOL, LTC. - **Credits die nooit verlopen**, verkocht in packs vanaf US$ 3,75. - **Een vast beleid voor sites.** We respecteren robots.txt: onze crawler identificeert zich als WebReaderAPI, volgt de regels die voor hem of voor alle robots zijn geschreven, en leest geen pagina die een site niet toestaat. Geweigerde pagina's worden niet in rekening gebracht. 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. Het doet minder dan Firecrawl: geen JSON-extractie, geen browseracties, geen map, geen gratis tier. Lees de pagina's [Firecrawl-alternatief](https://webreaderapi.com/nl/alternatives/firecrawl/) en [Jina Reader-alternatief](https://webreaderapi.com/nl/alternatives/jina-reader/) voor de details van elke overstap. ## Welke moet ik kiezen voor mijn use case? - **Prototype of hobby-agent:** Jina Reader zonder key, of Firecrawl's gratis tier. - **RAG over documentatiesites:** Firecrawl voor crawl en map; WebReaderAPI als je credits per pagina wilt die blijven staan, plus betalen met crypto. - **Extractie naar vaste velden:** Firecrawl's JSON-formaat. - **Veel korte nieuws- of blogpagina's:** Jina's tokenfacturering kost meestal minder. - **Strikt respect voor de keuzes van site-eigenaren, afgedwongen door de provider:** WebReaderAPI. - **Geen kaart en geen identiteitsbewijzen:** WebReaderAPI; noch Firecrawl noch Jina vermeldt een crypto-betaaloptie op de pagina's die we hebben gelezen. ## Wat kost de derde optie? Packs per pagina betaald met crypto, per 22 oktober 2026. Een pagina die een browser nodig heeft, gebruikt twee credits; mislukte pagina's en pagina's die door robots.txt worden geweigerd zijn gratis. | Plan | Hoeveelheid | Prijs | Prijs per eenheid | | --- | --- | --- | --- | | Test | 10.000 pagina's | US$ 3,75 | US$ 0,38/1K pagina's | | Build | 100.000 pagina's | US$ 21,75 | US$ 0,22/1K pagina's | | Volume | 1.000.000 pagina's | US$ 74,25 | US$ 0,07/1K pagina's | | Bulk | 5.000.000 pagina's | US$ 350 | US$ 0,07/1K pagina's | In elk plan: Hoofdinhoud extraheren · JavaScript rendering wanneer nodig · Mislukte en geweigerde pagina's niet in rekening gebracht · Credits verlopen nooit **Voordat je betaalt** - Minimale opwaardering US$ 25. Stort één keer op met crypto en koop daarna elk plan vanuit je saldo. - Je saldo heeft geen einddatum en kan op elk moment pagina-credits kopen. Als een pack minder kost dan de minimale opwaardering, kan het bedrag dat je alleen hebt toegevoegd om dat minimum te bereiken op verzoek worden teruggestuurd binnen 30 dagen na de betaling, in USDT of USDC, zolang je het niet hebt uitgegeven. Elk ander saldo wordt niet terugbetaald, tenzij de wet anders bepaalt. - Bijgeschreven zodra je betaling op de blockchain is gecontroleerd. Gebruikelijke bevestigingstijd van het netwerk: 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: veelgestelde vragen ### Is Jina Reader gratis en Firecrawl betaald? Beide zijn gratis te gebruiken. Jina Reader werkt zonder key met 20 verzoeken per minuut, en elke nieuwe key krijgt 10 miljoen tokens voor niet-commercieel gebruik. Firecrawl geeft 1.000 credits per maand zonder kaart, plus keyless MCP-toegang met een dagelijkse limiet per IP-adres. ### Welke levert betere Markdown? We publiceren geen kwaliteitsbenchmark, en de prijspagina van geen van beide leveranciers claimt er een tegen de ander. Draai je eigen steekproef: 50 van je echte URL's door elke service, en vergelijk dan koppen, tabellen en overgebleven menu's in de output. ### Kan een van beide self-hosted worden? Ja. De kern van Firecrawl is open source onder AGPL-3.0. Jina publiceert een open-source tak van zijn Reader onder Apache-2.0, zonder de gehoste opslaglaag. ### Accepteren Firecrawl of Jina crypto? Niet op de prijs- en factureringspagina's die we op 22 oktober 2026 hebben gelezen: beide noemen Stripe, met kaarten en PayPal, en Jina ook Google Pay. WebReaderAPI accepteert BTC, USDT, USDC, ETH, SOL, LTC. ### Is deze vergelijking neutraal? Hij is geschreven door WebReaderAPI, een concurrent van beide, en dat staat bovenaan. Elk feit over Firecrawl en Jina komt van hun eigen pagina's, hieronder vermeld met de datum waarop we ze hebben gelezen. ## Bronnen 1. [Firecrawl-prijzen](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 2. [Facturering](https://docs.firecrawl.dev/billing.md) — Firecrawl docs (read 2026-10-22) 3. [Crawlen](https://docs.firecrawl.dev/features/crawl.md) — Firecrawl docs (read 2026-10-22) 4. [Geavanceerde scraping-gids](https://docs.firecrawl.dev/advanced-scraping-guide.md) — Firecrawl docs (read 2026-10-22) 5. [MCP-server](https://docs.firecrawl.dev/mcp-server.md) — Firecrawl docs (read 2026-10-22) 6. [Introductie van Alexandria en onze Series 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. [API-dashboard: prijzen](https://jina.ai/api-dashboard/pricing/) — Jina AI (read 2026-10-22) 9. [jina-ai/MCP repository](https://github.com/jina-ai/MCP) — GitHub (read 2026-10-22) 10. [Elastic rondt overname van Jina AI af](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. [Webtools](https://docs.openclaw.ai/tools/web) — OpenClaw docs (read 2026-10-22) --- 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. --- # Prijsvergelijking van web reader API's: wat 10K, 100K en 1M pagina's kosten > Prijzen van web reader- en URL-naar-Markdown-API's vergeleken op 2026-10-22: de maandrekening voor 10K, 100K en 1M pagina's bij 13 API's, gewone en JS-pagina's. - URL: https://webreaderapi.com/nl/compare/web-reader-api-pricing/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Creditprijzen verbergen planformaten, browsermultipliers en vervaldatum. Deze pagina rekent publieke lijstprijzen om naar de maandrekening voor drie volumes, voor gewone pagina's en voor pagina's die een browser nodig hebben, en somt daarna de kosten op die prijspagina's weglaten. **Kort antwoord — Hoe verhouden de prijzen van web reader API's zich in 2026?** Op 2026-10-22 kostten 100.000 door de browser gerenderde pagina's per maand $99 bij acht API's, waaronder Firecrawl, Olostep en Crawl4AI Cloud; gewone pagina's kostten vanaf $29 (Scrape.do). Bij 1 miljoen pagina's beginnen gewone pagina's bij ongeveer $99 en browserpagina's bij $399 (Olostep). **WebReaderAPI** rekent US$ 21,75 voor 100.000 gewone pagina's en $43,50 als ze allemaal een browser nodig hebben, betaald met crypto zonder KYC. ## Wat kost een maand pagina's bij elke API? Maandrekening voor 10.000, 100.000 en 1.000.000 pagina's, met het goedkoopste gepubliceerde plan, overage- of pay-as-you-go-tarief. Waar een aanbieder browserpagina's anders prijst, staan beide bedragen (gewoon / browser). | API | 10.000 pagina's | 100.000 pagina's | 1.000.000 pagina's | | --- | --- | --- | --- | | WebReaderAPI, gewone pagina's | US$ 3,75 | US$ 21,75 | US$ 74,25 | | WebReaderAPI, browserpagina's (2 credits) | $7.50 | $43.50 | $148.50 | | Firecrawl | $44.00 | $99.00 | $749.00 | | Crawl4AI Cloud, gewoon / browser | $10.00 | $50.00 / $99.00 | $395.00 / $667.00 | | Olostep | $29.00 | $99.00 | $399.00 | | Tavily Extract, gewoon / browser | $16.00 / $30.00 | $140.00 / $236.00 | $1,300 / $2,900 | | Exa contents | $10.00 | $100.00 | $1,000 | | Linkup fetch, gewoon / browser | $10.00 / $50.00 | $100.00 / $500.00 | $1,000 / $5,000 | | ScrapingBee, gewoon / browser | $19.00 | $49.00 / $99.00 | $99.00 / $599.00 | | Scrape.do, gewoon / browser | $29.00 | $29.00 / $99.00 | $99.00 / $699.00 | | ZenRows, gewoon / browser | $5.00 / $25.00 | $39.00 / $99.00 | $199.00 / $549.00 | | Scrapfly, gewoon / browser | $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 | *Prijzen gecontroleerd op 22 oktober 2026.* Lijstprijzen in USD, gelezen op 2026-10-22. "—" = niet gepubliceerd of niet self-serve bij dat volume. Exa en Parallel documenteren geen browseroptie. Volledige methode en 21 API's: [URL to Markdown API price index 2026](https://webreaderapi.com/nl/data/url-to-markdown-price-index-2026/). ## Welke kosten laten prijspagina's weg? 1. **Browsermultipliers.** Een JavaScript-pagina kost 5 credits bij ScrapingBee, ZenRows en Scrape.do, 6 bij Scrapfly en 10 bij ScraperAPI; Firecrawl en Olostep renderen elke pagina voor één prijs. 2. **Planstappen.** Een plan van $99 dat je koopt voor 20.000 pagina's kost nog steeds $99. 3. **Vervaldatum.** De meeste maandplannen zetten ongebruikte credits terug; een rustige maand is verloren geld. 4. **Extractie-add-ons.** Gestructureerde JSON-extractie kost extra bij meerdere API's: 4 extra credits per pagina bij Firecrawl. 5. **Premium verbindingen.** Residential- of "premium"-proxies vermenigvuldigen de creditkosten bij de meeste scraping-API's; WebReaderAPI rekent 10 credits extra alleen wanneer je een land kiest. 6. **Mislukte pagina's.** Controleer of fouten worden gefactureerd. WebReaderAPI rekent niets voor mislukte pagina's of pagina's die robots.txt weigert. ## Waar staat WebReaderAPI? Bij de prijzen op deze pagina, vastgesteld op 2026-10-22, rekent WebReaderAPI US$ 0,38/1K pagina's per gewone pagina bij 10.000 pagina's, US$ 0,22/1K pagina's bij 100.000 en US$ 0,07/1K pagina's bij 1 miljoen; een browserpagina gebruikt twee credits. Credits zijn prepaid, verlopen nooit en worden betaald in BTC, USDT, USDC, ETH, SOL, LTC zonder KYC. We beweren niet dat we bij elk volume of voor elk paginatype de goedkoopste zijn. Onze crawler respecteert robots.txt en probeert nooit een weigering te omzeilen, dus sommige pagina's die andere tools ophalen, komen geweigerd terug, en gratis. ## Wat kost WebReaderAPI? Prepaid packs; één credit per gewone pagina, twee met een browser; credits verlopen nooit. Prijzen vastgesteld op 2026-10-22. | Plan | Hoeveelheid | Prijs | Prijs per eenheid | | --- | --- | --- | --- | | Test | 10.000 pagina's | US$ 3,75 | US$ 0,38/1K pagina's | | Build | 100.000 pagina's | US$ 21,75 | US$ 0,22/1K pagina's | | Volume | 1.000.000 pagina's | US$ 74,25 | US$ 0,07/1K pagina's | | Bulk | 5.000.000 pagina's | US$ 350 | US$ 0,07/1K pagina's | In elk plan: Hoofdinhoud extraheren · JavaScript rendering wanneer nodig · Mislukte en geweigerde pagina's niet in rekening gebracht · Credits verlopen nooit **Voordat je betaalt** - Minimale opwaardering US$ 25. Stort één keer op met crypto en koop daarna elk plan vanuit je saldo. - Je saldo heeft geen einddatum en kan op elk moment pagina-credits kopen. Als een pack minder kost dan de minimale opwaardering, kan het bedrag dat je alleen hebt toegevoegd om dat minimum te bereiken op verzoek worden teruggestuurd binnen 30 dagen na de betaling, in USDT of USDC, zolang je het niet hebt uitgegeven. Elk ander saldo wordt niet terugbetaald, tenzij de wet anders bepaalt. - Bijgeschreven zodra je betaling op de blockchain is gecontroleerd. Gebruikelijke bevestigingstijd van het netwerk: 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 ## Prijzen van web reader API's: veelgestelde vragen ### Wat is de goedkoopste URL to Markdown API in 2026? Voor gewone pagina's bij 1 miljoen per maand noteerden ScrapingBee ($0,099 per 1.000) en Scrape.do ($0,099 per 1.000) de laagste prijzen op 2026-10-22. Voor browserpagina's bij dat volume noteerde Olostep $0,399. Het antwoord verandert met het volume, dus vergelijk bij je eigen volume. ### Is Firecrawl duur? Bij kleine volumes wel: $19 voor 5.000 pagina's op Hobby is $3,80 per 1.000. Bij 100.000 pagina's ($99) en 1 miljoen ($749) zit het dicht bij de markt voor door de browser gerenderde pagina's, omdat elke Firecrawl-pagina wordt gerenderd. ### Betaal ik voor pagina's die mislukken? Dat hangt van de aanbieder af; lees de factureringspagina. Crawlbase stelt dat mislukte requests en retries gratis zijn. WebReaderAPI rekent niets voor mislukte pagina's of voor pagina's die robots.txt weigert. ### Kan ik een web reader API betalen met crypto? Ja, bij een paar. Scrape.do, Decodo Web Data API, Scrapeless vermelden cryptobetaling op een account, en Exa contents, Parallel Extract, Linkup fetch, Olostep en anderen nemen per request USDC via x402. WebReaderAPI neemt BTC, USDT, USDC, ETH, SOL, LTC zonder KYC. ## Bronnen 1. [Firecrawl: prijzen](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 2. [Crawl4AI Cloud: prijzen](https://crawl4ai.com/) — Crawl4AI Cloud (read 2026-10-22) 3. [Olostep: prijzen](https://www.olostep.com/pricing) — Olostep (read 2026-10-22) 4. [Tavily Extract: prijzen](https://docs.tavily.com/documentation/api-credits) — Tavily Extract (read 2026-10-22) 5. [Exa contents: prijzen](https://exa.ai/pricing) — Exa contents (read 2026-10-22) 6. [Linkup fetch: prijzen](https://docs.linkup.so/pages/documentation/development/pricing) — Linkup fetch (read 2026-10-22) 7. [ScrapingBee: prijzen](https://www.scrapingbee.com/pricing/) — ScrapingBee (read 2026-10-22) 8. [Scrape.do: prijzen](https://scrape.do/pricing.md) — Scrape.do (read 2026-10-22) 9. [ZenRows: prijzen](https://docs.zenrows.com/first-steps/pricing.md) — ZenRows (read 2026-10-22) 10. [Scrapfly: prijzen](https://scrapfly.io/pricing) — Scrapfly (read 2026-10-22) 11. [Bright Data Web Unlocker: prijzen](https://www.bright.cn/pricing/web-unlocker) — Bright Data Web Unlocker (read 2026-10-22) 12. [Diffbot: prijzen](https://www.diffbot.com/pricing/) — Diffbot (read 2026-10-22) --- 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. --- # Contact WebReaderAPI > Contact WebReaderAPI: support-e-mail voor API- en factureringsvragen, e-mail voor site-eigenaren en misbruikmeldingen, en wat je meestuurt. - URL: https://webreaderapi.com/nl/contact/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Twee adressen: één voor klanten, één voor site-eigenaren en meldingen van misbruik. Beide worden door een persoon gelezen. **Kort antwoord — Hoe neem ik contact op met WebReaderAPI?** Mail naar support@webreaderapi.com voor hulp met de API, je account of een betaling; E-mailsupport antwoordt binnen 12 uur, elke dag van de week, ook bij hulp met crawls en integraties. Site-eigenaren en iedereen die misbruik van de crawler **WebReaderAPI** meldt, kunnen naar abuse@webreaderapi.com schrijven. Ons team zal je nooit per e-mail of chat om je rekeningnummer of een API-sleutel vragen. ## Wat maakt een supportverzoek snel te beantwoorden? Een kort bericht met de feiten krijgt het snelste antwoord: - het order-ID uit je ordergeschiedenis, bij factureringsvragen; - het tijdstip van de aanvraag, het endpoint en de foutcode, bij API-problemen; - de URL die je probeerde te lezen, als een pagina niet kwam zoals verwacht. Stuur je API-sleutel of je rekeningnummer nooit per e-mail. ## Ik heb een website. Hoe bereik ik jullie? Mail naar abuse@webreaderapi.com met je domein, de datum en het tijdstip, en een regel uit je serverlog waar de user agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` in staat. Om onze crawler te stoppen zonder ons te mailen, voeg je een regel voor `WebReaderAPI` toe aan je robots.txt; op de [botpagina](https://webreaderapi.com/nl/bot/) staan kant-en-klare voorbeelden. Een persoon leest elk misbruikrapport, en accounts die het misbruiken van de dienst wordt aangetoond, worden opgeschort. ## Waarmee kan support helpen? Met alles over het gebruik van de API of je account: - een pagina die leeg terugkomt, afgekapt is of waar de verkeerde sectie als hoofdinhoud is bewaard; - een foutcode die je niet begrijpt, of een crawl-opdracht die vroegtijdig stopt; - een opwaardering die na de bevestigingen nog niet op je saldo staat; - een terugbetalingsverzoek volgens het [terugbetalingsbeleid](https://webreaderapi.com/nl/refunds/); - een hogere concurrency-limiet voor productiegebruik. Support kan een site niet dwingen onze crawler te accepteren. Als een site ons weigert, is toestemming van de site-eigenaar de enige route. ## Hoe meld ik een betalingsprobleem? Geef de coin, het netwerk, het verzonden bedrag en de transactie-ID, samen met het order-ID uit het klantgedeelte. Daarmee is elke transfer op de blockchain te vinden. Stuur geen private keys, seed phrases, je rekeningnummer of je API-sleutel mee: die hebben we nooit nodig, en wie erom vraagt is niet ons. ## Is er een chat of een telefoonlijn? Nee. E-mail houdt voor beide partijen een schriftelijk verslag bij en laat ons precies antwoorden, met de logs bij de hand. Voor de status van de API zie je de [statuspagina](https://webreaderapi.com/nl/status/); voor veelgestelde vragen de [FAQ](https://webreaderapi.com/nl/faq/). --- 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. --- # Crawl API: maak van een hele website Markdown-bestanden > Crawl API die een hele website omzet naar Markdown voor RAG: tot 10.000 pagina's per opdracht, volgt sitemap en robots.txt, vanaf US$ 0,07/1K pagina's. Crypto. - URL: https://webreaderapi.com/nl/crawl-api/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Geef een start-URL en een paginalimiet. De crawler volgt de sitemap van de site en links binnen hetzelfde domein, leest elke pagina als Markdown en levert je de resultaten pagina voor pagina. Eén credit per pagina. **Kort antwoord — Hoe crawl ik een hele website en krijg ik elke pagina als Markdown?** Gebruik een crawl-API: je stuurt een start-URL en een limiet, en het retourneert elke pagina van de site als Markdown. **WebReaderAPI** crawlt tot 10.000 pagina's per opdracht binnen één domein, volgt de sitemap, robots.txt en Crawl-delay, en rekent één credit per gelezen pagina, vanaf US$ 0,07/1K pagina's per oktober 2026. Pagina's die door robots.txt worden geweigerd zijn gratis. Zonder KYC; betalen met crypto. ## Crawl API in één oogopslag | Kenmerk | Waarde | | --- | --- | | Start een crawl | `POST https://webreaderapi.com/api/v1/crawl` met `url`, `limit`, `max_depth`, `include_paths`, `exclude_paths` | | Haal de resultaten op | `GET https://webreaderapi.com/api/v1/jobs/{job_id}`, gepagineerd met een cursor | | Bereik | Crawl één website per job, tot 10.000 pagina's, volgens de sitemap, de robots.txt en de Crawl-delay | | Veel afzonderlijke URL's | `POST https://webreaderapi.com/api/v1/batch`: Tot 100 URL's per batch-job | | 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 | | Site-eigenaren | We respecteren robots.txt: onze crawler identificeert zich als WebReaderAPI, volgt de regels die voor hem of voor alle robots zijn geschreven, en leest geen pagina die een site niet toestaat. Geweigerde pagina's worden niet in rekening gebracht | | Prijs | US$ 14,25 voor 50.000 pagina's, US$ 50 voor 500.000 pagina's | ## Hoe werkt een crawl-opdracht? Een crawl is een achtergrondopdracht, omdat het lezen van honderden pagina's langer duurt dan één HTTP-verzoek zou moeten duren. 1. **Starten:** `POST https://webreaderapi.com/api/v1/crawl` met de start-URL en je limieten. Je krijgt meteen een `job_id`. 2. **Ontdekken:** de crawler leest de robots.txt en sitemap van de site en volgt dan links binnen hetzelfde domein, breadth first, tot `max_depth`. 3. **Lezen:** elke toegestane pagina wordt gelezen met dezelfde opties als `/read`: Markdown, hoofdinhoud extraheren, rendering wanneer nodig. 4. **Ophalen:** poll `GET https://webreaderapi.com/api/v1/jobs/{job_id}` en blader met de cursor door de resultaten terwijl de opdracht loopt, of zodra deze `done` is. De opdracht stopt bij je `limit`, dus je betaalt nooit voor meer pagina's dan je hebt aangevraagd. *Python: crawl een documentatiesite naar Markdown-bestanden* ```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")) ``` ## Welke pagina's bezoekt de crawler en welke slaat hij over? Hij blijft binnen het domein van de start-URL en slaat alles over wat de site robots vraagt met rust te laten. In detail: - **Alleen hetzelfde domein.** Links naar andere domeinen worden in de resultaten vermeld maar niet gelezen. - **robots.txt eerst.** Pagina's die voor `WebReaderAPI` of voor alle robots zijn uitgesloten, worden overgeslagen en niet in rekening gebracht. - **Crawl-delay gerespecteerd.** Als de site er een instelt, wacht de crawler zo lang tussen twee pagina's, dus een grote site kan langer duren. - **Je filters.** `include_paths` en `exclude_paths` nemen eenvoudige patronen zoals `/blog/*`; gebruik ze om tagpagina's, zoekpagina's en archieven te vermijden. - **Duplicaten verwijderd.** Dezelfde pagina bereikt via twee URL's, bijvoorbeeld met trackingparameters, wordt één keer gelezen wanneer de site een canonical URL aangeeft. ## Moet ik een crawl of een batch gebruiken? Gebruik een crawl wanneer je de site kent maar niet de pagina's; gebruik een batch wanneer je de lijst met URL's al hebt. Een crawl ontdekt pagina's via de sitemap en links. Een batch leest precies de URL's die je verstuurt, tot 100 per opdracht, over elk aantal sites. Voor een wekelijkse verversing van een kennisbank is een veelvoorkomend patroon één crawl om de index op te bouwen, en daarna batches van de pagina's waarvan `lastmod` in de sitemap is gewijzigd. Zo blijven de wekelijkse kosten beperkt tot de pagina's die daadwerkelijk zijn gewijzigd. ## Hoeveel kost het om een site te crawlen? Eén credit per gelezen pagina, twee voor pagina's waarvoor een browser nodig was. Een documentatiesite van 1.500 pagina's die op de server rendert, kost 1.500 credits; dezelfde site als single-page app kan tot 3.000 kosten. Drie typische opdrachten, per oktober 2026: een producthandleiding van 300 pagina's past in het 10.000 pagina's-pack (US$ 3,75); tien documentatiesites van elk 2.000 pagina's passen in 50.000 pagina's (US$ 14,25); een archief van 400.000 pagina's past in 500.000 pagina's (US$ 50). Overgeslagen en mislukte pagina's zijn gratis. ## Welk pack past bij een crawl? Bepaal de pack op basis van het aantal pagina's en tel er een marge bij voor pagina's waarvoor een browser nodig is. Credits verlopen nooit, dus de rest dient voor de volgende crawl. | Plan | Hoeveelheid | Prijs | Prijs per eenheid | | --- | --- | --- | --- | | Test | 10.000 pagina's | US$ 3,75 | US$ 0,38/1K pagina's | | Starter | 50.000 pagina's | US$ 14,25 | US$ 0,28/1K pagina's | | Build | 100.000 pagina's | US$ 21,75 | US$ 0,22/1K pagina's | | Scale | 500.000 pagina's | US$ 50 | US$ 0,10/1K pagina's | In elk plan: Hoofdinhoud extraheren · JavaScript rendering wanneer nodig · Mislukte en geweigerde pagina's niet in rekening gebracht · Credits verlopen nooit **Voordat je betaalt** - Minimale opwaardering US$ 25. Stort één keer op met crypto en koop daarna elk plan vanuit je saldo. - Je saldo heeft geen einddatum en kan op elk moment pagina-credits kopen. Als een pack minder kost dan de minimale opwaardering, kan het bedrag dat je alleen hebt toegevoegd om dat minimum te bereiken op verzoek worden teruggestuurd binnen 30 dagen na de betaling, in USDT of USDC, zolang je het niet hebt uitgegeven. Elk ander saldo wordt niet terugbetaald, tenzij de wet anders bepaalt. - Bijgeschreven zodra je betaling op de blockchain is gecontroleerd. Gebruikelijke bevestigingstijd van het netwerk: 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 ## Crawl API: veelgestelde vragen ### Hoeveel pagina's kan één crawl lezen? Tot 10.000 pagina's per opdracht, binnen het domein van de start-URL. Voor een grotere site splits je het in meerdere opdrachten met `include_paths`, bijvoorbeeld één per sectie. ### Gebruikt de crawler de sitemap? Ja. Hij leest de sitemap die in robots.txt of op de gebruikelijke locatie staat en volgt dan links op de pagina's die hij leest. Pagina's die alleen de sitemap vermeldt, worden nog steeds gelezen als robots.txt ze toestaat. ### Kan ik een site crawlen die AI-crawlers blokkeert? Niet met WebReaderAPI. Als robots.txt onze crawler of alle robots weigert, worden die pagina's overgeslagen en niet in rekening gebracht. Als de site `Content-Signal: ai-input=no` aangeeft, lezen we die niet voor je. We proberen zulke keuzes nooit te omzeilen. ### Kan ik de resultaten krijgen terwijl de crawl nog loopt? Ja. `GET https://webreaderapi.com/api/v1/jobs/{job_id}` geeft de tot nu toe gelezen pagina's terug met een cursor; blijf bladeren tot de opdracht `done` is en er geen cursor meer over is. ### Kan een crawl meer pagina's lezen dan mijn limiet? Nee. Credits worden pagina voor pagina geteld en de opdracht stopt wanneer hij de `limit` bereikt die je hebt ingesteld. Pagina's die hij vanwege robots.txt overslaat, en pagina's die mislukken, gebruiken geen credit. --- 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. --- # Betaal voor een web reader API met crypto > Hoe je WebReaderAPI met crypto betaalt: BTC, USDT, USDC, ETH, SOL of LTC, de US$ 25 minimum-opwaardering, welk netwerk je kiest en wat je doet na het versturen. - URL: https://webreaderapi.com/nl/crypto-payments/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Een stapsgewijze handleiding om je WebReaderAPI-saldo met crypto op te waarderen en er pagina credits van te maken, met de fouten die je moet vermijden. **Kort antwoord — Hoe betaal ik WebReaderAPI met crypto?** Waardeer je **WebReaderAPI**-saldo op met minimaal US$ 25 in BTC, USDT, USDC, ETH, SOL, LTC: stuur het exacte getoonde bedrag op het getoonde netwerk en klik dan op "I've sent the payment". De opwaardering wordt op het exacte bedrag gematcht en gecrediteerd zodra deze is bevestigd. Daarna koop je pagina credits van het saldo, vanaf US$ 3,75 voor 10.000 pagina's. Zonder KYC. ## Met welke munten kan ik betalen? Zes munten, één saldo. USDT werkt op TRC-20 of ERC-20, USDC op ERC-20; de betaalpagina toont het adres en netwerk voor de munt die je kiest. - Bitcoin (BTC) - Tether (USDT) — TRC-20 or ERC-20 - USD Coin (USDC) — ERC-20 - Ethereum (ETH) - Solana (SOL) - Litecoin (LTC) ## Hoe werkt een crypto-opwaardering, stap voor stap? Vijf stappen van een leeg account naar een werkende API-sleutel. Het enige wachten is op de blockchain-bevestiging. 1. **Kies een bedrag en een munt** — Voer minimaal US$ 25 in en kies BTC, USDT, USDC, ETH, SOL of LTC. De betaalpagina rekent het dollarbedrag om naar die munt. 2. **Stuur het exacte bedrag** — Kopieer het getoonde adres en bedrag en stuur ze op het netwerk dat de pagina noemt: één overboeking, het exacte bedrag, niet afgerond. 3. **Klik op "I've sent the payment"** — Vertel de pagina dat de overschrijving onderweg is. Als er om de transactie-ID wordt gevraagd, plak die erin zodat de overschrijving makkelijker te vinden is. 4. **Laat het netwerk het bevestigen** — De opwaardering wordt gematcht op het exacte bedrag en bijgeschreven zodra het netwerk die heeft bevestigd. Bitcoin heeft meer tijd nodig dan USDT op Tron of SOL op Solana. 5. **Koop een creditpack** — Betaal elk pack vanuit je saldo. Als je bij een pack begon, wordt het gekocht zodra de opwaardering is bijgeschreven, en verschijnt je API-sleutel in het dashboard. ## Welke coin en welk netwerk moet ik gebruiken? Gebruik de coin die je al hebt, op het netwerk dat de betaalpagina noemt. Een stablecoin (USDT of USDC) houdt het bedrag in dollars, dus de prijs die je ziet is de prijs die je betaalt. Netwerkkosten en bevestigingstijden verschillen per chain; de tabel in de stappen hierboven geeft de gebruikelijke bevestigingstijd voor elk netwerk. Heb je USDT op meerdere chains, kies dan degene waarvan de fee voor jouw bedrag lager is. De fee wordt betaald door de afzender en valt niet onder je opwaardering. ## Waarom is er een minimumbedrag voor een opwaardering? Omdat elke betaling ons controle- en boekhoudwerk kost, ongeacht de grootte. Het minimum is US$ 25; daarna kan elk pack vanuit het saldo worden gekocht, ook het pack van 10.000 pagina's voor US$ 3,75. Wat je niet uitgeeft, blijft op je saldo staan zonder einddatum. Kost het pack dat je kocht minder dan het minimum, dan kan het extra deel binnen 30 dagen worden teruggevraagd, in USDT of USDC, zolang het niet is uitgegeven. ## Wat gebeurt er nadat ik de betaling heb verstuurd? Klik op "Ik heb de betaling verstuurd" op de betaalpagina. We matchen de overschrijving op het exacte bedrag, wachten op de bevestigingen die het netwerk nodig heeft en schrijven je saldo bij. Als je bij een pack begon, wordt het vanuit het saldo gekocht zodra de opwaardering is bijgeschreven, en staat je API-sleutel klaar in het dashboard. Heb je het tabblad gesloten, open dan het klantgedeelte: openstaande en bijgeschreven opwaarderingen verschijnen in je ordergeschiedenis. ## Wat als ik het verkeerde bedrag verstuur of het verkeerde netwerk gebruik? Een afwijkend bedrag kan niet vanzelf worden gematcht, en een overschrijving op een ander netwerk bereikt het adres misschien helemaal niet. Controleer voordat je verstuurt drie dingen: de coin, het netwerk en het exacte bedrag. Is er iets misgegaan, schrijf dan naar support@webreaderapi.com met de transactie-ID en de order-ID. Stuur je rekeningnummer of API-sleutel niet mee. Geld dat is verstuurd op een netwerk dat de betaalpagina niet toonde, is mogelijk niet te recoveren. ## Kan een cryptobetaling worden terugbetaald? Terugbetalingen gaan naar je saldo in plaats van terug naar je wallet, wat een tweede netwerkfee voorkomt. Een pack dat binnen 72 uur voor minder dan 20% is gebruikt, of een pack dat nooit heeft gewerkt, wordt teruggeboekt. Het [terugbetalingsbeleid](https://webreaderapi.com/nl/refunds/) geeft de exacte voorwaarden en drie voorbeelden. ## Wat kan ik kopen zodra mijn saldo is bijgeschreven? Elk pack: 10.000 pagina's voor US$ 3,75, 50.000 pagina's voor US$ 14,25 of 100.000 pagina's voor US$ 21,75, en grotere op de [prijzenpagina](https://webreaderapi.com/nl/pricing/). Credits verlopen nooit. | Plan | Hoeveelheid | Prijs | Prijs per eenheid | | --- | --- | --- | --- | | Test | 10.000 pagina's | US$ 3,75 | US$ 0,38/1K pagina's | | Starter | 50.000 pagina's | US$ 14,25 | US$ 0,28/1K pagina's | | Build | 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 Prijzen in USD, vastgesteld op 2026-10-22. Elk pack wordt betaald vanuit je cryptosaldo. ## Betalen met crypto: veelgestelde vragen ### Heb ik een kaart of een ID nodig om te betalen? Nee. WebReaderAPI accepteert alleen crypto en vraagt niet om identiteitsdocumenten. Inloggen met je accountnummer; e-mail is optioneel. ### Staat de prijs vast wanneer ik de betaling start? De betaalpagina toont het bedrag in de coin die je voor die betaling hebt gekozen. Stuur precies dat bedrag; een stablecoin houdt het gelijk aan de dollarprijs. ### Kan ik per request voor credits betalen in plaats van op te waarderen? Nee. Betalingen lopen via een prepaid saldo, en elke read gebruikt credits daarvan. Het saldo en de credits verlopen nooit. ### Waar zie ik mijn betalingen? In de ordergeschiedenis van het klantgedeelte, met per opwaardering de status, coin, het netwerk en de transactie-ID. --- 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. --- # URL naar Markdown API-prijzenindex 2026: wat 1.000 pagina's kosten bij 21 API's > Prijzenindex 2026 voor URL-naar-Markdown-API's: 21 API's, kosten per 1.000 pagina's bij 3 volumes, statisch en JavaScript, gecontroleerd op 2026-10-22. - URL: https://webreaderapi.com/nl/data/url-to-markdown-price-index-2026/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Openbare lijstprijzen van 21 API's die webpagina's omzetten naar Markdown of tekst voor modellen, genormaliseerd naar de kosten van 1.000 pagina's bij drie maandelijkse volumes, voor gewone pagina's en voor pagina's die in een browser worden gerenderd. Gepubliceerd door WebReaderAPI, dat zelf een van de API's in de tabel is. **Kort antwoord — Hoeveel kost een URL-naar-Markdown-API per 1.000 pagina's in 2026?** Over 21 API's waarvan we de lijstprijzen op 2026-10-22 hebben gelezen, kost het lezen van 100.000 gewone pagina's per maand een mediaan van $0.99 per 1.000, en $1.00 wanneer pagina's een browser nodig hebben. Bij 1 miljoen pagina's per maand dalen de medianen naar $0.774 en $0.899. **WebReaderAPI**, dat deze index publiceert, rekent US$ 0,22/1K pagina's voor gewone pagina's bij 100.000. ## De index in zes cijfers - **$2.00** mediaan per 1.000 gewone pagina's bij 10.000 per maand (21 API's) - **$0.99** mediaan per 1.000 gewone pagina's bij 100.000 per maand (21 API's) - **$0.774** mediaan per 1.000 gewone pagina's bij 1 miljoen per maand (20 API's) - **$1.00** mediaan per 1.000 in een browser gerenderde pagina's bij 100.000 per maand (18 API's) - **$0.899** mediaan per 1.000 in een browser gerenderde pagina's bij 1 miljoen per maand (17 API's) - **3 + 7** API's die betalen met crypto op een account vermelden, plus API's die per aanvraag USDC aannemen (x402) ## Hoe is de index opgebouwd? We hebben op 2026-10-22 de openbare prijspagina van elke aanbieder gelezen en alleen de daar getoonde cijfers overgenomen; elke bron staat onderaan vermeld. Een "pagina" is één URL die wordt gelezen en als Markdown of tekst terugkomt, met de standaardproxy van de aanbieder en zonder betaalde add-on. - **Gewone pagina:** geen JavaScript-rendering. **Browserpagina:** eerst gerenderd in een headless browser; aanbieders die altijd renderen (Firecrawl, Olostep, Diffbot) hebben dezelfde prijs in beide tabellen. - **Prijs bij een volume:** de goedkoopste gepubliceerde manier om dat aantal pagina's per maand bij één aanbieder te kopen (plan, plan plus gepubliceerde overage, of pay as you go), gedeeld door de gebruikte pagina's. Een plan van $99 dat voor 100.000 pagina's wordt gebruikt, telt als $0,99 per 1.000, ook als het meer omvat. - **Creditmultipliers zijn toegepast**, bijvoorbeeld 5 credits per browserpagina bij ScrapingBee, ZenRows en Scrape.do. - **Gratis tiers staan vermeld, niet geprijsd.** API's die per token, browsertijd, datavolume of compute worden gefactureerd, en één API waarvan we de Markdown-output niet konden bevestigen, staan apart vermeld. WebReaderAPI staat ter referentie en telt niet mee in de medianen. ## Prijs per 1.000 gewone pagina's, per maandelijks volume Statische pagina's, gelezen zonder browser. "—" betekent niet gepubliceerd of niet self-serve bij dat volume. | API | 10K pagina's per maand | 100K pagina's per maand | 1M pagina's per maand | | --- | --- | --- | --- | | WebReaderAPI (prepaid, verloopt nooit) | US$ 0,38/1K pagina's | US$ 0,22/1K pagina's | US$ 0,07/1K pagina's | | 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 | *Prijzen gecontroleerd op 22 oktober 2026.* Lijstprijzen in USD, gelezen op 2026-10-22. Onze prijzen: de WebReaderAPI-prijspagina op dezelfde datum. ## Prijs per 1.000 in een browser gerenderde pagina's, per maandelijks volume Pagina's die JavaScript nodig hebben, gerenderd in een headless browser. API's die geen browseroptie documenteren, staan niet in deze tabel. | API | 10K pagina's per maand | 100K pagina's per maand | 1M pagina's per maand | | --- | --- | --- | --- | | WebReaderAPI (2 credits per pagina) | $0,75/1K pagina's | $0,435/1K pagina's | $0,148/1K pagina's | | 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 | *Prijzen gecontroleerd op 22 oktober 2026.* ## Waarom verschillen de prijzen zo veel tussen API's? Vier dingen verklaren het grootste deel van de spreiding. 1. **Producttype.** Algemene scraping-API's (ScrapingBee, Scrape.do, ZenRows, Scrapfly) zijn geprijsd voor volume en komen op ongeveer $0,10 per 1.000 gewone pagina's bij 1 miljoen per maand. AI-gerichte readers (Exa, Parallel, Linkup) rekenen een vast tarief van $1,00 en voegen retrieval-functies toe. 2. **Browser-multipliers.** Een browserpagina kost bij creditgebaseerde API's 2 tot 10 keer zoveel als een gewone pagina; API's met een vast tarief rekenen voor beide hetzelfde. 3. **Plantrappen.** Veel aanbieders verkopen maandplannen met een groot tegoed, waardoor kleine gebruikers betalen voor ongebruikte pagina's: de mediaan bij 10.000 gewone pagina's per maand is $2,00. 4. **Vervaldatum.** De meeste plannen resetten ongebruikte credits maandelijks; ScrapeGraphAI, Crawlbase en Crawl4AI Cloud houden gekochte credits zonder maandelijkse reset. ## Gratis tiers, vervaldatum, crypto, identiteitscontroles en robots.txt Wat elke aanbieder vermeldt op de pagina's die we hebben gelezen. "Niet vermeld" betekent dat de pagina's het niet zeiden. | API | Gratis tier | Verloop van credits | Crypto-betaling | Identiteitscontroles | robots.txt | | --- | --- | --- | --- | --- | --- | | WebReaderAPI | Geen | Nooit | BTC, USDT, USDC, ETH, SOL, LTC | Geen: geen ID, geen selfie, geen documenten | Ger respekteerd; nooit overschreven | | Firecrawl | 1.000 credits per maand, geen kaart nodig | Plancredits worden maandelijks gereset | Nee (kaarten, PayPal) | Niet vermeld | Standaard gerespecteerd; alleen te overschrijven bij Enterprise | | Tavily Extract | 1.000 credits per maand (5.000 basis-URL's) | Maandelijks gereset | Alleen naar eigen goeddunken (voorwaarden) | Niet vermeld | Niet vermeld | | Exa contents | $10 tegoed per maand | Gratis credits worden maandelijks gereset | Per request, USDC (x402) | Kaart voor pay as you go | Vermeld voor de index-crawler, niet voor fetches door gebruikers | | Parallel Extract | 5.000 requests per maand | Gratis tegoed verloopt maandelijks | Per request, USDC (x402) | Kaart voor het maandelijkse tegoed | Vermeld voor de index-crawler, niet voor fetches door gebruikers | | Linkup fetch | $20 per maand (professioneel e-mailadres) | Niet vermeld | Per request, USDC (x402) | Professioneel e-mailadres voor gratis tegoed | Crawlen respecteert het; fetch niet vermeld | | Olostep | Proefperiode van 500 requests | Plan maandelijks; top-ups 6 maanden | Per request, USDC (x402) | Kaart voor opwaarderen | Tools om het te respecteren; standaard niet vermeld | | ScrapeGraphAI | 500 credits | Plancredits worden niet overgedragen; top-ups verlopen nooit | Alleen agents (MPP) | Niet vermeld | Klant moet zich houden aan (voorwaarden) | | Diffbot | 10.000 credits per maand | Quota wordt elke periode gereset | Niet vermeld | Geen kaart voor het gratis plan | Crawl gehoorzaamt standaard; Extract niet vermeld | | ScrapingBee | 1.000 credits | Geen rollover | Nee | Kaart voor betaalde plannen | Niet vermeld | | ScraperAPI | 5.000 credits voor 7 dagen | Verlopen per factureringsperiode | Nee | Niet vermeld | Niet vermeld | | ZenRows | 5.000 credits per maand | Bij verlenging | Accounts: nee; agents: USDC (x402) | E-mailvalidatie | Niet vermeld | | Scrapfly | 1.000 credits eenmalig | Geen rollover | Niet vermeld | KYC voor elke klant | Crawler-API respecteert het standaard; kan worden uitgeschakeld | | Scrape.do | 1.000 credits per maand | Niet vermeld | Ja (munten niet vermeld) | Niet vermeld | Niet vermeld | | Crawlbase | 1.000 credits | Pay as you go: niets verloopt | Niet vermeld | Niet vermeld | Niet vermeld | | Bright Data Web Unlocker | 5.000 credits per maand | Gratis credits worden maandelijks gereset | Nee | Kaart voor accounts met persoonlijk e-mailadres; bedrijfs-KYC voor pagina's die robots.txt verbiedt | Standaard nageleefd | | Oxylabs Web Scraper API | $5 tegoed eenmalig | Einde van de cyclus | Nee | KYC voor elke klant | Niet vermeld | | Decodo Web Data API | Tot 10.000 requests per maand | Ongebruikte bedragen verlopen maandelijks | Ja (via CoinGate) | Automatische controle, daarna KYC | Niet vermeld | | Scrapeless | Proefperiode, omvang niet vermeld | Voorafbetaald minimum niet aangehouden | Ja (munten niet vermeld) | Geen voor basispakketten | Niet vermeld | | Hyperbrowser Fetch | 5.000 credits | Gekochte credits: 12 maanden | Per request, USDC (x402) | Niet vermeld | Niet vermeld | | Steel scrape | $30 eenmalig (90 dagen) | Lanceringscredit 90 dagen | Per request, USDC (x402) | Geen kaart | Voorwaarden verbieden het te schenden | | Crawl4AI Cloud | 1.000 credits per maand | Gekochte credits verlopen nooit | Niet vermeld | Geen kaart | Voorwaarden vereisen dat je je eraan houdt | *Prijzen gecontroleerd op 22 oktober 2026.* ## Wat zijn de belangrijkste bevindingen? - **Eenvoudige pagina's zijn goedkoop bij volume.** Bij 1 miljoen pagina's per maand noteren ScrapingBee ($0,099), Scrape.do ($0,099) en Scrapfly ($0,10) de laagste prijzen voor eenvoudige pagina's. - **Browserspagina's kosten meer.** Bij 1 miljoen per maand noteren Olostep ($0,399), ZenRows ($0,549) en Scrapfly ($0,56) de laagste prijzen voor browserspagina's. - **De bekendste reader is niet de goedkoopste.** Firecrawl noteert $0,99 per 1.000 bij 100.000 pagina's en $0,749 bij 1 miljoen, met elke pagina gerenderd. - **Crypto is zeldzaam op accounts.** Scrape.do, Decodo Web Data API en Scrapeless vermelden betalen met crypto; Exa contents, Parallel Extract, Linkup fetch, Olostep, ZenRows, Hyperbrowser Fetch en Steel scrape nemen per request USDC via x402. - **robots.txt wordt vaak aan de klant overgelaten.** Aanbieders die een standaard noemen die robots.txt respecteert, ten minste voor hun crawl-producten: Firecrawl, Diffbot, Scrapfly, Bright Data Web Unlocker. Veel zeggen niets. - **KYC is de uitzondering.** Oxylabs en Scrapfly vragen het aan elke klant; Decodo doet eerst een automatische controle. ## API's die op een andere manier worden gefactureerd (niet in de medianen) Deze rekenen af per token, browsertijd, datavolume of compute, of bevestigden geen Markdown-uitvoer, dus een prijs per pagina hangt af van je pagina's. | API | Prijs | Opmerking | | --- | --- | --- | | Jina Reader | $50 per 1 miljard output-tokens; $500 per 11 miljard | Per token gefactureerd: de kosten per pagina hangen af van de paginalengte. 10 miljoen gratis tokens per nieuwe sleutel, alleen niet-commercieel. | | Cloudflare Browser Run | $0,09 per browseruur na 10 inbegrepen uren, $5 minimaal per maand | Gefactureerd per browsertijd; /markdown-, /content- en /crawl-endpoints. | | Spider | $1 per GB content plus compute | Gefactureerd per datavolume; de cijfers per pagina die het publiceert zijn zijn eigen schattingen. | | Apify Website Content Crawler | Compute units ($0,13 per unit op Business) | Gefactureerd per compute; de cijfers per pagina die het publiceert zijn zijn eigen schattingen. | | Zyte API | $0,13 per 1.000 statische requests (website tier 1, pay as you go); $1,01 met een browser | Prijs hangt af van een tier die Zyte per website toewijst; Markdown-uitvoer niet vermeld op de pagina's die we lazen. | *Prijzen gecontroleerd op 22 oktober 2026.* ## Kan ik deze data hergebruiken? Ja. De tabellen op deze pagina zijn gepubliceerd onder de Creative Commons Naamsvermelding 4.0-licentie (CC BY 4.0): kopieer en pas ze aan met een link naar deze pagina en de datum 2026-10-22. We lezen de prijzen minstens één keer per maand opnieuw. Als een cijfer onjuist is, schrijf naar support@webreaderapi.com met de pagina die het juiste cijfer toont; we corrigeren het en noteren de wijziging in de [changelog](https://webreaderapi.com/nl/changelog/). ## Prijsindex: veelgestelde vragen ### Welke URL-naar-Markdown-API kost het minst? Dat hangt af van volume en van JavaScript. Op 2026-10-22 waren de laagste prijzen voor eenvoudige pagina's bij 1 miljoen pagina's per maand ScrapingBee met $0,099 en Scrape.do met $0,099 per 1.000; de laagste prijs voor browserspagina's bij dat volume was Olostep met $0,399. ### Hoeveel kost Firecrawl per pagina? Firecrawl rekent 1 credit per pagina met JavaScript inbegrepen: $19 voor 5.000 credits op Hobby, $99 voor 100.000 op Standard en $749 voor 1 miljoen op Scale, gelezen op zijn prijspagina op 2026-10-22. JSON-extractie voegt 4 credits per pagina toe. ### Waarom staat Jina Reader niet in de hoofdtabellen? Jina rekent per output-token af ($50 per 1 miljard tokens in het kleinste pakket), dus de prijs per pagina hangt af van hoe lang je pagina's zijn. Het staat in de tabel met API's die op een andere manier worden gefactureerd. ### Telt WebReaderAPI zichzelf mee in de medianen? WebReaderAPI publiceert deze index en staat alleen ter referentie in de eerste rijen. De medianen gebruiken de andere providers. ### Hoe vaak wordt de index bijgewerkt? Minstens één keer per maand, en wanneer een vermelde provider zijn publieke prijzen wijzigt. De datum bovenaan toont de laatste volledige controle. ## Bronnen 1. [Firecrawl: prijzen](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 2. [Tavily Extract: prijzen](https://docs.tavily.com/documentation/api-credits) — Tavily (read 2026-10-22) 3. [Exa contents: prijzen](https://exa.ai/pricing) — Exa (read 2026-10-22) 4. [Parallel Extract: prijzen](https://parallel.ai/pricing) — Parallel (read 2026-10-22) 5. [Linkup fetch: prijzen](https://docs.linkup.so/pages/documentation/development/pricing) — Linkup (read 2026-10-22) 6. [Olostep: prijzen](https://www.olostep.com/pricing) — Olostep (read 2026-10-22) 7. [ScrapeGraphAI: prijzen](https://scrapegraphai.com/pricing) — ScrapeGraphAI (read 2026-10-22) 8. [Diffbot: prijzen](https://www.diffbot.com/pricing/) — Diffbot (read 2026-10-22) 9. [ScrapingBee: prijzen](https://www.scrapingbee.com/pricing/) — ScrapingBee (read 2026-10-22) 10. [ScraperAPI: prijzen](https://www.scraperapi.com/pricing/) — ScraperAPI (read 2026-10-22) 11. [ZenRows: prijzen](https://docs.zenrows.com/first-steps/pricing.md) — ZenRows (read 2026-10-22) 12. [Scrapfly: prijzen](https://scrapfly.io/pricing) — Scrapfly (read 2026-10-22) 13. [Scrape.do: prijzen](https://scrape.do/pricing.md) — Scrape.do (read 2026-10-22) 14. [Crawlbase: prijzen](https://crawlbase.com/pricing) — Crawlbase (read 2026-10-22) 15. [Bright Data Web Unlocker: prijzen](https://www.bright.cn/pricing/web-unlocker) — Bright Data (read 2026-10-22) 16. [Oxylabs Web Scraper API: prijzen](https://oxylabs.io/pricing/web-scraper-api) — Oxylabs (read 2026-10-22) 17. [Decodo Web Data API: prijzen](https://help.decodo.com/docs/web-data-api-billing) — Decodo (read 2026-10-22) 18. [Scrapeless: prijzen](https://www.scrapeless.com/en/pricing) — Scrapeless (read 2026-10-22) 19. [Hyperbrowser Fetch: prijzen](https://hyperbrowser.ai/docs/pricing.md) — Hyperbrowser (read 2026-10-22) 20. [Steel scrape: prijzen](https://docs.steel.dev/overview/pricinglimits) — Steel (read 2026-10-22) 21. [Crawl4AI Cloud: prijzen](https://crawl4ai.com/) — Crawl4AI (read 2026-10-22) 22. [Jina Reader: prijzen](https://jina.ai/api-dashboard/pricing/) — Jina Reader (read 2026-10-22) 23. [Cloudflare Browser Run: prijzen](https://developers.cloudflare.com/browser-run/pricing/) — Cloudflare Browser Run (read 2026-10-22) 24. [Spider: prijzen](https://spider.cloud/pricing) — Spider (read 2026-10-22) 25. [Apify Website Content Crawler: prijzen](https://apify.com/apify/website-content-crawler) — Apify Website Content Crawler (read 2026-10-22) 26. [Zyte API: prijzen](https://www.zyte.com/pricing/) — Zyte API (read 2026-10-22) --- 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. --- # 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. --- # Batch- en crawl-API: veel URL's of een hele site lezen > Referentie voor de batch- en crawl-API: lees tot 100 URL's per job of een hele site tot 10.000 pagina's, met respect voor robots.txt. Betaal met crypto. - URL: https://webreaderapi.com/nl/docs/crawl/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Twee endpoints starten achtergrondtaken: `/batch` voor een lijst van maximaal 100 URL's, `/crawl` voor één website. Beide geven een job-ID terug; je haalt de pagina's op bij `/jobs/{job_id}`, een pagina resultaten per keer. **Kort antwoord — Hoe crawl ik een website naar Markdown met WebReaderAPI?** Stuur de start-URL naar `POST https://webreaderapi.com/api/v1/crawl` met een pagina-`limit`. **WebReaderAPI** leest de site op de achtergrond, alleen hetzelfde domein, volgens de sitemap, robots.txt en Crawl-delay, tot 10.000 pagina's per job. Haal de Markdown-pagina's op uit de job, een pagina resultaten per keer. Elke gelezen pagina kost 1 credit (2 met een browser), vanaf US$ 0,07/1K pagina's per oktober 2026. Zonder KYC; betalen met crypto. ## Jobs in één oogopslag | Kenmerk | Waarde | | --- | --- | | Batch | Tot 100 URL's per batch-job: `POST https://webreaderapi.com/api/v1/batch` | | Crawlen | Crawl één website per job, tot 10.000 pagina's, volgens de sitemap, de robots.txt en de Crawl-delay: `POST https://webreaderapi.com/api/v1/crawl` | | Resultaten | `GET https://webreaderapi.com/api/v1/jobs/{job_id}`, daarna `?cursor=…` voor de volgende pagina resultaten | | Facturering | Elke gelezen pagina wordt gefactureerd zoals een `/read`-aanroep; pagina's die robots.txt overslaat en mislukte pagina's kosten niets | | Bereik van een crawl | Eén domein; links naar andere domeinen worden vermeld maar niet gelezen | | Een job annuleren | Niet beschikbaar in v1: stel `limit` in op het maximale aantal pagina's dat je bereid bent te betalen | ## Een batchjob starten `POST /api/v1/batch` Leest tot 100 URL's op de achtergrond met dezelfde opties. Opties gebruiken de namen en waarden van [/read](https://webreaderapi.com/nl/docs/read/). Het antwoord is de job-ID; waarden zijn ter illustratie. Authenticatie: API-sleutel in de `Authorization: Bearer API_KEY`-header. **Request body** | Field | Type | Vereist | Beschrijving | | --- | --- | --- | --- | | `urls` | array of strings | Ja | 1 tot 100 http- of https-URL's. Duplicaten worden één keer gelezen. | | `options` | object | Nee | Elke `/read` parameter behalve `url`: `format`, `main_content`, `render`, `include_links`, `include_images`, `country`, `max_chars`, `timeout`. | *Voorbeeld: 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 } } ``` **Response** `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); ``` ## Start een crawl-job `POST /api/v1/crawl` Leest één website vanaf een start-URL, breadth first. De crawler blijft op het domein van de start-URL, gebruikt de sitemap die in robots.txt wordt genoemd of die op `/sitemap.xml` staat, en respecteert robots.txt en Crawl-delay. Waarden zijn ter illustratie. Authenticatie: API-sleutel in de `Authorization: Bearer API_KEY`-header. **Request body** | Field | Type | Vereist | Beschrijving | | --- | --- | --- | --- | | `url` | string | Ja | De startpagina, bijvoorbeeld de homepagina van een documentatiesite. | | `limit` | integer | Nee | Maximaal aantal te lezen pagina's, tot 10.000. De job stopt wanneer dit aantal is bereikt. | | `max_depth` | integer | Nee | Maximaal aantal linkstappen vanaf de start-URL. | | `include_paths` | array of strings | Nee | Eenvoudige padpatronen om te behouden, zoals `/docs/*`. | | `exclude_paths` | array of strings | Nee | Eenvoudige padpatronen om over te slaan, zoals `/blog/tag/*`. | | `options` | object | Nee | Elke `/read` parameter behalve `url`, toegepast op elke pagina. | *Voorbeeld: 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" } } ``` **Response** `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); ``` ## Jobstatus en resultaten ophalen `GET /api/v1/jobs/{job_id}` Geeft de status van de job en de volgende resultaten die klaar zijn. Elk item van `results` is ofwel een volledige `/read`-response of `{url, error}` voor een pagina die niet kon worden gelezen. Als `next_cursor` aanwezig is, roep dan opnieuw aan met `cursor` ingesteld daarop; als het ontbreekt, zijn er nog geen nieuwe resultaten klaar. Waarden zijn ter illustratie. Authenticatie: API-sleutel in de `Authorization: Bearer API_KEY`-header. **Parameters** | Naam | In | Type | Vereist | Beschrijving | | --- | --- | --- | --- | --- | | `job_id` | path | string | Ja | De ID die je van `/batch` of `/crawl` terugkrijgt. | | `cursor` | query | string | Nee | De `next_cursor`-waarde uit de vorige aanroep, om de volgende resultaten op te halen. | **Response** `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); ``` ## Hoe wacht ik tot een job klaar is? Poll `/jobs/{job_id}` en houd de cursor bij. Verwerk de resultaten die je krijgt en roep dan opnieuw aan met `cursor` ingesteld op `next_cursor`. Als `next_cursor` ontbreekt en `status` is `done`, heb je alles; als het ontbreekt en de job is nog `running`, wacht dan en vraag opnieuw met dezelfde cursor. Begin elke 2 seconden te pollen en verdubbel de wachttijd tot 30 seconden zolang er niets nieuws binnenkomt. Een crawl die de Crawl-delay van een site respecteert kan even duren, dus een lange wachttijd is normaal en kost niets. *Python: poll een job en sla elke pagina op als .md-bestand* ```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") ``` ## Welke pagina's leest een crawl? Een crawl begint bij je URL en gaat linkstap voor linkstap naar buiten, breadth first, tot `max_depth`. Hij leest ook de sitemap van de site, vanaf het adres in robots.txt of vanaf `/sitemap.xml`, om pagina's te vinden waar weinig links naartoe wijzen. - **Alleen hetzelfde domein.** Links naar andere domeinen staan in de resultaten als je om `include_links` vraagt, maar ze worden niet gelezen. - **Padfilters.** `include_paths` en `exclude_paths` nemen eenvoudige patronen zoals `/blog/*`. - **Eén kopie per pagina.** Wanneer een site een canonieke URL aangeeft, wordt een pagina die via meerdere adressen bereikbaar is één keer gelezen. - **Een harde stop.** De job eindigt wanneer hij `limit` pagina's heeft gelezen. ## Hoe respecteert een crawl de site? Elke request draagt de User-Agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, en de crawler volgt de robots.txt-regels voor `WebReaderAPI`, of voor alle robots wanneer geen enkele hem noemt. Geweigerde pagina's worden overgeslagen en verschijnen in `results` met de fout `blocked_by_robots`; ze kosten niets. Wanneer robots.txt een `Crawl-delay` instelt, wacht de crawler zo lang tussen twee requests naar de site. Als een site Content-Signal: ai-input=no in zijn robots.txt aangeeft, lezen we de pagina's niet voor je. 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. ## Hoeveel kost een crawl? Elke gelezen pagina kost wat een `/read`-aanroep zou kosten: 1 credit, 2 als de pagina een browser nodig had, plus 10 met `country`. Overgeslagen en mislukte pagina's zijn gratis. De `credits_used` van de job telt op wat tot nu toe is gefactureerd. Een documentatiesite van 500 pagina's die zonder browser wordt gelezen, gebruikt ongeveer 500 credits, wat het 10.000 pagina's-pack (US$ 3,75) ruimschoots dekt. Omdat een job in v1 niet kan worden geannuleerd, is `limit` je bestedingslimiet: stel het in op het maximale aantal pagina's waarvoor je wilt betalen. ## Batch en crawl: veelgestelde vragen ### Moet ik /batch of veel /read-aanroepen gebruiken? Gebruik `/batch` wanneer je de URL's al hebt en niet elk antwoord direct nodig hebt. Het scheelt je het beheren van concurrency en retries. Gebruik `/read` wanneer een agent nu één pagina nodig heeft. ### Hoe lang worden jobresultaten bewaard? Haal ze op zodra ze klaar zijn. Resultaten wachten tot je ze ophaalt; zodra ze zijn geleverd, wordt er geen kopie van de paginainhoud bewaard, dus sla op wat je nodig hebt aan jouw kant. ### Kan een crawl links naar andere websites volgen? Nee. Een crawl leest één domein. Andere domeinen verschijnen als links wanneer je erom vraagt, en je kunt die URL's naar `/batch` sturen als je ze wilt laten lezen. ### Kan ik een crawl die al is gestart stoppen? Niet in v1. De job stopt bij `limit` pagina's, dus kies een limiet die bij je budget past. Al gelezen pagina's blijven gefactureerd; pagina's die nooit zijn gelezen kosten niets. --- 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. --- # Webpagina naar Markdown met curl en jq > Zet webpagina's om naar Markdown met curl en jq: sla een pagina op, toon links, voer een batch uit en controleer credits. Vanaf US$ 0,07/1K pagina's, geen KYC. - URL: https://webreaderapi.com/nl/docs/curl/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Alles wat de API doet past in een shell-one-liner. Deze recepten gebruiken curl om de API aan te roepen en jq om velden uit de JSON te halen, met aan het eind een PowerShell-versie voor Windows. **Kort antwoord — Hoe converteer ik een webpagina naar Markdown vanaf de command line?** Voer `curl -sG https://webreaderapi.com/api/v1/read --data-urlencode "url=…"` uit met je sleutel in een `Authorization: Bearer` header en pipe het antwoord naar `jq -r .markdown`. **WebReaderAPI** geeft de hoofdinhoud van de pagina terug als Markdown met de metadata. Eén gewone pagina gebruikt 1 credit, vanaf US$ 0,07/1K pagina's per oktober 2026. Zonder KYC; betalen met crypto. ## Hoe stel ik de terminal in? Installeer curl en jq, die de meeste Linux- en macOS-systemen al hebben, en exporteer je sleutel één keer per sessie. Elk recept hieronder leest hem uit `$WEBREADER_API_KEY`, zodat de sleutel nooit als onderdeel van een commando in je shell-geschiedenis verschijnt. Gebruik `-G` met `--data-urlencode` voor GET-requests: curl codeert het pagina-adres dan voor je, wat belangrijk is omdat adressen hun eigen `?`, `&` en `=` bevatten. *Stel de sleutel in en sla één pagina op als een .md-bestand* ```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 ``` ## Hoe zie ik wat een call heeft teruggegeven en gekost? Vraag jq om de metadata in plaats van de inhoud. `final_url` laat zien waar redirects naartoe gingen, `rendered` vertelt je of er een browser is gebruikt, en `credits_used` is wat de call kostte. Als het antwoord een fout is, print dezelfde filter `null`-velden; print `.error` om de code en het bericht te lezen. *Alleen metadata, of de fout als die er is* ```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}' ``` ## Hoe list ik de links van een pagina op? Voeg `include_links=true` toe en zet de `links`-lijst om in regels gescheiden door tabs. Dat geeft je een snelle kaart van de uitgaande links van een pagina, die je kunt sorteren, filteren met grep of kunt doorgeven aan een batch-job. *Links als tekst en URL, één per regel* ```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 ``` ## Hoe lees ik een JavaScript-pagina of een PDF? Voeg `-d render=true` toe voor een pagina die zijn inhoud met JavaScript opbouwt; die kost dan 2 credits. Een PDF heeft niets speciaals nodig: stuur de URL en de tekst komt terug in `markdown`. PDF-bestanden tot 20 MB en 100 pagina's worden omgezet naar Markdown, voor 1 credit per begonnen blok van 10 pagina's. *Een gerenderde pagina, dan een 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 ``` ## Hoe draai ik een batch-job vanuit de shell? Post een JSON-body met je URL's naar `/batch`, bewaar de `job_id` en lees dan de job. Een kleine loop wacht tot de job `done` is en print de titel of foutcode van elke pagina. Volg voor lange jobs `next_cursor` zoals getoond op de [batch- en crawl-pagina](https://webreaderapi.com/nl/docs/crawl/). *Batch van drie URL's, dan wachten op het resultaat* ```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)"' ``` ## Hoe controleer ik mijn credits? Roep `/credits` aan; dat is gratis. Het retourneert `credits_remaining`, `credits_used_today` en je `concurrency_limit`. Prepaid credits verlopen nooit: ongebruikte pagina's blijven op je account staan tot je ze gebruikt. *Resterende credits* ```bash curl -s "https://webreaderapi.com/api/v1/credits" -H "Authorization: Bearer $WEBREADER_API_KEY" | jq '.credits_remaining' ``` ## Wat is de PowerShell-versie op Windows? `Invoke-RestMethod` parseert de JSON voor je, dus je hebt geen jq nodig. Bouw de query met `[uri]::EscapeDataString` om het pagina-adres te coderen, en geef de sleutel door in een headers-tabel. *PowerShell: één pagina opslaan* ```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: veelgestelde vragen ### Waarom mislukt mijn URL met & erin? Omdat de shell of curl hem splitst. Zet het hele `url=…`-argument tussen quotes en geef het door met `--data-urlencode`, zoals in de recepten hierboven; curl codeert dan `&`, `?` en `=` binnen het pagina-adres. ### Hoe zie ik de HTTP-status van een fout? Voeg `-w '\n%{http_code}\n'` toe om hem na de body te printen, of `-i` om alle headers te zien. De `error.code` van de body is de stabiele waarde om in scripts te testen. ### Wordt een mislukte call gefactureerd? 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. --- 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. --- # Fouten, robots.txt-weigeringen en retries > WebReaderAPI-foutcodes: weigering door robots.txt of de site, time-outs en creditfouten, welke je opnieuw probeert en waarom niets wordt gefactureerd. - URL: https://webreaderapi.com/nl/docs/errors/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Elke fout heeft een HTTP-status, een stabiele `code` en een leesbare `message`. Geen enkele gebruikt een credit. Sommige zijn een retry waard; de weigeringen die van een site komen zijn definitief, en we werken ze nooit omzeilend rond. **Kort antwoord — Wat betekenen WebReaderAPI-foutcodes, en welke moet ik opnieuw proberen?** **WebReaderAPI**-fouten komen in drie groepen, en geen enkele wordt ooit gefactureerd. Problemen met het request (`invalid_url`, `invalid_api_key`, `insufficient_credits`) vragen een oplossing aan jouw kant. Beslissingen van de site (`blocked_by_robots`, `blocked_by_site_policy`, `target_refused`) zijn definitief. Tijdelijke fouten (`fetch_failed`, `fetch_timeout`, `concurrency_limit`) kun je opnieuw proberen met backoff. Credits beginnen bij US$ 0,07/1K pagina's, betaald met crypto zonder KYC. ## Welke foutcodes kan de API retourneren? De body is altijd `{"error": {"code", "message"}}`, plus `target_status` wanneer de weigering van de site kwam. | HTTP | `code` | Oorzaak | Opnieuw proberen? | | --- | --- | --- | --- | | 400 | `invalid_url` | Geen http of https, te lang, of een privé-, lokaal of cloud-metadata-adres | Nee: herstel de URL | | 400 | `invalid_parameter` | Een parameter heeft een waarde buiten de lijst of het bereik | Nee: herstel de request | | 401 | `invalid_api_key` | API-sleutel ontbreekt, is onjuist of ingetrokken | Nee: controleer de API-sleutel | | 402 | `insufficient_credits` | Je saldo heeft geen credits meer | Na aankoop van een pack | | 403 | `blocked_by_robots` | De robots.txt van de site staat de pagina niet toe voor WebReaderAPI of voor alle robots | Nee: definitief | | 403 | `blocked_by_site_policy` | De site verklaart `Content-Signal: ai-input=no` | Nee: definitief | | 422 | `unsupported_content` | Een type dat we niet lezen (video, archief) of een te groot bestand | Nee | | 429 | `concurrency_limit` | Te veel van je requests draaien tegelijkertijd | Ja, met backoff | | 502 | `target_refused` | De site weigerde: 403, 429, een challenge-pagina of een loginmuur; de status staat in `target_status` | Nee: definitief | | 502 | `fetch_failed` | DNS-, TLS- of verbindingsfout, of de site antwoordde 404 of 410 | Eén of twee keer, met backoff | | 504 | `fetch_timeout` | De site antwoordde niet binnen `timeout` | Ja, met backoff of een langere timeout | ## Waarom zijn robots.txt en weigeringen van de site definitief? Omdat ze de beslissing van de site-eigenaar zijn, en WebReaderAPI is gebouwd om die te volgen. We respecteren robots.txt: onze crawler identificeert zich als WebReaderAPI, volgt de regels die voor hem of voor alle robots zijn geschreven, en leest geen pagina die een site niet toestaat. Geweigerde pagina's worden niet in rekening gebracht. Als een site Content-Signal: ai-input=no in zijn robots.txt aangeeft, lezen we de pagina's niet voor je. Wanneer een site een request op een andere manier afwijst, met een 403, een 429, een challenge-pagina of een loginformulier, krijg je `target_refused` en de eigen status van de site in `target_status`. 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. Dezelfde URL een minuut later opnieuw proberen geeft meestal hetzelfde antwoord, dus behandel deze codes als een resultaat, niet als een fout: log ze en ga verder. ## Hoe controleer ik waarom een pagina is geweigerd? Open de `/robots.txt` van de site en zoek naar een groep die `WebReaderAPI` noemt, of de groep `*` die voor alle robots geldt. Een `Disallow`-regel die overeenkomt met het pad verklaart een `blocked_by_robots`. Een regel zoals `Content-Signal: ai-input=no` verklaart een `blocked_by_site_policy`. We bewaren een kopie van elke robots.txt maximaal 24 uur. Als een site net een sectie heeft opengesteld voor robots, kan de wijziging tot een dag duren voordat die van kracht is. Site-eigenaren kunnen lezen hoe onze crawler zich gedraagt en hoe je die toestaat of blokkeert, op [onze crawler-pagina](https://webreaderapi.com/nl/bot/). ## Hoe moet ik tijdelijke fouten opnieuw proberen? Probeer alleen `concurrency_limit`, `fetch_timeout` en, één of twee keer, `fetch_failed` opnieuw. Wacht voor elke nieuwe poging en verdubbel de wachttijd elke keer, met een beetje willekeurige jitter zodat parallelle workers niet tegelijk opnieuw proberen. Stop na 4 of 5 pogingen. Voor `concurrency_limit` is de betere oplossing minder requests tegelijk te sturen: Elk account heeft een limiet voor het aantal pagina's dat het tegelijk leest; je dashboard toont die, en support kan hem verhogen. Voor `fetch_timeout` verhoog je `timeout` tot 60 seconden voordat je een langzame site opnieuw probeert. Opnieuw proberen kost niets, want een mislukte poging wordt nooit gefactureerd. *Python: probeer alleen de fouten opnieuw die kunnen veranderen* ```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: dezelfde regel met exponentiële backoff* ```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); } } ``` ## Hoe zit het met fouten binnen een batch of crawl? Een job stopt niet omdat één pagina mislukt. Die pagina verschijnt in `results` als `{url, error}` met dezelfde codes als hierboven, en kost niets. Een crawl die `blocked_by_robots` tegenkomt op een sectie leest gewoon de rest van de site. Tel aan het einde van een job de foutcodes. Veel `target_refused` op één site betekent dat de site geen geautomatiseerde lezers accepteert; veel `fetch_timeout` betekent dat het traag is, en een langere `timeout` in de job-opties kan helpen. ## Fouten: veelgestelde vragen ### Wordt er iets in rekening gebracht voor een pagina die robots.txt blokkeert? 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. Hetzelfde geldt voor elke andere fout op deze pagina. ### Kunnen jullie een pagina lezen die je crawler blokkeert als ik dat vraag? Nee. We volgen de keuze van de site-eigenaar, en het beleid is hetzelfde voor elke klant. Als je de site bezit, voeg dan een regel voor `WebReaderAPI` toe in je robots.txt; de [crawler-pagina](https://webreaderapi.com/nl/bot/) laat zien hoe. ### Waarom krijg ik fetch_failed voor een pagina die bestaat? De site was mogelijk down, traag met het accepteren van een TLS-verbinding of gaf 404 terug aan geautomatiseerde clients. Probeer het een of twee keer opnieuw met backoff. Als het blijft mislukken, controleer dan het adres in een browser. ### Wat moet mijn agent de gebruiker vertellen na een weigering? Iets simpels, zoals dat de site geautomatiseerd lezen van die pagina niet toestaat. Laat het model dan andere bronnen gebruiken. De foutcode teruggeven als tool-resultaat is voor de meeste modellen genoeg. --- 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. --- # LangChain en LlamaIndex: een webpagina-loader en een read_url-tool > LangChain en LlamaIndex webpagina-loader: read_url-tool, document loader en kleine RAG-index uit een crawl, in Python. Zonder KYC, betalen met crypto. - URL: https://webreaderapi.com/nl/docs/langchain/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Twee manieren om de API te gebruiken in een Python AI-stack: pagina's laden als documenten voor retrieval, of een agent een `read_url`-tool geven. Dezelfde 20 regels glue dienen zowel LangChain als LlamaIndex. **Kort antwoord — Hoe laad ik webpagina's in LangChain of LlamaIndex als schone Markdown?** Roep het `/read`-endpoint van **WebReaderAPI** aan en verpak elk antwoord in een `Document`: de Markdown als content, `final_url` en de titel als metadata. Voor agents exposeer je dezelfde call als een `read_url`-tool. Pagina's kosten 1 credit per stuk, 2 met een browser, vanaf US$ 0,07/1K pagina's per oktober 2026. Je hebt geen package van ons nodig. Zonder KYC; betalen met crypto. ## Waarom Markdown-documenten in plaats van ruwe HTML? Omdat retrieval op tekst werkt, en Markdown de structuur behoudt die ertoe doet terwijl de rest wegvalt. Koppen blijven behouden, zodat een splitter kan knippen op onderwerpwisselingen. Lijsten en tabellen blijven behouden, zodat stappen en specificaties bij elkaar blijven. Navigatie, cookiebanners en advertenties zijn weg, zodat ze je embeddings niet vervuilen of tokens verspillen. De metadata komt uit dezelfde call: `final_url` als bron om te citeren, `title`, `published_at` en `language` voor filteren. *reader.py: de gedeelde helper (sla het op naast je code)* ```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 ``` ## Hoe bouw ik een LangChain document loader? Zet elke pagina om in een `langchain_core.documents.Document` en splits die vervolgens op koppen met `MarkdownHeaderTextSplitter` uit het `langchain-text-splitters`-package. Elk chunk behoudt het kop-pad in zijn metadata, en je voegt de bron-URL toe zodat elk antwoord terug kan wijzen naar zijn pagina. Overgeslagen pagina's, zoals die geweigerd door robots.txt, gooien een `PageError` op met de code; log ze en ga verder. *LangChain: pagina's laden en splitsen* ```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 "") ``` ## Hoe geef ik een LangChain-agent een read_url-tool? Versier een functie met `@tool` uit `langchain_core.tools`. De docstring wordt de tool-beschrijving die het model leest, dus zeg wat de tool teruggeeft en wanneer je hem gebruikt. Geef platte tekst terug: een titelregel, de bron en de Markdown, afgekapt met `max_chars` passend bij je model. Bind de tool aan elk chatmodel dat tool calling ondersteunt, of geef hem door aan je agent-constructor. Het model roept dan `read_url` aan met een URL uit het gesprek of uit een zoekresultaat. *LangChain: de read_url-tool* ```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) ``` ## Hoe doe ik hetzelfde in LlamaIndex? LlamaIndex gebruikt zijn eigen `Document`-klasse met `text` en `metadata`, en `FunctionTool.from_defaults` om een functie om te zetten in een tool. De helper blijft hetzelfde. Bouw een index van de documenten met `VectorStoreIndex.from_documents`, dat gebruikmaakt van welk embedding-model je LlamaIndex-instellingen ook noemen. *LlamaIndex: een crawl indexeren, en een read_url-tool* ```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) ``` ## Hoe groot moet een crawl zijn voor een kleine RAG-index? Kleiner dan je misschien denkt. De documentatie van een product is vaak een paar honderd pagina's, en een crawl met `include_paths` ingesteld op de docs-sectie leest alleen die. Bij 1 credit per pagina kost een docs-site van 300 pagina's ongeveer 300 credits; 10.000 pagina's (US$ 3,75) ververst hem vele malen. Her-crawl volgens een schema dat past bij hoe vaak de bron verandert, en vergelijk `final_url` en `word_count` met de vorige run om alleen de gewijzigde pagina's opnieuw te embedden. Prepaid credits verlopen nooit: ongebruikte pagina's blijven op je account staan tot je ze gebruikt. ## LangChain en LlamaIndex: veelgestelde vragen ### Is er een WebReaderAPI-package voor LangChain of LlamaIndex? Nee. De helper en tool op deze pagina zijn de hele integratie, dus je kunt ze vrij aanpassen. WebReaderAPI is een gewone HTTPS-API die elke Python HTTP-client kan aanroepen. ### Welke LangChain-versie is hiervoor nodig? Elke recente met `langchain_core`, `langchain-text-splitters` en `init_chat_model`. De tool-decorator en de `Document`-klasse zijn stabiel gebleven over recente releases. ### Hoe voorkom ik dat ik pagina's opnieuw lees die niet zijn veranderd? Sla `final_url`, `word_count` en de datum van elke read op. Lees opnieuw volgens een schema, en embed een pagina alleen opnieuw wanneer het woordenaantal of de content-hash verandert. Elke her-read kost een credit, dus kies een ritme dat past bij de bron. ### Wat als sommige pagina's geweigerd worden? Ze gooien een `PageError` op met een code zoals `blocked_by_robots`, en ze kosten niets. 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. --- 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. --- # MCP-server voor webpagina's lezen voor Claude, Cursor en andere MCP-clients > WebReaderAPI: MCP-server om webpagina's te lezen voor Claude Desktop en Cursor. Een Python-tool van 40 regels geeft schone Markdown, betalen met crypto. - URL: https://webreaderapi.com/nl/docs/mcp/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Geef elke MCP-client een `read_url`-tool die een link omzet in schone Markdown. De server is één kort Python-bestand dat je op je eigen machine draait; je API-sleutel blijft in de omgeving ervan. **Kort antwoord — Hoe voeg ik met MCP een webpagina-lezer toe aan Claude Desktop of Cursor?** Draai een kleine MCP-server die een `read_url`-tool aanbiedt die **WebReaderAPI** aanroept, en registreer hem daarna in de MCP-instellingen van je client met je sleutel in `env`. Het model kan dan elke openbare pagina als schone Markdown lezen. Elke gelezen pagina kost 1 credit, 2 met een browser, vanaf US$ 0,07/1K pagina's per oktober 2026. Zonder KYC; betalen met crypto. ## De MCP-server in één oogopslag | Kenmerk | Waarde | | --- | --- | | Taal | Python 3.10+, met de packages `mcp` en `httpx` | | Transport | stdio: de client start de server als een lokaal proces | | Tool | `read_url(url, max_chars)` → titel, bron-URL, dan de Markdown van de pagina | | Waarom niet web_fetch | Claude Code en OpenClaw leveren al een ingebouwde tool met die naam | | Sleutel | Uit `WEBREADER_API_KEY` gelezen in de omgeving van de server | | 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 | ## Waarom een read_url-tool en niet web_fetch? Omdat twee tools met dezelfde naam zowel de client als het model in de war brengen. Claude Code en OpenClaw bevatten al een tool met de naam `web_fetch`. Een eigen naam, `read_url`, en een duidelijke beschrijving laten het model de onze kiezen wanneer het de hoofdinhoud van een pagina nodig heeft, inclusief JavaScript-pagina's en PDF's. De tool geeft tekst terug, geen JSON. Modellen gaan beter om met een korte header en Markdown dan met geneste velden, en de header houdt de bron-URL in zicht zodat het antwoord ernaar kan verwijzen. *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() ``` ## Hoe installeer en test ik de server? Maak een virtuele omgeving, installeer `mcp` en `httpx`, en sla het bestand hierboven op. Het package `mcp` is de officiële Python-SDK van het Model Context Protocol; `FastMCP` maakt van een getypeerde Python-functie een tool, met de docstring als beschrijving. Voordat je hem aan een client koppelt, draai je het bestand één keer vanuit een terminal met je sleutel ingesteld. Het wacht stil op een client via stdin, wat betekent dat het correct is gestart; stop het met Ctrl+C. *Installeren* ```bash python -m venv .venv . .venv/bin/activate pip install "mcp[cli]" httpx WEBREADER_API_KEY="your-key" python webreader_mcp.py ``` ## Hoe registreer ik hem in Claude Desktop? Open de developer-instellingen van Claude Desktop, bewerk `claude_desktop_config.json` en voeg een entry toe onder `mcpServers`. Gebruik absolute paden: de Python van je virtuele omgeving en het serverbestand. Zet de sleutel in `env`, zodat die nooit in de argumenten van de tool of in het gesprek verschijnt. Herstart Claude Desktop en `read_url` verschijnt in de tools-lijst. Cursor leest dezelfde `mcpServers`-structuur uit zijn eigen MCP-configuratiebestand, en Claude Code kan hetzelfde commando registreren met zijn `claude mcp add`-commando. Voor OpenClaw, zie de [OpenClaw-pagina](https://webreaderapi.com/nl/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" } } } } ``` ## Hoe houd ik pagina's binnen de context van het model? Verlaag `max_chars`. De standaardwaarde van 20.000 tekens is genoeg voor de meeste artikelen en voorkomt dat een lange pagina de context vult. Een model dat meerdere pagina's in één antwoord leest, doet het beter met 8.000 tot 12.000 per pagina. Vraag het model alleen de pagina's te lezen die het nodig heeft, niet elke link die het ziet. Een korte zin in je projectinstructies, zoals "lees maximaal drie pagina's per vraag", houdt zowel de kosten als de context in de hand. ## Wat gebeurt er als een site het lezen weigert? De tool geeft een kort bericht terug met de foutcode, zoals `blocked_by_robots` of `target_refused`, en er wordt niets gefactureerd. We respecteren robots.txt: onze crawler identificeert zich als WebReaderAPI, volgt de regels die voor hem of voor alle robots zijn geschreven, en leest geen pagina die een site niet toestaat. Geweigerde pagina's worden niet in rekening gebracht. 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. Het model kan dan zeggen dat de pagina niet beschikbaar is voor geautomatiseerde lezers en een andere bron gebruiken. ## MCP-server: veelgestelde vragen ### Is er een officieel WebReaderAPI MCP-package? Nee. Het bestand op deze pagina is de integratie: 40 regels die je zelf kunt lezen, aanpassen en draaien. Niets om bij ons te installeren, en je sleutel verlaat je machine nooit, behalve in calls naar onze API. ### Kan het model met deze server het web doorzoeken? Nee. `read_url` leest een pagina waarvan jij of het model het adres al heeft. Combineer hem met elke zoektool die je client biedt; het model zoekt en leest dan de pagina's die ertoe doen. ### Hoeveel kost een assistant om mee te draaien? Eén credit per gelezen pagina, twee wanneer een browser nodig is. Een assistant die 50 pagina's per dag leest, gebruikt ongeveer 1.500 credits per maand, en 10.000 pagina's (US$ 3,75) dekt dat ongeveer zes maanden. ### Werkt de server offline? Nee. Hij roept `https://webreaderapi.com/api/v1/read` aan voor elke pagina, dus hij heeft internettoegang en een geldige sleutel nodig. --- 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. --- # Webpagina's lezen in n8n AI-agents met de WebReaderAPI > Webpagina's lezen in n8n AI-agents: HTTP Request-tool zet elke URL om in schone Markdown, met een geplande workflow. Zonder KYC, betalen met crypto. - URL: https://webreaderapi.com/nl/docs/n8n/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) De HTTP Request-node van n8n kan dienen als tool voor de AI Agent-node. Richt hem op `/read`, laat het model de URL invullen, en de agent kan elke openbare pagina lezen als schone Markdown, zonder community-node te installeren. **Kort antwoord — Hoe laat ik een n8n AI-agent webpagina's lezen?** Koppel een HTTP Request-node als tool aan de AI Agent van n8n, zet hem op `GET https://webreaderapi.com/api/v1/read` met een Header Auth-credential met je **WebReaderAPI**-sleutel, en laat het model de parameter `url` bepalen. Zet Optimize Response aan om alleen `title`, `final_url` en `markdown` te bewaren. Elke pagina kost 1 credit, vanaf US$ 0,07/1K pagina's per oktober 2026. Zonder KYC; betalen met crypto. ## Welke HTTP Request-instellingen gebruik ik? De optienamen volgen de documentatie van de HTTP Request-node van n8n, gelezen op 2026-10-22. | Instelling | Waarde | | --- | --- | | Plaatsing | Gekoppeld aan de **AI Agent**-node als tool | | Method | `GET` | | URL | `https://webreaderapi.com/api/v1/read` | | Authenticatie | Generic credentials → **Header Auth** | | Header Auth-credential | Name `Authorization`, Value `Bearer ` gevolgd door je API-sleutel | | Send Query Parameters | Aan, **Using Fields Below** | | Parameter `url` | Bepaald door het model (zie hieronder) | | Parameter `max_chars` | Een vaste waarde zoals `15000` | | Optimize Response | Aan · response type **JSON** · Include Fields **Selected**: `title`, `final_url`, `markdown` | ## Waarom de HTTP Request-node als tool gebruiken? Omdat hij al alles doet wat deze API nodig heeft: één GET-request, één header en twee queryparameters. n8n documenteert dat de HTTP Request-node als gewone node kan draaien of als tool aan een AI-agent kan worden gekoppeld, en dat sommige opties alleen in de tool-vorm bestaan. Er is niets van ons te installeren of bij te werken, en de sleutel staat in de credential-store van n8n in plaats van in de workflow. Geef n8n een eigen sleutel, zodat het gebruik ervan los zichtbaar is van je andere scripts en je hem apart kunt intrekken. Maak meerdere API-sleutels aan, bijvoorbeeld één per agent of project, en trek ze allemaal in vanuit je dashboard. ## Hoe kiest het model de URL om te lezen? Laat het model de parameter `url` bepalen. n8n toont naast geschikte parametervelden een knop die de waarde aan het model geeft, en je kunt de expressie ook zelf schrijven met de functie `$fromAI()` van n8n. Die neemt een key, een description, een type en een optionele default, bijvoorbeeld de key `url`, de description "The http or https address of the page to read" en het type `string`. n8n documenteert dat `$fromAI()` alleen werkt in tools die aan de AI Agent-node zijn gekoppeld. Schrijf de toolbeschrijving ook in gewone woorden, zoals "Reads a public web page and returns its main content as Markdown", zodat de agent weet wanneer hij hem moet aanroepen. ## Waarom Optimize Response aanzetten? Omdat alles wat een tool teruggeeft in de context van het model belandt. Optimize Response is een optie die alleen voor tools bestaat en de data die naar het model gaat beperkt. Met het JSON-response type kun je alleen geselecteerde velden opnemen; houd `title`, `final_url` en `markdown` en laat de rest weg. Beperk de lengte aan onze kant met `max_chars`, dat de Markdown afkapt voordat hij de API verlaat. De HTML- en Text-response types van de node hebben hun eigen Truncate Response-optie, maar met ons JSON-antwoord is `max_chars` de eenvoudigere controle. ## Hoe gebruik ik de API in een geplande workflow? Gebruik de HTTP Request-node als gewone node, niet als tool, achter een Schedule Trigger. Geef hem een vaste `url`, zoals een changelog of een prijspagina die je volgt, en stuur het veld `markdown` naar de volgende node: een bestand, een database, een chatbericht of een vergelijking met de vorige run. Elke run leest één pagina per URL. Twintig pagina's één keer per dag volgen kost ongeveer 600 credits per maand voor pagina's zonder browser, dus 10.000 pagina's (US$ 3,75) gaat meer dan een jaar mee. Prepaid credits verlopen nooit: ongebruikte pagina's blijven op je account staan tot je ze gebruikt. ## Wat gebeurt er als een site het lezen weigert? De node ontvangt een foutresponse met een code zoals `blocked_by_robots` of `target_refused`, en er wordt niets gefactureerd. We respecteren robots.txt: onze crawler identificeert zich als WebReaderAPI, volgt de regels die voor hem of voor alle robots zijn geschreven, en leest geen pagina die een site niet toestaat. Geweigerde pagina's worden niet in rekening gebracht. Laat in een agent de tool de fout teruggeven, zodat het model hem kan uitleggen of een andere bron kan proberen; stuur in een geplande workflow fouten naar een branch die ze logt. De [foutenpagina](https://webreaderapi.com/nl/docs/errors/)] somt elke code op. ## Kan ik de call testen voordat ik de workflow bouw? Voer dezelfde call uit in een terminal met curl, zoals getoond in de [curl-recepten](https://webreaderapi.com/nl/docs/curl/)]. Als het daar werkt en in n8n mislukt, zit de oorzaak in de node-instellingen, meestal een credentialwaarde zonder het `Bearer `-voorvoegsel of een lege parameter `url`. ## n8n: veelgestelde vragen ### Heb ik een community-node nodig voor WebReaderAPI? Nee. De ingebouwde HTTP Request-node volstaat, als tool voor de AI Agent of als gewone node in elke workflow. ### Kan de agent JavaScript-pagina's of PDF's lezen? Ja. De API bepaalt wanneer een browser nodig is (`render=auto`) en leest PDF's als tekst. Een gerenderde pagina kost 2 credits; PDF-bestanden tot 20 MB en 100 pagina's worden omgezet naar Markdown, voor 1 credit per begonnen blok van 10 pagina's. ### Hoe voorkom ik dat de agent te veel pagina's leest? Geef in het systeembericht van de agent aan hoeveel pagina's hij mag lezen, en houd `max_chars` bescheiden. Elke leesactie is één tool-call, dus elke limiet die je op de tool-calls van de agent zet, begrenst ook het aantal pagina's. ### Hoe betaal ik voor credits? Waardeer op vanaf US$ 25 in BTC, USDT, USDC, ETH, SOL, LTC en koop dan een pack. WebReaderAPI vraagt geen ID, geen selfie en geen bedrijfsdocumenten. ## Bronnen 1. [HTTP Request-node](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/) — n8n docs (read 2026-10-22) 2. [HTTP Request-referenties](https://docs.n8n.io/integrations/builtin/credentials/httprequest/) — n8n docs (read 2026-10-22) 3. [AI Agent-node](https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/) — n8n docs (read 2026-10-22) 4. [Laat AI toolparameters specificeren met $fromAI()](https://docs.n8n.io/advanced-ai/examples/using-the-fromai-function/) — n8n docs (read 2026-10-22) --- 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. --- # Webpagina naar Markdown in Node.js > Converteer webpagina's naar Markdown in Node.js met fetch: één pagina en een crawl-pollingloop. Vanaf US$ 0,07/1K pagina's, zonder KYC, betalen met crypto. - URL: https://webreaderapi.com/nl/docs/node/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Node.js 18 en later leveren `fetch` mee, dus je hebt helemaal geen dependency nodig. Drie recepten: één pagina lezen, een lijst lezen met een kleine concurrency-pool, en een crawl-job volgen tot die klaar is. **Kort antwoord — Hoe converteer ik een webpagina naar Markdown in Node.js?** Gebruik de ingebouwde `fetch` van Node.js 18+: roep `https://webreaderapi.com/api/v1/read?url=…` aan met je sleutel in de `Authorization`-header en lees `markdown` uit het JSON-antwoord. **WebReaderAPI** geeft de hoofdinhoud van de pagina terug met de titel, auteur en datum. Eén pagina kost 1 credit, 2 met een browser, vanaf US$ 0,07/1K pagina's per oktober 2026. Zonder KYC; betalen met crypto. ## Wat heb ik nodig? Node.js 18 of later, voor de globale `fetch`, en een API-sleutel in de omgevingsvariabele `WEBREADER_API_KEY`. De voorbeelden zijn ES-modules: sla ze op met de extensie `.mjs`, of zet `"type": "module"` in je `package.json`, zodat top-level `await` werkt. De JSDoc-comments beschrijven de vorm van het antwoord, zodat editors zoals VS Code je aanvulling geven zonder een TypeScript-buildstap. *read.mjs: één pagina* ```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)'); ``` ## Hoe lees ik een lijst met URL's zonder tegen de limiet aan te lopen? Laat een vast aantal workers URL's uit een gedeelde queue halen. Dat is eenvoudiger dan `Promise.all` over de hele lijst, wat elk verzoek tegelijk zou starten en tegen `429 concurrency_limit` aan zou lopen. Elk account heeft een limiet voor het aantal pagina's dat het tegelijk leest; je dashboard toont die, en support kan hem verhogen. De pool hieronder bewaart fouten naast de resultaten, zodat één geweigerde pagina de run niet stopt. Weigeringen zoals `blocked_by_robots` zijn definitief en gratis; tel ze en ga verder. *pool.mjs: een lijst met URL's, 8 tegelijk* ```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); ``` ## Hoe volg ik een crawl-job in Node.js? Start de job met `POST https://webreaderapi.com/api/v1/crawl` en lees dan `https://webreaderapi.com/api/v1/jobs/{job_id}` in een loop. Geef `cursor` mee telkens wanneer `next_cursor` terugkomt; als er geen cursor is en de status `done` is, is de job klaar. Wacht tussen lege polls en verdubbel de wachttijd tot 30 seconden, want een crawl die de Crawl-delay van een site respecteert kan traag zijn. De [batch- en crawl-pagina](https://webreaderapi.com/nl/docs/crawl/) beschrijft hoe de crawl zijn pagina's kiest en hoe `limit` begrenst wat hij leest. *crawl.mjs: start een crawl en verzamel elke pagina* ```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); ``` ## Hoe geef ik het resultaat door aan een model? Stuur de Markdown, niet de hele JSON. Het veld `markdown` is wat een model zou moeten lezen; de metadata kun je beter bewaren voor citaties. Zet de titel en `final_url` ervoor, zodat het model zijn bron kan noemen, en houd `max_chars` op een grootte die de context van je model aankan, zoals 20.000 tekens per pagina. De [OpenAI function-calling-pagina](https://webreaderapi.com/nl/docs/openai/) laat de volledige tool-loop in Python zien; dezelfde `readPage`-functie hierboven kan dienen als de tool-body in een Node.js-agent. ## Node.js: veelgestelde vragen ### Werkt dit in Deno, Bun of de browser? Deno en Bun ondersteunen dezelfde `fetch` en ES-modules. Roep de API niet aan vanuit een browserpagina: de sleutel zou zichtbaar zijn voor elke bezoeker. Roep hem aan vanuit je server. ### Is er een npm-package? Nee. De functies op deze pagina zijn de hele integratie. WebReaderAPI is gewoon HTTPS en JSON, dus je houdt zelf controle over retries, timeouts en logging. ### Hoe ga ik om met 429 concurrency_limit? Verlaag het aantal workers, of probeer het opnieuw na een korte wachttijd die elke keer verdubbelt. Een 429 kost niets, en de [errors-pagina](https://webreaderapi.com/nl/docs/errors/) heeft een kant-en-klare backoff-functie. ### Wat kost het lezen van 10.000 pagina's? Ongeveer 10.000 credits voor gewone pagina's, meer als sommige een browser nodig hebben. 10.000 pagina's kosten US$ 3,75; Prepaid credits verlopen nooit: ongebruikte pagina's blijven op je account staan tot je ze gebruikt. --- 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. --- # OpenAI function calling: een read_url-tool voor je model > OpenAI function calling met read_url-tool: JSON-schema en Python-loop die links omzet in schone Markdown voor het model. Zonder KYC, betalen met crypto. - URL: https://webreaderapi.com/nl/docs/openai/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Beschrijf één functie, `read_url`, en voer die uit wanneer het model erom vraagt. Het model kiest welke pagina's worden gelezen; je code roept de API aan en geeft de Markdown terug. Hetzelfde schema werkt met andere modellen die tool calling ondersteunen. **Kort antwoord — Hoe laat ik een OpenAI-model webpagina's lezen met function calling?** Declareer een `read_url`-functie in de `tools`-lijst en voer dan een loop uit: wanneer het model een tool call teruggeeft, roep je het `/read`-endpoint van **WebReaderAPI** aan met de URL en stuur je de Markdown terug als een `tool`-bericht. Elke pagina kost 1 credit, 2 met een browser, vanaf US$ 0,07/1K pagina's per oktober 2026. Zonder KYC; betalen met crypto. ## Hoe ziet het read_url-schema eruit? Twee parameters zijn genoeg: de `url` die je wilt lezen, verplicht, en een optionele `max_chars` waarmee het model een lange pagina kort kan houden. De description is het belangrijkste onderdeel: die vertelt het model wat de tool teruggeeft en wanneer je hem gebruikt. Houd hem feitelijk en kort. We noemen de tool `read_url` in plaats van `web_fetch` om een botsing te voorkomen met tools die sommige agent-runtimes al onder die naam leveren. *De tool-definitie* ```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 } } } ``` ## Hoe werkt de tool-calling-loop? Stuur het gesprek met de `tools`-lijst. Als het antwoord tool calls bevat, voer je ze allemaal uit, voeg je het resultaat toe als bericht met rol `tool` en de bijbehorende `tool_call_id`, en vraag je het model opnieuw. Komt er een antwoord terug zonder tool call, dan is dat het definitieve antwoord. Beperk het aantal rondes. Drie of vier is ruim genoeg voor een vraag over een handvol pagina's, en de limiet beschermt je tegen een model dat blijft vragen om meer. *Python: de volledige loop met het openai-package* ```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)}) ``` ## Hoe houd ik tokengebruik en kosten laag? Drie instellingen zijn belangrijk. Houd `max_chars` bescheiden, rond 8.000 tot 20.000 tekens per pagina, want elk teken dat je teruggeeft wordt door het model gelezen. Houd de standaard `main_content=true` aan, zodat menu's en footers nooit in de context terechtkomen. En beperk de loop, zoals hierboven, zodat één vraag niet tientallen reads kan triggeren. Aan onze kant gelden de kosten per pagina, niet per teken: 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. Een support-assistent die 300 pagina's per dag leest, gebruikt ongeveer 9.000 credits per maand, binnen 10.000 pagina's (US$ 3,75). ## Werkt het schema met andere modellen? Ja, met kleine aanpassingen in de wrapper. De meeste tool-calling-API's nemen een JSON Schema voor de parameters en een naam en description voor de tool, dus `read_url` gaat ongewijzigd over naar andere providers. De [MCP-pagina](https://webreaderapi.com/nl/docs/mcp/) verpakt dezelfde functie voor clients die het Model Context Protocol spreken, en de [LangChain-pagina](https://webreaderapi.com/nl/docs/langchain/) verpakt hem voor LangChain- en LlamaIndex-agents. ## Wat moet het model zien wanneer een pagina wordt geweigerd? Een korte, duidelijke zin, zoals de loop hierboven teruggeeft: "Could not read the page: blocked_by_robots". Modellen gaan daar goed mee om en vallen terug op andere bronnen of vertellen het de gebruiker. We respecteren robots.txt: onze crawler identificeert zich als WebReaderAPI, volgt de regels die voor hem of voor alle robots zijn geschreven, en leest geen pagina die een site niet toestaat. Geweigerde pagina's worden niet in rekening gebracht. 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. Geen van deze weigeringen gebruikt een credit. ## Function calling: veelgestelde vragen ### Heb ik hiervoor de Responses API of Chat Completions nodig? Het voorbeeld gebruikt Chat Completions met de `tools`-parameter. Dezelfde functiedefinitie en dezelfde `read_url`-body werken met andere OpenAI-interfaces die function tools accepteren; alleen de loop eromheen verandert. ### Kan het model meerdere pagina's in één beurt lezen? Ja. Een antwoord kan meerdere tool calls bevatten; de loop voert ze allemaal uit en geeft elk resultaat terug voordat het model opnieuw wordt gevraagd. Houd `max_chars` lager wanneer het model veel pagina's tegelijk leest. ### Wordt de API-sleutel aan het model blootgesteld? Nee. De sleutel blijft in de omgeving van je code. Het model ziet alleen de naam van de tool, de description en de tekst die je functie teruggeeft. ### Wat kost een geweigerde pagina? Niets. 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. --- 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. --- # OpenClaw: een webpagina-reader toevoegen via MCP, naast web_fetch > Voeg een webpagina-reader toe aan OpenClaw via MCP: openclaw mcp add, doctor --probe, en hoe read_url de web_fetch aanvult. Zonder KYC, betalen met crypto. - URL: https://webreaderapi.com/nl/docs/openclaw/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) OpenClaw heeft al een `web_fetch`-tool voor lichte pagina's. Met onze MCP-server krijgt de agent een tweede reader, `read_url`, voor JavaScript-pagina's, PDF's en langere documenten. De setup is één commando. **Kort antwoord — Hoe voeg ik een webpagina-reader-API toe aan OpenClaw?** Sla de **WebReaderAPI**-MCP-server op, registreer hem met `openclaw mcp add webreaderapi --command … --arg … --env WEBREADER_API_KEY=…` en controleer hem met `openclaw mcp doctor --probe`. De agent krijgt een `read_url`-tool naast de ingebouwde `web_fetch`, die JavaScript kan renderen en PDF's kan lezen. Pagina's kosten 1 credit, vanaf US$ 0,07/1K pagina's per oktober 2026. Zonder KYC; betalen met crypto. ## OpenClaw's web_fetch en read_url naast elkaar | Kenmerk | Waarde | | --- | --- | | web_fetch (ingebouwd) | Draait lokaal, extraheert de hoofdinhoud met Readability, geeft Markdown of tekst terug | | web_fetch-limieten | Geen JavaScript-uitvoering; `maxChars` standaard en limiet van 20.000 tekens (OpenClaw-docs) | | read_url (onze MCP-tool) | JavaScript-rendering wanneer nodig, PDF's tot 100 pagina's, tot 500.000 tekens | | read_url-kosten | 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 gerespecteerd | | Toolprofielen | MCP-tools verschijnen in de profielen `coding` en `messaging`, niet in `minimal` | ## Waarom een reader toevoegen als OpenClaw web_fetch heeft? Omdat ze verschillende pagina's dekken. De documentatie van OpenClaw zegt dat `web_fetch` altijd lokaal draait, Readability gebruikt voor het extraheren van de hoofdinhoud en geen JavaScript uitvoert; voor sites die zwaar op JavaScript leunen of achter een login zitten, verwijst het naar zijn Web Browser-tool. De instelling `maxChars` staat standaard op 20.000 tekens en is daarop gemaximeerd. Houd `web_fetch` voor snelle, lichte pagina's. Voeg `read_url` toe voor pagina's die hun inhoud met JavaScript opbouwen, voor PDF's en voor lange documenten waar je meer dan 20.000 tekens wilt. De docs van OpenClaw merken ook op dat de officiële Firecrawl-plugin vandaag de enige meegeleverde provider is waarop `web_fetch` kan terugvallen. ## Hoe registreer ik de MCP-server in OpenClaw? Stel eerst de Python-server in vanaf de [MCP-pagina](https://webreaderapi.com/nl/docs/mcp/): één bestand plus de packages `mcp` en `httpx`. Sla hem daarna op in OpenClaw met `openclaw mcp add`. De registry-documentatie van OpenClaw beschrijft stdio-flags `--command`, `--arg`, `--env` en `--cwd`, en bewaart opgeslagen definities onder `mcp.servers` in zijn configuratie. Voer daarna `openclaw mcp doctor --probe` uit. Zonder `--probe` controleert de doctor alleen de opgeslagen configuratie; met die flag bevestigt hij ook dat ingeschakelde servers verbinden. *De server registreren en controleren* ```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 ``` ## Ziet de agent read_url? In de gebruikelijke profielen wel. De registry-documentatie van OpenClaw zegt dat embedded OpenClaw geconfigureerde MCP-tools toont in de profielen `coding` en `messaging`. Het profiel `minimal` verbergt ze en `tools.deny: ["bundle-mcp"]` schakelt ze uit, dus check die twee instellingen als de tool niet verschijnt. De beschrijving van de tool vertelt het model wanneer het deze moet verkiezen: pagina's die JavaScript nodig hebben, PDF's en lange teksten. Het model kan voor al het andere nog steeds `web_fetch` gebruiken. ## Hoe gaat read_url om met de sites die het leest? Op dezelfde manier als elke call naar onze API. We respecteren robots.txt: onze crawler identificeert zich als WebReaderAPI, volgt de regels die voor hem of voor alle robots zijn geschreven, en leest geen pagina die een site niet toestaat. Geweigerde pagina's worden niet in rekening gebracht. Als een site Content-Signal: ai-input=no in zijn robots.txt aangeeft, lezen we de pagina's niet voor je. 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. Pagina's achter een login vallen dus buiten het bereik van `read_url`. Voor een site waarop je bent ingelogd, is OpenClaw's eigen browser-tool, die met jouw sessie draait, de juiste tool. ## Wat kost het lezen van pagina's via OpenClaw? Eén credit per pagina die met inhoud terugkomt, twee wanneer een browser nodig is, niets voor weigeringen en fouten. Een assistant die via zijn chatkanalen 30 pagina's per dag leest, gebruikt ongeveer 900 credits per maand: 10.000 pagina's (US$ 3,75) gaat bijna een jaar mee. Prepaid credits verlopen nooit: ongebruikte pagina's blijven op je account staan tot je ze gebruikt. Geef OpenClaw een eigen API-sleutel, zodat het gebruik apart van je andere projecten zichtbaar is. ## OpenClaw: veelgestelde vragen ### Is WebReaderAPI een ingebouwde OpenClaw-provider? Nee. Het verbindt als MCP-server, wat OpenClaw ondersteunt zonder plugincode. De MCP-server is het korte Python-bestand van onze [MCP-pagina](https://webreaderapi.com/nl/docs/mcp/). ### Moet ik web_fetch uitschakelen? Niet nodig. Beide tools kunnen aan blijven; de beschrijvingen vertellen het model welke past. Schakel `web_fetch` alleen uit als je wilt dat elke read via één plek voor logging loopt. ### Kan ik de server beheren vanuit de webinterface van OpenClaw? De documentatie van OpenClaw beschrijft MCP-instellingen in zijn Control UI, die dezelfde opgeslagen definities bewerken als de command line. Gebruik wat je prettig vindt. ### Werkt het in een gesandboxte OpenClaw-opstelling? De MCP-server is een lokaal proces dat internettoegang nodig heeft om `https://webreaderapi.com/api/v1/read` te bereiken. Controleer dat je sandbox toestaat dat het proces start en die HTTPS-call doet. ## Bronnen 1. [Webtools](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. [Opgeslagen MCP-servers beheren](https://docs.openclaw.ai/cli/mcp/registry) — OpenClaw docs (read 2026-10-22) 4. [MCP in de Control UI](https://docs.openclaw.ai/cli/mcp/control-ui) — OpenClaw docs (read 2026-10-22) --- 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. --- # Webpagina naar Markdown in Python > Converteer webpagina's naar Markdown in Python: requests, async httpx met concurrency-limiet, batchjobs en RAG-chunking. Vanaf US$ 0,07/1K pagina's, zonder KYC. - URL: https://webreaderapi.com/nl/docs/python/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Vier recepten die de meeste Python-projecten dekken: lees één pagina met requests, lees veel pagina's gelijktijdig met httpx, geef een lijst aan een batchjob, en splits de Markdown in chunks voor een vector store. **Kort antwoord — Hoe converteer ik een webpagina naar Markdown in Python?** Roep **WebReaderAPI** aan met `requests.get("https://webreaderapi.com/api/v1/read", params={"url": ...})` en je sleutel in de header `Authorization`; het JSON-antwoord bevat de hoofdinhoud van de pagina in `markdown`. Voor veel pagina's gebruik je `httpx.AsyncClient` met een semaphore of een batchjob. Eén pagina kost 1 credit, vanaf US$ 0,07/1K pagina's per oktober 2026. Zonder KYC; betalen met crypto. ## Wat moet ik geïnstalleerd hebben? Python 3.9 of later en één HTTP-client. `requests` is genoeg voor scripts die één pagina tegelijk lezen; `httpx` voegt async-ondersteuning toe voor veel pagina's parallel. Er is geen package van ons nodig: de API is gewoon HTTPS en JSON. Houd je sleutel uit de code. Lees hem uit de environment variable `WEBREADER_API_KEY`, zoals elk voorbeeld hieronder doet, en geef elk project een eigen sleutel zodat je er één kunt intrekken zonder de andere aan te raken. *Installeren* ```bash pip install requests httpx export WEBREADER_API_KEY="your-key" ``` ## Hoe lees ik één pagina met requests? Stuur `url` en eventuele opties als query parameters, laat een HTTP-fout een exception geven, en lees de velden die je nodig hebt. Het voorbeeld bewaart de hoofdinhoud, begrenst die op 20.000 tekens voor een model, en print wat de call kostte. *requests: één pagina* ```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]) ``` ## Hoe lees ik veel pagina's tegelijk met httpx? Gebruik één `httpx.AsyncClient` en een `asyncio.Semaphore` op of onder je concurrency-limiet. Elk account heeft een limiet voor het aantal pagina's dat het tegelijk leest; je dashboard toont die, en support kan hem verhogen. Fouten van één pagina mogen de andere niet stoppen, dus het voorbeeld verzamelt ze naast de resultaten in plaats van een exception te laten optreden. Ga je boven de limiet, dan antwoordt de API met `429 concurrency_limit`; er wordt niets gefactureerd, maar de pagina wordt niet gelezen. De semaphore onder de limiet houden is eenvoudiger dan opnieuw proberen. *httpx: tot 10 pagina's tegelijk in behandeling* ```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"]) ``` ## Wanneer gebruik ik in plaats daarvan een batchjob? Wanneer je een lijst van maximaal 100 URL's hebt en niet elke pagina nodig hebt op het moment dat die klaar is. Een batchjob draait aan onze kant, dus je script houdt geen verbindingen open en doet geen retry-logica. Start hem met `POST https://webreaderapi.com/api/v1/batch` en haal de resultaten daarna op uit de job met de cursor-loop die je ziet op de [pagina over batches en crawlen](https://webreaderapi.com/nl/docs/crawl/). Voor een hele site start je in plaats daarvan een crawl en laat je die de sitemap en links volgen; dezelfde pagina heeft een complete loop die één `.md`-bestand per pagina schrijft. *Een batchjob starten* ```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"]) ``` ## Hoe splits ik de Markdown in chunks voor RAG? Splits eerst op koppen en daarna op grootte. Koppen markeren waar onderwerpen veranderen, dus een chunk die bij een kop begint, is makkelijker te matchen voor een retriever. Zet de paginatitel en het kop-pad in de metadata van elke chunk: ze helpen het model de juiste sectie te citeren. De functie hieronder heeft geen extra library nodig. Hij knipt bij `#` tot `###` koppen en splitst vervolgens elke lange sectie op lege regels om onder een karakterbudget te blijven. Sla `final_url` bij elke chunk op, zodat twee adressen die naar dezelfde pagina leiden geen duplicaten opleveren. *Markdown per kop in chunks splitsen* ```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 ``` ## Hoeveel kost een Python-job? Tel pagina's, niet requests. 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. Het lezen van 2.000 documentatiepagina's zonder browser kost ongeveer 2.000 credits, wat 10.000 pagina's (US$ 3,75) ruim vijf keer dekt. Prepaid credits verlopen nooit: ongebruikte pagina's blijven op je account staan tot je ze gebruikt, dus een pipeline die één keer per maand draait, gebruikt alleen wat hij leest. ## Python: veelgestelde vragen ### Is er een officieel Python-package? Nee. De code op deze pagina is alles wat je nodig hebt: WebReaderAPI is een gewone HTTPS API, en `requests` of `httpx` spreken die direct aan. ### Hoe ga ik om met een pagina die robots.txt weigert? Controleer de foutcode. `blocked_by_robots` en `target_refused` zijn definitief en gratis; leg ze vast en ga verder. De [foutenpagina](https://webreaderapi.com/nl/docs/errors/) heeft een retry-helper die alleen de codes opnieuw probeert die kunnen veranderen. ### Kan ik de API vanuit een Jupyter-notebook gebruiken? Ja. Het `requests`-recept werkt zoals het is. In een notebook vervangt `await read_many(urls)` de `asyncio.run`, omdat het notebook al een event loop draait. ### Welke timeout moet mijn client gebruiken? Iets meer dan die van de API zelf: de standaard is 30 seconden en het maximum 60, dus 75 seconden aan de clientkant laat ruimte voor een trage site en de response. --- 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. --- # Lees de endpoint-referentie: GET en POST /read > Lees de endpoint-referentie: elke parameter van GET en POST /read, van format tot max_chars, met voorbeelden. Vanaf US$ 0,07/1K pagina's, zonder KYC. - URL: https://webreaderapi.com/nl/docs/read/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) `/read` haalt één openbare pagina op, extraheert de hoofdinhoud en geeft die terug als Markdown, platte tekst of opgeschoonde HTML. Deze pagina noemt elke parameter, de standaardwaarde en wat die kost. **Kort antwoord — Welke parameters heeft het read-endpoint van WebReaderAPI?** Het `/read`-endpoint van **WebReaderAPI** heeft één parameter nodig, `url`. Optionele parameters bepalen de output (`format`), hoeveel van de pagina je behoudt (`main_content`), of er een browser draait (`render`), links en afbeeldingen, het leesland, een karakterlimiet en een timeout. Een gewone pagina kost 1 credit, 2 met een browser, vanaf US$ 0,07/1K pagina's per oktober 2026. Zonder KYC; betalen met crypto. ## /read at a glance | Kenmerk | Waarde | | --- | --- | | Methoden | `GET` met queryparameters, of `POST` met een JSON-body met dezelfde namen | | URL | `https://webreaderapi.com/api/v1/read` | | Vereist | `url`: een http- of https-adres, tot 2.048 tekens | | Standaardoutput | Markdown van de hoofdinhoud | | 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 | | Land | Het land kiezen van waaruit een pagina wordt gelezen kost 10 credits extra, omdat de pagina dan via een residential-verbinding in dat land wordt gelezen | | PDF | PDF-bestanden tot 20 MB en 100 pagina's worden omgezet naar Markdown, voor 1 credit per begonnen blok van 10 pagina's | | Identiteit van de crawler | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` | ## Lees één pagina (GET) `GET /api/v1/read` Haalt één openbare pagina op en geeft de hoofdinhoud terug als Markdown, met de metadata van de pagina. Parameters gaan in de query string, URL-gecodeerd. Het voorbeeld leest een blogpost; ID's, datums en waarden zijn illustratief. Authenticatie: API-sleutel in de `Authorization: Bearer API_KEY`-header. **Parameters** | Naam | In | Type | Vereist | Beschrijving | | --- | --- | --- | --- | --- | | `url` | query | string | Ja | De pagina om te lezen: http of https, maximaal 2.048 tekens. Privé-, lokale en cloud-metadata-adressen worden geweigerd. | | `format` | query | string | Nee | `markdown` (standaard), `text` (platte tekst, geen opmaak) of `html` (opgeschoonde HTML van de inhoud). | | `main_content` | query | boolean | Nee | `true` (standaard) behoudt alleen het artikel of de hoofdinhoud; `false` converteert de hele pagina, inclusief menu's en footer. | | `render` | query | string | Nee | `auto` (standaard) start alleen een browser wanneer de ruwe HTML te weinig tekst bevat; `true` altijd; `false` nooit. Een gerenderde pagina kost 2 credits. | | `include_links` | query | boolean | Nee | `true` voegt een `links`-lijst toe met `{url, text}`. Standaard `false`. | | `include_images` | query | boolean | Nee | `true` behoudt afbeeldingen als `![alt](src)` in de Markdown. Standaard `false`. | | `country` | query | string | Nee | Tweeletterige landcode (ISO 3166-1 alpha-2). De pagina wordt gelezen vanaf een adres in dat land, voor 10 extra credits (residential-verbinding). | | `max_chars` | query | integer | Nee | Kapt de output af op dit aantal tekens, van 1.000 tot 500.000. Handig om binnen de context van een model te passen. | | `timeout` | query | integer | Nee | Seconden om op de site te wachten, van 5 tot 60. Standaard 30. | | `api_key` | query | string | Nee | Je sleutel, als je de `Authorization` header niet meestuurt. | **Response** `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)); ``` ## Eén pagina lezen (POST) `POST /api/v1/read` Zelfde endpoint, zelfde parameters, verzonden als JSON-body. Gebruik POST bij voorkeur wanneer de URL erg lang is of wanneer je HTTP-client makkelijker JSON bouwt dan query strings. De respons is identiek aan de GET-vorm. Authenticatie: API-sleutel in de `Authorization: Bearer API_KEY`-header. **Request body** | Field | Type | Vereist | Beschrijving | | --- | --- | --- | --- | | `url` | string | Ja | De pagina om te lezen. | | `format`, `main_content`, `render`, `include_links`, `include_images`, `country`, `max_chars`, `timeout` | mixed | Nee | Zoals in de GET-tabel hierboven, met JSON-typen: booleans als `true`/`false`, getallen zonder aanhalingstekens. | *Voorbeeld: 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 } ``` **Response** `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); ``` ## Welk uitvoerformaat moet ik kiezen? Kies `markdown` voor taalmodellen en RAG: koppen, lijsten, tabellen en links blijven behouden en de tekst blijft compact. Kies `text` wanneer je alleen woorden telt, classificeert of zoekt en opmaak alleen ruis zou zijn. Kies `html` wanneer je eigen pipeline HTML al parseert en je alleen de rommel weg wilt hebben. De metadata-velden zijn in alle drie de formaten hetzelfde. Alleen de naam van het contentveld verandert: `markdown`, `text` of `html`. ## Wanneer moet ik main_content op false zetten? Zet het op `false` wanneer je juist de delen rond het artikel nodig hebt. Voorbeelden zijn de navigatie van een site om de secties in kaart te brengen, een footer met juridische of contactgegevens, of een productpagina waarvan de specificaties in een zijbalk staan. Met de standaardwaarde `true` houdt de extractor het blok met de hoofdinhoud en laat hij navigatie, cookiebanners, advertenties, deelknoppen en footers weg. Dat is wat de meeste agents en RAG-pipelines willen, en het reduceert een pagina vaak tot een fractie van de HTML-grootte. ## Hoe beslist render=auto om een browser te gebruiken? Eerst haalt het de ruwe HTML op, wat snel is en 1 credit kost. Bevat die HTML te weinig leesbare tekst, meestal een app die de pagina met JavaScript opbouwt, dan laadt het de pagina opnieuw in een headless browser en kost de aanroep 2 credits. De respons vertelt je welk pad is gelopen: `rendered` is `true` of `false`. Zet `render=false` wanneer je weet dat de site volledige HTML levert en je een vaste prijs wilt. Zet `render=true` voor single-page apps, om de eerste poging over te slaan. ## Wat veranderen country en max_chars? `country` leest de pagina vanaf een adres in het land dat je opgeeft, met dezelfde User-Agent. Gebruik het voor pagina's waarvan de prijzen, taal of beschikbaarheid per land verschillen. Het kost 10 credits extra, omdat de pagina dan via een residential-verbinding wordt gelezen, en het kan niet worden gebruikt met de landen waar de dienst niet actief is. `max_chars` kapt de uitvoer af na dat aantal tekens. Het verandert de prijs niet, maar het beschermt het contextvenster van een agent: 20.000 tekens is een verstandige standaard voor één pagina die je aan een model geeft. ## Kan /read PDF-bestanden verwerken? Ja. Wanneer de URL een PDF teruggeeft, komt de tekst terug als Markdown in hetzelfde `markdown`-veld. PDF-bestanden tot 20 MB en 100 pagina's worden omgezet naar Markdown, voor 1 credit per begonnen blok van 10 pagina's. Gescande PDF's zonder tekstlaag leveren weinig of geen tekst op, omdat er geen stap voor karakterherkenning is. ## Read-endpoint: veelgestelde vragen ### Volgt /read redirects? Ja, tot 5. De respons geeft het adres dat je hebt opgevraagd in `url` en het adres dat daadwerkelijk is gelezen in `final_url`. Een redirect naar een privé- of lokaal adres wordt geweigerd. ### Kan ik een pagina lezen waarvoor een login nodig is? Nee. 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. Pagina's achter een login of paywall geven de weigering van de site terug en de aanroep is gratis. ### Wordt de robots.txt-check bij elke aanroep gedaan? Ja, tegen een kopie van de robots.txt van de site die maximaal 24 uur oud is. Een niet-toegestane URL geeft `403 blocked_by_robots` terug en kost geen credit. ### Hoeveel pagina's kan ik tegelijk lezen? Elk account heeft een limiet voor het aantal pagina's dat het tegelijk leest; je dashboard toont die, en support kan hem verhogen. Voor veel URL's is een [batchjob](https://webreaderapi.com/nl/docs/crawl/) eenvoudiger dan veel parallelle aanroepen. --- 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. --- # Read API-responsformaat, veld voor veld > API-responsformaat: elk veld dat voor een pagina wordt teruggegeven, van markdown tot final_url, plus resultaten van jobs. Zonder KYC, betalen met crypto. - URL: https://webreaderapi.com/nl/docs/response/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Elke `/read`-aanroep geeft één JSON-object terug: de inhoud van de pagina in het formaat dat je hebt gevraagd, de metadata en drie velden die vertellen wat er is gebeurd en wat het heeft gekost. Resultaten van jobs hergebruiken hetzelfde object. **Kort antwoord — Wat bevat de read-respons van WebReaderAPI?** Een **WebReaderAPI** `/read`-respons bevat de paginainhoud in `markdown` (of `text` of `html`), de metadata (`title`, `description`, `author`, `published_at`, `language`, `site_name`, `word_count`) en de feiten van de fetch: `final_url`, `status_code`, `rendered` en `credits_used`. Een gewone pagina kost 1 credit, vanaf US$ 0,07/1K pagina's per oktober 2026. Zonder KYC; betalen met crypto. ## Welke velden beschrijven de fetch? Deze velden staan altijd in een geslaagde respons. | Field | Type | Betekenis | | --- | --- | --- | | `url` | string | Het adres dat je hebt gestuurd | | `final_url` | string | Het adres dat daadwerkelijk is gelezen, na redirects (maximaal 5) | | `status_code` | integer | De HTTP-status die de site voor het uiteindelijke adres teruggaf, normaal 200 | | `fetched_at` | string | Tijdstip van de fetch, ISO 8601 in UTC | | `rendered` | boolean | `true` wanneer een headless browser de pagina heeft opgebouwd | | `credits_used` | integer | Credits die voor deze pagina in rekening worden gebracht: 1, 2 met een browser, plus 10 met `country`; PDF's 1 per begonnen 10 pagina's | ## Welke velden beschrijven de pagina? Metadata komt van de pagina zelf: de title tag, meta tags, structured data en zichtbare byline. Een veld dat de pagina niet levert, ontbreekt, dus test erop voordat je het gebruikt. | Field | Type | Betekenis | | --- | --- | --- | | `title` | string | De titel van de pagina of het artikel | | `description` | string | De samenvatting die de pagina van zichzelf geeft | | `language` | string | Taalcode van de inhoud, zoals `en` of `de` | | `author` | string | De auteur die op de pagina wordt genoemd | | `published_at` | string | Publicatiedatum die de pagina vermeldt | | `site_name` | string | De eigen naam van de site | | `word_count` | integer | Woorden in de teruggegeven inhoud, na extractie en vóór `max_chars` | ## Waar staat de inhoud zelf? Er wordt één inhoudsveld teruggegeven, genoemd naar de `format` die je hebt gekozen. | Field | Wanneer | Inhoud | | --- | --- | --- | | `markdown` | `format=markdown` (standaard) | Koppen, paragrafen, lijsten, tabellen en links in Markdown; ook afbeeldingen met `include_images=true` | | `text` | `format=text` | Platte tekst, paragrafen gescheiden door lege regels | | `html` | `format=html` | Opgeschoonde HTML van de hoofdinhoud, zonder scripts, styles of advertenties | | `links` | `include_links=true` | Lijst met `{url, text}` voor de links die op de pagina zijn gevonden, absolute URL's | *Een volledig antwoord (waarden zijn ter illustratie)* ```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" } ] } ``` ## Hoe zie ik of een pagina gerenderd is of niet? Kijk naar `rendered`. Met `render=auto` leest de API eerst de ruwe HTML; pas als die HTML te weinig tekst bevat, start hij een browser, en dan zet hij `rendered` op `true` en `credits_used` op 2. Als een site die je vaak leest altijd gerenderd terugkomt, stuur dan vanaf het begin `render=true` mee: de kosten zijn hetzelfde en je slaat een verspilde eerste stap over. Komt een pagina ongerenderd maar met weinig tekst terug, vergelijk dan `word_count` met wat je in een browser ziet. Een laag aantal betekent meestal dat de inhoud JavaScript nodig heeft; probeer het nog één keer met `render=true`. ## Waarom kan final_url afwijken van url? Omdat sites doorverwijzen. Een korte link, een oud adres, een ontbrekende slash aan het eind of een taalwissel sturen je ergens anders heen. De API volgt tot 5 redirects en rapporteert het adres dat hij uiteindelijk heeft gelezen in `final_url`. Sla `final_url` op als de canonieke bron van een document in een RAG-index. Twee verschillende `url`-waarden die op dezelfde `final_url` uitkomen, zijn dezelfde pagina, dus je kunt het duplicaat weggooien voordat je het embed. ## Hoe ziet een job-resultaat eruit? `GET https://webreaderapi.com/api/v1/jobs/{job_id}` retourneert `job_id`, `status` (`queued`, `running` of `done`), `results`, `next_cursor` en de lopende `credits_used` van de job. Elk item van `results` heeft een van twee vormen: - een volledig `/read`-antwoord, precies zoals hierboven beschreven, voor een pagina die is gelezen; - `{url, error}` voor een pagina die dat niet is, waarbij `error` dezelfde `code` en `message` heeft als een [API-fout](https://webreaderapi.com/nl/docs/errors/). `next_cursor` is aanwezig zolang er meer resultaten klaarstaan; stuur het terug als `cursor` om ze op te halen. De [batch- en crawl-pagina](https://webreaderapi.com/nl/docs/crawl/) heeft een complete polling-loop. *Een job-resultaatpagina (waarden zijn ter illustratie)* ```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 } ``` ## Hoe ziet een foutantwoord eruit? Een fout komt terug met een HTTP-status van 400 of hoger en een JSON-body `{"error": {"code", "message"}}`. Als de site zelf het verzoek weigerde, geeft `target_status` de status die de site stuurde. Geen enkele fout wordt gefactureerd. De [foutenpagina](https://webreaderapi.com/nl/docs/errors/) somt elke code op met de oorzaak en of een nieuwe poging kan helpen. ## Antwoordformaat: veelgestelde vragen ### Wordt de Markdown afgekapt als ik max_chars instel? Ja. Het content-veld stopt bij dat aantal tekens. `word_count` beschrijft nog steeds de volledig geëxtraheerde inhoud, zodat je kunt zien hoeveel er is weggelaten. ### Waarom ontbreken author of published_at? Omdat de pagina het niet vermeldt op een manier die leesbaar is. Veel pagina's geven geen auteur of datum. Ontbrekende velden worden weggelaten in plaats van leeg teruggegeven. ### Zijn de links in de Markdown absoluut? Links in de `links`-lijst zijn absoluut. Schrijf je code zo dat beide vormen in de Markdown-body worden geaccepteerd, en los relatieve links op tegen `final_url`. ### Kan ik de ruwe HTML van de hele pagina krijgen? Het dichtst in de buurt komt `format=html` met `main_content=false`, dat de hele pagina teruggeeft, ontdaan van scripts en styles. De originele byte-voor-byte HTML maakt geen deel uit van v1. --- 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. --- # WebReaderAPI FAQ > WebReaderAPI FAQ: 30 antwoorden over de web reader API: prijs per pagina, JavaScript en PDF's, crawls, robots.txt, KYC, cryptobetalingen en AI-agents. - URL: https://webreaderapi.com/nl/faq/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Antwoorden op wat developers, AI-builders en site-eigenaren het vaakst vragen over webpagina's naar Markdown omzetten met WebReaderAPI. Elk antwoord begint met het antwoord. **Kort antwoord — Wat vragen mensen het vaakst over WebReaderAPI?** Meestal de prijs per pagina, hoe JavaScript-pagina's en PDF's worden geteld, en wat er gebeurt als een site robots weigert. Kort gezegd: **WebReaderAPI** rekent één credit per gelezen pagina, twee met een browser, vanaf US$ 0,07/1K pagina's per oktober 2026; geweigerde of mislukte pagina's kosten niets; robots.txt wordt altijd gerespecteerd. Geen KYC; betalen met crypto. ## Prijs en credits ### Hoeveel kost WebReaderAPI? Prepaid packs kosten US$ 3,75 voor 10.000 pagina's, US$ 21,75 voor 100.000 pagina's en US$ 74,25 voor 1.000.000 pagina's, per oktober 2026. Het tarief daalt naar US$ 0,07/1K pagina's bij het 5.000.000 pagina's pack. De [pricing page](https://webreaderapi.com/nl/pricing/) vermeldt elk pack. ### Wat koop je met één credit? Eén gelezen pagina zonder browser. Een pagina die JavaScript-rendering nodig heeft, gebruikt twee credits, en lezen vanuit een gekozen land kost één extra. De response vertelt je wat er is gebruikt in `credits_used`, zodat je de kosten per pagina in je eigen logs kunt bijhouden. ### Verlopen credits? Nee. Prepaid credits verlopen nooit: ongebruikte pagina's blijven op je account staan tot je ze gebruikt. Een pack dat je voor een eenmalige crawl hebt gekocht, houdt de ongebruikte pagina's voor je volgende project. ### Word ik belast als een pagina niet kan worden gelezen? Nee. Errors kosten geen credit, of de oorzaak nu aan onze kant, het netwerk of de website ligt. Dat geldt ook voor pagina's die worden geweigerd door robots.txt, door een `ai-input=no`-signaal of door het antwoord van de site zelf. ### Is er een gratis tier? Nee. 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. ### Wat is het kleinste bedrag dat ik kan besteden? De minimale top-up is US$ 25. Het kleinste pack, 10.000 pagina's, kost US$ 3,75; de rest van de top-up blijft op je saldo voor latere packs of kan binnen 30 dagen worden teruggevraagd als het niet is besteed. ## Wat de API leest en teruggeeft ### Kan WebReaderAPI pagina's lezen die met JavaScript zijn gebouwd? Ja. JavaScript-rendering in een headless browser wanneer de pagina het nodig heeft (render=auto), of altijd, of nooit. Met `render=auto` wordt een browser alleen gebruikt als de ruwe HTML te weinig tekst bevat, zodat eenvoudige pagina's op één credit blijven. ### Kan het PDF-bestanden converteren? Ja. PDF-bestanden tot 20 MB en 100 pagina's worden omgezet naar Markdown, voor 1 credit per begonnen blok van 10 pagina's. Stuur de URL van de PDF naar hetzelfde `/read` endpoint; de tekst komt terug als Markdown. ### Kan ik een hele website lezen? Ja, met een crawl job. Crawl één website per job, tot 10.000 pagina's, volgens de sitemap, de robots.txt en de Crawl-delay. Je kunt het beperken tot paden zoals `/docs/*`; elke gelezen pagina gebruikt credits zoals een enkel request. ### Hoeveel URL's kan ik tegelijk sturen? Tot 100 URL's per batch-job. Een batch draait als een job: je stuurt de lijst, ontvangt een `job_id` en haalt elk resultaat op wanneer de job klaar is. ### Hoe houd ik een pagina binnen het context window van mijn model? Stel `max_chars` in. De Markdown wordt op die lengte afgekapt, van 1.000 tot 500.000 tekens. Samen met `main_content=true` houdt dit lange pagina's binnen een voorspelbaar tokenbudget. ### Behoudt de Markdown tabellen, codeblokken en links? Ja. Headings, lijsten, tabellen, codeblokken en links behouden hun Markdown-vorm. Links staan inline; voeg `include_links=true` toe om ze ook als aparte lijst te krijgen, en `include_images=true` om afbeeldingen te behouden. ### Wat betekent "hoofdinhoud"? Het deel van de pagina waarvoor een lezer kwam: het artikel, de documentatie of de productbeschrijving. Met `main_content=true`, de standaard, worden menu's, cookiebanners, advertenties, sidebars en footers verwijderd. Zet het op `false` om de hele pagina om te zetten. ### Kan ik een pagina lezen zoals die in een ander land verschijnt? Ja, met de `country` parameter en een landcode van twee letters. Het land kiezen van waaruit een pagina wordt gelezen kost 10 credits extra, omdat de pagina dan via een residential-verbinding in dat land wordt gelezen. Sommige sites wijzigen prijzen, taal of inhoud per land. ## robots.txt en geweigerde pagina's ### Respecteert WebReaderAPI robots.txt? Altijd. We respecteren robots.txt: onze crawler identificeert zich als WebReaderAPI, volgt de regels die voor hem of voor alle robots zijn geschreven, en leest geen pagina die een site niet toestaat. Geweigerde pagina's worden niet in rekening gebracht. De [botpagina](https://webreaderapi.com/nl/bot/) toont de user agent en hoe site-eigenaren die kunnen toestaan of weigeren. ### Wat gebeurt er met sites die beschermd zijn door Cloudflare of een andere botfilter? Als de site onze crawler doorlaat, wordt de pagina normaal gelezen. Als de site weigert of antwoordt met een challengepagina, geven we dat antwoord terug als `target_refused` en rekenen we niets. We proberen nooit een challenge te omzeilen. ### Kan WebReaderAPI pagina's lezen achter een login of een paywall? Nee, nooit, ook niet met inloggegevens die je aanlevert. Content waarvoor een account of een abonnement nodig is, valt buiten scope, en erom vragen schendt het [Acceptable Use Policy](https://webreaderapi.com/nl/acceptable-use/). ### Wat is het ai-input=no-signaal? Een regel die sommige sites toevoegen aan robots.txt, uit het Content Signals Policy, om te weigeren dat hun pagina's als input voor AI-antwoorden worden gebruikt. Als een site Content-Signal: ai-input=no in zijn robots.txt aangeeft, lezen we de pagina's niet voor je; de API retourneert `blocked_by_site_policy`, gratis. ### Is webpagina's lezen voor AI legaal? Dat hangt af van de content, het land en wat je met de tekst doet. robots.txt respecteren en uit de buurt blijven van persoonsgegevens en paywalls verlaagt het risico. Ons [overzicht van de regels](https://webreaderapi.com/nl/guides/is-reading-web-pages-for-ai-legal/) vat de belangrijkste punten samen; het is geen juridisch advies. ## Account, betaling en privacy ### Moet ik mijn identiteit verifiëren? Nee. WebReaderAPI vraagt geen ID, geen selfie, geen bedrijfsdocumenten en geen kaart. Inloggen met je accountnummer; e-mail is optioneel. De [no-KYC-pagina](https://webreaderapi.com/nl/no-kyc-web-reader-api/) legt uit wat nog wel geldt. ### Met welke cryptocurrencies kan ik betalen? BTC, USDT, USDC, ETH, SOL, LTC. USDT werkt op TRC-20 of ERC-20, USDC op ERC-20. Stuur het exacte bedrag dat wordt getoond, klik op "I've sent the payment" en de top-up wordt bijgeschreven zodra de betaling is bevestigd. ### Kan ik een terugbetaling krijgen? Ja, naar je saldo. Een pack dat voor minder dan 20% is gebruikt, gaat binnen 72 uur na aankoop terug, en een pack dat nooit heeft gewerkt wordt volledig gecrediteerd. Het [terugbetalingsbeleid](https://webreaderapi.com/nl/refunds/) bevat de exacte regel en drie voorbeelden. ### Hoe werken API-sleutels? Maak meerdere API-sleutels aan, bijvoorbeeld één per agent of project, en trek ze allemaal in vanuit je dashboard. Stuur je API-sleutel mee in de Authorization-header als Bearer-token, of in de queryparameter api_key. Eén sleutel per applicatie of agent maakt het makkelijk om er één in te trekken zonder de andere te stoppen. ### Wat loggen jullie over mijn verzoeken? De hostnaam van elke pagina, nooit de volledige URL of de inhoud, plus de tijd, status en credits, gedurende 30 dagen. We bewaren geen kopie van de pagina's die je leest. Het [privacybeleid](https://webreaderapi.com/nl/privacy/) bevat de details. ## Developers en AI-agents ### Is er code voor Python en Node.js? Ja. De [Python](https://webreaderapi.com/nl/docs/python/)- en [Node.js](https://webreaderapi.com/nl/docs/node/)-gidsen tonen losse reads, batches, crawls en retries, en de [quick start](https://webreaderapi.com/nl/docs/) heeft een curl-voorbeeld. Je hebt geen SDK-pakket nodig: de API is gewoon HTTPS met JSON. ### Kunnen Claude, Cursor of een andere MCP-client WebReaderAPI gebruiken? Ja, via een kleine MCP-server die je zelf draait, gedocumenteerd op de [MCP-pagina](https://webreaderapi.com/nl/docs/mcp/). Die biedt een tool die een URL aanneemt en de pagina als Markdown teruggeeft. ### Werkt het met LangChain en LlamaIndex? Ja. De [LangChain and LlamaIndex-pagina](https://webreaderapi.com/nl/docs/langchain/) toont een document loader die URL's omzet in documenten met hun metadata, klaar voor chunking en embedding. ### Hoeveel pagina's kan ik tegelijk lezen? Elk account heeft een limiet voor het aantal pagina's dat het tegelijk leest; je dashboard toont die, en support kan hem verhogen. Crawls volgen ook de `Crawl-delay` van elke site, dus een grote crawl van één domein kan langer duren dan het aantal pagina's suggereert. ### Wie runnen WebReaderAPI? SerpGoat LLC. Zie de [about-pagina](https://webreaderapi.com/nl/about/) voor hoe de dienst werkt en hoe je een persoon bereikt. E-mailsupport antwoordt binnen 12 uur, elke dag van de week, ook bij hulp met crawls en integraties. ### Hoe snel is een read? Dat hangt vooral af van de website en van of er een browser nodig is. We publiceren geen snelheidscijfer tot we er een hebben gemeten over een publieke steekproef; zodra we dat doen, verschijnt het met methode en datum op de [statuspagina](https://webreaderapi.com/nl/status/). --- 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. --- # Woordenlijst voor web reader API's > Woordenlijst van 36 termen voor het lezen van webpagina's met een API: Markdown, hoofdinhoud, JavaScript-rendering, robots.txt, Content Signals, RAG en meer. - URL: https://webreaderapi.com/nl/glossary/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) De woorden die je tegenkomt wanneer je webpagina's omzet in tekst voor taalmodellen, van de HTML-kant tot de AI-kant, met links naar waar elke term in de docs van belang is. **Kort antwoord — Wat betekenen de belangrijkste termen voor web reader API's?** Een web reader API haalt een pagina op, houdt de **hoofdinhoud** en geeft die terug als **Markdown** die een model kan lezen. **WebReaderAPI** voegt **JavaScript-rendering** toe wanneer een pagina een browser nodig heeft, volgt **robots.txt** en **Content Signals**, en rekent één **credit** per pagina, vanaf US$ 0,07/1K pagina's per oktober 2026. De 36 termen hieronder leggen de rest uit. ## Van de webpagina-kant **HTML** — De opmaaktaal van webpagina's. Ruwe HTML vermengt de tekst die je wilt met tags, scripts en styling, waardoor het slecht leesbaar is voor een taalmodel. **DOM** — Het Document Object Model: de boom van elementen die een browser uit HTML opbouwt en vervolgens met JavaScript wijzigt. Een gerenderde pagina wordt uit de DOM gelezen, niet uit de ruwe HTML. **JavaScript-rendering** — De scripts van een pagina in een browser uitvoeren, zodat content die na het eerste antwoord wordt geladen, verschijnt. WebReaderAPI doet dit wanneer nodig (`render=auto`), voor twee credits in plaats van één. **Headless browser** — Een echte browser-engine die zonder scherm draait en door software wordt aangestuurd. Zo worden JavaScript-zware pagina's op een server gerenderd. **Hoofdinhoud extraheren** — Het deel van een pagina vinden waar een lezer voor kwam, zoals het artikel of de documentatie, en al het overige weglaten. In onze API is dit `main_content=true`, de standaard. **Readability** — Zowel een eigenschap van tekst als de naam van een bekende familie algoritmes die paginablokken beoordelen om de hoofdinhoud te vinden, zoals leesmodi in browsers doen. **Boilerplate** — Tekst die op elke pagina van een site terugkomt: menu's, cookieberichten, zijbalken, footers, deelknoppen. Het verwijderen ervan is het grootste deel van het werk van een web reader. **Markdown** — Een platte-tekstformaat waarin `#` een kop markeert, `-` een lijstitem en `[text](url)` een link. Modellen lezen het goed en het gebruikt veel minder tokens dan HTML. **Metadata** — Feiten over een pagina in plaats van de tekst: titel, beschrijving, auteur, publicatiedatum, taal. WebReaderAPI geeft ze naast de Markdown terug wanneer de pagina ze vermeldt. **PDF-extractie** — De tekst van een PDF-bestand omzetten naar Markdown. PDF-bestanden tot 20 MB en 100 pagina's worden omgezet naar Markdown, voor 1 credit per begonnen blok van 10 pagina's. **Sitemap** — Een XML-bestand waarin een site haar pagina's opsomt. Een crawlopdracht begint ermee wanneer het bestaat, wat pagina's sneller en met minder requests vindt. **Paywall** — Een barrière die content alleen aan abonnees toont. WebReaderAPI leest er nooit achter. ## Vanuit de crawler gezien **Crawler** — Een programma dat webpagina's ophaalt voor een doel. Het onze haalt alleen de pagina's op die klanten aanvragen, en de [botpagina](https://webreaderapi.com/nl/bot/) beschrijft het. **User-Agent** — De naam die een client met elk request meestuurt. De onze is `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, zodat site-eigenaren altijd weten wie er vraagt. **robots.txt** — Een bestand in de root van een site dat crawlers vertelt welke paden ze mogen ophalen, gestandaardiseerd als RFC 9309. We respecteren robots.txt: onze crawler identificeert zich als WebReaderAPI, volgt de regels die voor hem of voor alle robots zijn geschreven, en leest geen pagina die een site niet toestaat. Geweigerde pagina's worden niet in rekening gebracht. **Crawl-delay** — Een regel in robots.txt die crawlers vraagt een aantal seconden tussen requests te wachten. Onze crawlopdrachten respecteren die. **Content Signals** — Een beleid voor robots.txt-regels zoals `Content-Signal: search=yes, ai-input=no`, die aangeven hoe de content van een site mag worden gebruikt, ook door AI. **ai-input** — De Content Signals-instelling die het gebruik van een pagina als input voor een AI-antwoord dekt. Als een site Content-Signal: ai-input=no in zijn robots.txt aangeeft, lezen we de pagina's niet voor je. **llms.txt** — Een Markdown-bestand dat sommige sites op `/llms.txt` publiceren om taalmodellen een korte gids te geven over hun content en hun belangrijkste pagina's. **Crawlen** — Veel pagina's van één site lezen door de links en de sitemap te volgen. Crawl één website per job, tot 10.000 pagina's, volgens de sitemap, de robots.txt en de Crawl-delay. **Batch job** — Een lijst URL's die in één request wordt verstuurd en op de achtergrond wordt verwerkt. Tot 100 URL's per batch-job. **HTTP 403** — De status die een server stuurt om een request te weigeren. Wanneer een site 403 antwoordt aan onze crawler, geeft de API `target_refused` terug en rekent niets aan. **HTTP 429** — De status voor te veel verzoeken. Vanaf een site betekent het: rustiger aan doen; vanaf onze API (`concurrency_limit`) betekent het dat je account de limiet voor gelijktijdige reads heeft bereikt. **Exponentiële backoff** — Na elke mislukte poging langer wachten (bijvoorbeeld 1, 2 en dan 4 seconden) voordat je het opnieuw probeert, zodat een drukke server niet wordt overspoeld. ## Van de AI-kant **Token** — De eenheid die een taalmodel leest en waarvoor het factureert, ruwweg een kort woord of een deel ervan. Schone Markdown gebruikt veel minder tokens dan dezelfde pagina in HTML. **Contextvenster** — De hoeveelheid tekst die een model in één keer kan verwerken. Met de parameter `max_chars` blijft elke pagina binnen het budget dat je instelt. **RAG** — Retrieval-augmented generation: het model antwoordt op basis van documenten die voor de vraag zijn opgehaald. Een web reader levert die documenten uit live pagina's. **Chunking** — Een lang document opsplitsen in passages voordat je het indexeert. Markdown-koppen geven natuurlijke splitsingspunten. **Embedding** — Een lijst getallen die de betekenis van een passage weergeeft, gebruikt om passages te vinden die op een vraag lijken. **Vector store** — Een database die embeddings opslaat en de passages teruggeeft die het dichtst bij een query liggen; de gebruikelijke plek voor gechunkte webpagina's in een RAG-systeem. **Tool calling** — Het vermogen van een model om de applicatie te vragen een functie uit te voeren, zoals een URL lezen, en het resultaat te gebruiken. Zie [OpenAI function calling](https://webreaderapi.com/nl/docs/openai/). **MCP** — Het Model Context Protocol, een standaardmanier om tools aan te sluiten op AI-clients zoals Claude Desktop of Cursor. Onze [MCP-pagina](https://webreaderapi.com/nl/docs/mcp/)] toont een fetch-tool die op de API is gebouwd. ## Van de factureringskant **Credit** — De eenheid van gebruik van de API. 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. **Concurrency** — Hoeveel reads je account op hetzelfde moment kan uitvoeren. Elk account heeft een limiet voor het aantal pagina's dat het tegelijk leest; je dashboard toont die, en support kan hem verhogen. **KYC** — Know your customer: identiteitscontroles die sommige diensten vereisen, zoals een identiteitsbewijs of een selfie. WebReaderAPI vraagt er geen. **Stablecoin** — Een cryptocurrency die een valuta zoals de US-dollar volgt. USDT en USDC zijn de twee die worden geaccepteerd voor top-ups; de volledige lijst met coins staat BTC, USDT, USDC, ETH, SOL, LTC. --- 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. --- # Een webpagina naar Markdown converteren voor een LLM > Converteer een webpagina naar Markdown voor een LLM in 2026: drie methoden, wat schone Markdown behoudt en Python-code die het in chunks splitst. - URL: https://webreaderapi.com/nl/guides/convert-web-page-to-markdown/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Kopiëren en plakken werkt voor één pagina. Een library werkt als je je eigen crawler draait. Een API werkt als je één verzoek per pagina wilt. Zo kies je, zo ziet goede output eruit, en dit is code die je kunt hergebruiken. **Kort antwoord — Hoe converteer ik een webpagina naar Markdown voor een LLM?** Haal de pagina op, behoud alleen de hoofdinhoud, zet vervolgens koppen, lijsten, tabellen en links om naar Markdown en beperk de lengte tot het budget van je model. Je kunt het handmatig doen, met open-source libraries, of met één API-call: **WebReaderAPI** geeft de Markdown en metadata terug voor één credit per pagina, vanaf US$ 0,07/1K pagina's per oktober 2026. Zonder KYC; betalen met crypto. ## Drie manieren om Markdown uit een webpagina te halen | Kenmerk | Waarde | | --- | --- | | Handmatig | Kopieer de tekst uit de browser of de reader-weergave; prima voor een paar pagina's | | Open-source libraries | Readability, Trafilatura, MarkItDown of Crawl4AI binnen je eigen fetcher | | Een web reader API | `GET https://webreaderapi.com/api/v1/read?url=…` retourneert Markdown, titel, auteur en datum | | Lengtebeheer | `max_chars` op WebReaderAPI, of knip de tekst zelf na de conversie | | JavaScript-pagina's | Je hebt een headless browser nodig; WebReaderAPI rendert ze wanneer nodig, voor 2 credits | ## Welke methode moet ik gebruiken? Kies op basis van volume en hoeveel infrastructuur je zelf wilt draaien. | Methode | Geschikt voor | Jij regelt | |---|---|---| | Kopiëren en plakken | Een handvol pagina's, een eenmalige prompt | Handmatig opschonen | | Library in je code | Regelmatige volumes, volledige controle | Ophalen, browsers, robots.txt, PDF's, retries | | Web reader API | Agents en pipelines die veel sites lezen | Alleen de request en het resultaat | Libraries geven je controle en geen kosten per pagina. De prijs is operationeel: een headless browser voor JavaScript-pagina's, een robots.txt-check, karaktercodering en redirects afhandelen, en een apart pad voor PDF's. Een API vat dat allemaal samen in één HTTP-call. ## Wat moet goede Markdown behouden, en wat mag eruit? Goede Markdown behoudt elk element dat betekenis draagt en laat alles weg wat alleen bestaat voor layout of marketing. - **Behoud koppen** als `#`, `##` en `###`: ze vertellen het model, en je chunker, waar elk onderwerp begint. - **Behoud lijsten en tabellen** als Markdown-lijsten en pipe-tabellen, zodat stappen en cijfers leesbaar blijven. - **Behoud links** als `[text](url)`: ze laten een assistent bronnen citeren en volgen. - **Behoud codeblokken** met fences, met de taal erbij wanneer de pagina die toont. - **Laat menu's, cookie-meldingen, advertenties, widgets met gerelateerde berichten en footers weg**: die herhalen zich op elke pagina en vervuilen retrieval. Controleer het resultaat op een paar van je echte pagina's. Extractietools verschillen het meest bij forums, lange tabellen en pagina's met meerdere artikelen. ## Hoeveel kleiner is Markdown dan HTML? Meestal veel kleiner, omdat pagina-opsmuk en markup verdwijnen. Toen Cloudflare op 12 februari 2026 zijn Markdown for Agents-functie lanceerde, ging de voorbeeldpagina van 16.180 tokens als HTML naar 3.150 tokens als Markdown, ongeveer 80% minder. Je eigen verhouding hangt af van de site. Lange artikelen krimpen procentueel minder dan korte pagina's in zware templates. Meet het op je bronnen voordat je een budget bepaalt. ## Hoe houd ik een pagina binnen het tokenbudget van mijn model? Beperk de tekst voordat die het model bereikt, en splits daarna wat overblijft op koppen. Met WebReaderAPI knipt de parameter `max_chars` de Markdown af op een vaste lengte, tussen 1.000 en 500.000 tekens. Het veld `word_count` vertelt je hoe lang het volledige artikel was, zodat een agent kan beslissen of de rest lezen de moeite waard is. Splits voor retrieval eerst op koppen en knip pas daarna lange secties. Een chunk die met zijn eigen kop begint, behoudt zijn onderwerp; een chunk die midden in een zin uit een lange pagina is geknipt, niet. *Python: lees een pagina als Markdown en splits die in chunks op basis van koppen* ```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]) ``` ## Wat gaat er meestal mis, en hoe herken ik het? Vier problemen veroorzaken de meeste slechte conversies: - **Lege output.** De pagina bouwt zijn inhoud met JavaScript op. Let op een lage `word_count`; render de pagina in een browser, of zet `render=true`. - **Cookie- of consenttekst in het resultaat.** De extractor heeft een banner behouden. Geef de voorkeur aan hoofdinhoud extraheren en controleer de eerste regels van elk resultaat. - **Ontbrekende tabellen.** Sommige sites tekenen tabellen als afbeeldingen of canvas-elementen; geen enkele tekstextractor kan die lezen. - **Een weigering in plaats van een pagina.** De site stond robots niet toe in robots.txt of weigerde het verzoek. Respecteer dat: vraag de eigenaar om toegang, of gebruik een officiële API of feed als de site die biedt. Geen van deze lost zich op door sneller te retryen. Lees de fout, en verander dan de methode of de bron. ## Webpagina naar Markdown: veelgestelde vragen ### Is Markdown beter dan platte tekst voor een LLM? Voor de meeste pagina's wel. Markdown behoudt koppen, lijsten, tabellen en links tegen een kleine tokenkost, zodat het model structuur ziet en bronnen kan citeren. Platte tekst is iets korter maar verliest die structuur. ### Kan ik een hele website converteren, niet alleen één pagina? Ja. Crawl de site en converteer elke pagina. WebReaderAPI's [crawl API](https://webreaderapi.com/nl/crawl-api/) doet beide in één job: Crawl één website per job, tot 10.000 pagina's, volgens de sitemap, de robots.txt en de Crawl-delay. ### Kan ik een PDF op dezelfde manier converteren? Ja, door de URL van de PDF naar hetzelfde endpoint te sturen. PDF-bestanden tot 20 MB en 100 pagina's worden omgezet naar Markdown, voor 1 credit per begonnen blok van 10 pagina's. ### En pagina's achter een login? Converteer ze niet via een externe dienst, tenzij ze van jou zijn en je ze zelf hebt geëxporteerd. WebReaderAPI leest alleen openbare pagina's en logt nooit in op accounts. ### Is er een gratis manier om dit te doen? Open-source libraries zijn gratis te gebruiken en draaien op je eigen machines. WebReaderAPI heeft geen gratis tier; het kleinste pack is 10.000 pagina's voor US$ 3,75, betalen met crypto zonder KYC. ## Bronnen 1. [Markdown for Agents geïntroduceerd](https://blog.cloudflare.com/markdown-for-agents/) — Cloudflare (2026-02-12) --- 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. --- # Is webpagina's lezen voor AI legaal? De gedateerde feiten in 2026 > Mag je in 2026 webpagina's lezen voor AI-agents en RAG? EU opt-outregels, de GPAI-code over robots.txt en lopende Amerikaanse zaken. Geen juridisch advies. - URL: https://webreaderapi.com/nl/guides/is-reading-web-pages-for-ai-legal/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Er is geen eenduidig antwoord, en meerdere zaken zijn nog open. Deze pagina zet de regels en rechtszaken op een rij die ertoe doen bij het lezen van openbare pagina's met een AI-tool, met data en bronnen, en wat wij aan onze kant doen. Het is geen juridisch advies. **Kort antwoord — Is het legaal om webpagina's te lezen met een AI-tool?** Openbare pagina's lezen is wijdverbreid gebruik, maar de regels hangen af van het land, de inhoud en hoe er toegang wordt verkregen. In de EU beperken machineleesbare opt-outs zoals robots.txt text and data mining. In de VS lopen meerdere zaken uit 2025–2026 over AI en geautomatiseerde toegang, zonder eindvonnis. **WebReaderAPI** respecteert robots.txt en AI opt-outs; geen KYC, crypto. Geen juridisch advies. ## Belangrijke data | Kenmerk | Waarde | | --- | --- | | 17 april 2019 | EU DSM-richtlijn, artikel 4(3): commerciële text and data mining kan worden voorbehouden via machineleesbare middelen | | 10 juli 2025 | EU GPAI-gedragscode: ondertekenaars verbinden zich aan crawlers die robots.txt lezen en volgen | | 5 december 2025 | The New York Times klaagt Perplexity aan wegens het ophalen van hun content (beweringen) | | 31 juli 2026 | Reddit v. SerpApi en Perplexity: DMCA §1201(a)-claims overleven een motion to dismiss (beweringen) | | Gemeld op 5 augustus 2026 | Ninth Circuit vernietigt het bevel van Amazon tegen Perplexity's Comet-agent | ## Wat zegt EU-recht over het lezen van webcontent? EU-recht staat tekst- en datamining van rechtmatig toegankelijke content toe, maar laat rechthebbenden dit voorbehouden. Artikel 4(3) van de DSM-richtlijn (2019/790) bepaalt dat de commerciële uitzondering alleen geldt wanneer gebruik niet uitdrukkelijk is voorbehouden "op een passende manier, zoals via machineleesbare middelen" voor online gepubliceerde content. De gedragscode voor general-purpose AI-modellen van de EU AI Act, gepubliceerd op 10 juli 2025, gaat verder voor de ondertekenaars ervan. Zij verbinden zich aan crawlers die robots.txt lezen en volgen, en aan andere passende machineleesbare protocollen. Daarom is het respecteren van robots.txt en aangegeven AI-voorkeuren een basis geworden voor Europees gebruik. ## Welke Amerikaanse zaken zijn relevant, en hoe staan ze ervoor? Geen enkele heeft een definitief vonnis opgeleverd over het lezen van openbare pagina's voor AI. De feiten tot nu toe zijn allemaal beweringen, tenzij een rechter erover heeft beslist: - **Reddit v. SerpApi, Perplexity en anderen (S.D.N.Y.).** Op 31 juli 2026 liet de rechter claims onder DMCA §1201(a) doorgaan in de pleading-fase, waarbij de op challenge gebaseerde beschermingen van Google werden behandeld als maatregelen die toegang beheersen. Geen enkele gedaagde is aansprakelijk bevonden. - **The New York Times v. Perplexity.** Ingediend op 5 december 2025. De Times stelt dat hun content tijdens de zoekopdracht werd opgehaald nadat zij Perplexity in robots.txt hadden geblokkeerd. - **Amazon v. Perplexity.** Zoals gemeld op 5 augustus 2026 vernietigde het Ninth Circuit een bevel tegen Perplexity's Comet-shoppingagent, met de opmerking dat de assistent handelde op instructies van zijn gebruiker. Het panel zei geen brede regel voor agentic AI te hebben vastgesteld. De richting is gemengd, en hoger beroep loopt door. Behandel elke samenvatting, ook deze, als gedateerd. ## Wat verlaagt het risico wanneer een AI-tool pagina's leest? Een paar praktijken komen terug in elke regel en zaak hierboven: - **Lees alleen openbare pagina's.** Geen logins, geen ledengedeeltes, geen paywalls. - **Respecteer machineleesbare opt-outs.** robots.txt en aangegeven AI-voorkeuren, zoals `ai-input=no`. - **Omzeil nooit een beveiliging.** Geen vermomde user agents, geen roterende adressen om blokkades te ontwijken, geen challenge-oplossing. - **Vermijd persoonsgegevens.** Verzamel geen profielen, contactgegevens of andere data over privépersonen. - **Vermeld je bronnen.** Bewaar de URL bij elke pagina en toon die wanneer een antwoord erop leunt. Dit is good practice, geen garantie. Vraag een jurist naar je eigen use case. ## Wat doet WebReaderAPI van zijn kant? We hebben de dienst rond die praktijken gebouwd. We respecteren robots.txt: onze crawler identificeert zich als WebReaderAPI, volgt de regels die voor hem of voor alle robots zijn geschreven, en leest geen pagina die een site niet toestaat. Geweigerde pagina's worden niet in rekening gebracht. Als een site Content-Signal: ai-input=no in zijn robots.txt aangeeft, lezen we de pagina's niet voor je. 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. Ons [Acceptable Use Policy](https://webreaderapi.com/nl/acceptable-use/) verbiedt het verzamelen van persoonsgegevens over privépersonen en het lezen van content achter een login of een paywall. Elke request identificeert zich als `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, en onze [crawler-pagina](https://webreaderapi.com/nl/bot/) vertelt site-eigenaren hoe ze ons kunnen bereiken. ## Juridische vragen ### Maakt het respecteren van robots.txt mijn gebruik legaal? Niet op zichzelf. Het beantwoordt de EU-opt-outvraag en toont goede trouw, maar auteursrecht, contracten, privacyrecht en de voorwaarden van elke site gelden nog steeds. Dit is geen juridisch advies. ### Mag ik de pagina's die ik lees opslaan? Dat hangt af van de content, je doel en je jurisdictie. WebReaderAPI bewaart geen kopie van de pagina's die het voor je leest; wat je aan jouw kant opslaat is jouw beslissing en jouw verantwoordelijkheid. ### Is een pagina lezen voor één gebruiker anders dan een site crawlen? Sommige leveranciers en één appèlpanel hebben een door de gebruiker aangestuurde agent anders behandeld dan een crawler. De wet is niet uitgekristalliseerd, dus WebReaderAPI past dezelfde robots.txt-regels op beide toe. ### Waar kan ik meer lezen? Onze [robots.txt-gids](https://webreaderapi.com/nl/guides/robots-txt-for-ai-agents/) behandelt de standaarden, en de bronnen hieronder linken naar de teksten en rapporten. Vraag voor je eigen situatie een jurist in je jurisdictie. ## Bronnen 1. [Richtlijn (EU) 2019/790, artikel 4](https://www.legislation.gov.uk/eudr/2019/790/article/4) — legislation.gov.uk (read 2026-10-22) 2. [AI Office publiceert definitieve versie van de gedragscode voor general-purpose AI-modellen](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 klaagt AI-zoekmachine Perplexity aan](https://the-decoder.com/nyt-sues-ai-search-engine-perplexity-for-alleged-content-misuse/) — The Decoder (read 2026-10-22) 5. [Amerikaanse rechter vernietigt bevel van Amazon tegen Perplexity](https://www.retail-insight-network.com/news/us-court-overturns-amazon-injunction-perplexity/) — Retail Insight Network (2026-08-05) --- 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. --- # llms.txt-generator: bouw het bestand op basis van een crawl van je eigen site > Genereer een llms.txt-bestand voor je website met een Python-script dat elke pagina als Markdown leest en samenvat. Data van 2026. - URL: https://webreaderapi.com/nl/guides/llms-txt-generator/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Een llms.txt-bestand vermeldt de belangrijkste pagina's van een site, met een regel per pagina, in Markdown die modellen makkelijk lezen. Deze gids geeft eerlijke adoptiecijfers, en daarna een script dat je site crawlt en het bestand voor je schrijft. **Kort antwoord — Hoe genereer ik een llms.txt-bestand voor mijn website?** Crawl je eigen site, neem de titel en eerste alinea van elke pagina, en schrijf ze als een Markdown-lijst onder de naam van je site in een bestand op `/llms.txt`. **WebReaderAPI** doet de crawl: tot 10.000 pagina's per taak, als Markdown met metadata, voor één credit per pagina vanaf US$ 0,07/1K pagina's per oktober 2026. Het Python-script hieronder schrijft het bestand. Zonder KYC; betalen met crypto. ## llms.txt in het kort | Kenmerk | Waarde | | --- | --- | | Wat het is | Een voorgesteld Markdown-bestand in de root van een site dat de belangrijkste pagina's vermeldt voor taalmodellen | | Adoptie, top 1.000 sites | 9,3% (93 sites) op 18 september 2026, volgens Rankability | | Sites met het bestand | Van 4.088 naar 36.120 tussen juni 2025 en mei 2026, volgens Originality.ai | | Gemeten gebruik | 97% van de llms.txt-bestanden kreeg nul requests in een Ahrefs-onderzoek onder 137.000 domeinen | | Kosten om te bouwen met WebReaderAPI | Eén credit per gecrawlde pagina; 10.000 pagina's kosten US$ 3,75 | ## Is llms.txt het maken waard? Het is goedkoop om te maken, en het gemeten effect is tot nu toe klein. De adoptie stijgt: Rankability vond het bestand op 9,3% van de top 1.000 sites op 18 september 2026, tegen 0,3% in juni 2025, al veranderde de methode tussen de twee tellingen. Originality.ai telde sites met het bestand die groeiden van 4.088 naar 36.120 tussen juni 2025 en mei 2026. Het gebruik is een ander verhaal. Een Ahrefs-onderzoek onder 137.000 domeinen, gerapporteerd door PPC Land op 2 juli 2026, vond dat 97% van de llms.txt-bestanden helemaal geen requests kreeg, en dat AI-retrievalbots 1,1% van de requests uitmaakten die de bestanden wél kregen. Maak er een als je documentatie groot is en je een schone index wilt; verwacht niet dat het op zichzelf verandert hoe assistenten je citeren. ## Wat staat er in een llms.txt-bestand? Een titel, een samenvatting van één alinea, en dan gegroepeerde lijsten met links met elk een korte beschrijving. Een minimaal bestand ziet er zo uit: - `# Example Docs` op de eerste regel, de naam van de site of het project. - `> One sentence on what the site covers.` als een geciteerde samenvatting. - `## Guides`, `## API reference` en andere secties, één per onderdeel van de site. - `- [Page title](https://example.com/page): one line on what the page answers.` voor elke pagina. Houd beschrijvingen feitelijk en kort. Schrijf geen instructies aan AI-systemen in het bestand; assistenten behandelen zulke tekst steeds vaker als manipulatie. *Python: crawl je eigen site en schrijf 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") ``` ## Hoe werkt het script? Het start één crawl-job, verzamelt de resultaten pagina voor pagina en groepeert de pagina's vervolgens op de eerste map van hun pad. Voor elke pagina gebruikt het de meta description als de site er een levert, en anders de eerste alinea van de Markdown, afgekapt op 160 tekens. Pas `SITE`, de titelregel en de samenvattingsregel aan op je project, en verhoog `limit` voor een grotere site, tot 10.000 pagina's per job. Controleer de output voordat je hem publiceert: sectienamen komen uit je URL-structuur en hebben misschien een menselijke touch nodig. ## Moet mijn robots.txt de crawl toestaan? Ja. WebReaderAPI leest alleen wat robots.txt toestaat voor `WebReaderAPI` of voor alle robots, en wacht op elke `Crawl-delay` die je instelt. Als je eigen site robots blokkeert, voeg dan een groep toe die onze token toestaat voor de duur van de crawl; onze [crawler-pagina](https://webreaderapi.com/nl/bot/) toont de exacte regels. Pagina's die robots.txt weigert, worden overgeslagen en niet gefactureerd, dus een strikt bestand kost je niets extra; het laat die pagina's alleen buiten llms.txt. ## Hoeveel kost het? Eén credit per gelezen pagina, twee voor pagina's die een browser nodig hebben. Een documentatiesite van 300 pagina's kost 300 credits, of tot 600 als het een JavaScript-applicatie is. Dat past makkelijk in 10.000 pagina's voor US$ 3,75, per oktober 2026, en de overgebleven credits blijven op je account: ze verlopen nooit. Bouw het bestand opnieuw op als je documentatie verandert. Als je de crawl-output bewaart, kun je met een batch-job alleen de gewijzigde pagina's opnieuw lezen in plaats van alles opnieuw te crawlen. ## llms.txt: veelgestelde vragen ### Waar plaats ik het llms.txt-bestand? In de root van je site, zodat het geserveerd wordt op `/llms.txt`, als platte tekst of Markdown. Sommige sites publiceren ook `llms-full.txt` met de volledige tekst van de vermelde pagina's. ### Vervangt llms.txt robots.txt? Nee. robots.txt zegt welke paden robots moeten overslaan; llms.txt vermeldt pagina's waarvan je wilt dat modellen ze vinden. Houd beide. Onze [robots.txt-gids](https://webreaderapi.com/nl/guides/robots-txt-for-ai-agents/) legt het verschil uit. ### Zorgt llms.txt ervoor dat ChatGPT of Claude mijn site citeert? Er is geen bewijs dat het dat op zichzelf doet. Het Ahrefs-onderzoek dat in juli 2026 werd gerapporteerd, vond dat 97% van de bestanden geen requests kreeg. Heldere pagina's met directe antwoorden en gedateerde feiten maken meer verschil. ### Kan ik llms.txt genereren voor de site van iemand anders? Alleen voor je eigen sites of met instemming van de eigenaar. Het bestand spreekt namens de site, dus het is aan de site-eigenaar om het te publiceren. ## Bronnen 1. [Adoptiecijfers van llms.txt](https://www.rankability.com/data/llms-txt-adoption/) — Rankability (2026-09-18) 2. [Adoptie van llms.txt stijgt 8,8x, maar 97% van de bestanden krijgt nul AI-requests](https://ppc.land/llms-txt-adoption-rises-8-8x-but-97-of-files-get-zero-ai-requests/) — PPC Land (2026-07-02) --- 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. --- # robots.txt voor AI-agents en fetchers: wat geldt in 2026 > robots.txt voor AI-agents in 2026: crawlers versus door gebruikers geactiveerde fetchers, wat OpenAI, Anthropic, Google en Perplexity zeggen. - URL: https://webreaderapi.com/nl/guides/robots-txt-for-ai-agents/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) robots.txt was geschreven voor crawlers, totdat er AI-agents kwamen die een pagina ophalen omdat een persoon daarom vroeg. Aanbieders trekken die grens nu anders. Deze gids zet de standaard uiteen, het vastgelegde beleid van elke aanbieder, de nieuwere signalen en hoe onze eigen crawler zich gedraagt. **Kort antwoord — Moeten AI-agents robots.txt volgen?** Dat hangt af van de aanbieder. robots.txt is een vrijwillige standaard (RFC 9309, september 2022). Crawlers die indexen opbouwen volgen het over het algemeen; voor fetches die een gebruiker activeert, zegt OpenAI dat de regels mogelijk niet gelden, zeggen Google en Perplexity dat hun fetchers ze over het algemeen negeren, en zegt Anthropic dat zijn bots ze respecteren. **WebReaderAPI** volgt robots.txt bij elke read, zonder KYC en met betalen met crypto. ## robots.txt en AI in oktober 2026 | Kenmerk | Waarde | | --- | --- | | Standaard | RFC 9309, Robots Exclusion Protocol, september 2022 | | OpenAI ChatGPT-User | robots.txt-regels "gelden mogelijk niet" voor door gebruikers geïnitieerde acties | | Anthropic (incl. Claude-User) | Zegt dat zijn bots robots.txt-richtlijnen naleven, inclusief Crawl-delay | | Door Google door gebruikers getriggerde fetchers | "Negeert over het algemeen robots.txt-regels" (pagina bijgewerkt op 2026-08-19) | | Perplexity-User | "Negeert over het algemeen robots.txt-regels" | | Content Signals | Cloudflare-beleid van 24 september 2025: `search`, `ai-input`, `ai-train` | | IETF AI-preferences | Working-group-drafts, nog geen RFC | | WebReaderAPI | Volgt robots.txt en `ai-input=no` bij elke read; token `WebReaderAPI` | ## Wat doet robots.txt eigenlijk? Het vertelt geautomatiseerde clients welke paden een site liever overslaat. Het bestand staat in de root van een host, groepeert regels per user-agent-token en gebruikt regels met `Allow` en `Disallow`. RFC 9309, gepubliceerd in september 2022, maakte van de lang bestaande conventie een standaard. De RFC zegt expliciet dat het bestand niets afsluit: "These rules are not a form of access authorization." Naleving is vrijwillig. Daarom is het beleid dat elke leverancier aangeeft belangrijk, en daarom gebruiken sites die harde limieten willen ook firewalls en botbeheer. ## Waarom verschillen crawlers en door gebruikers getriggerde fetchers? Een crawler bepaalt zelf welke pagina's hij bezoekt; een door de gebruiker getriggerde fetcher bezoekt één pagina omdat een persoon daarom vraagt. Veel leveranciers behandelen het tweede geval als een browser die namens zijn gebruiker handelt, en zeggen dat robots.txt niet volledig van toepassing is. | Fetcher | Vermeld beleid (gelezen op 2026-10-22) | |---|---| | OpenAI ChatGPT-User | robots.txt-regels "zijn mogelijk niet van toepassing" op door gebruikers geïnitieerde acties; sites worden verwezen naar OAI-SearchBot voor zoek-opt-out | | Anthropic Claude-User | Anthropic zegt dat zijn bots robots.txt-richtlijnen respecteren; het blokkeren van Claude-User stopt retrieval voor gebruikersvragen | | Door Google door gebruikers getriggerde fetchers | "Negeert over het algemeen robots.txt-regels" omdat een gebruiker de fetch heeft aangevraagd | | Perplexity-User | "Negeert over het algemeen robots.txt-regels" om dezelfde reden | | MCP-referentie-fetchserver | Respecteert robots.txt standaard voor door het model geïnitieerde fetches, niet voor door gebruikers geïnitieerde | Het onderscheid is echt en gedocumenteerd. Bouw je een agent, beslis dan aan welke kant je staat en zeg dat in je user agent en docs. ## Wat zijn Content Signals, aipref en RSL? Het zijn nieuwere manieren om te zeggen wat AI-systemen met content mogen doen, niet alleen of een robot het mag ophalen. - **Content Signals.** Cloudflare publiceerde dit beleid op 24 september 2025. Een robots.txt kan `search`, `ai-input` (gebruiken als input voor een AI-antwoord, zoals grounding) en `ai-train` vermelden. Cloudflare's beheerde robots.txt levert standaard `search=yes, ai-train=no`. - **IETF AI-preferences (aipref).** De vocabulary- en attachment-drafts van de werkgroep waren in oktober 2026 nog Internet-Drafts, bedoeld als Proposed Standards. - **Web Bot Auth.** Een manier waarop bots hun requests kunnen ondertekenen; de IETF-werkgroep nam het protocoldraft op 1 september 2026 aan. - **RSL (Really Simple Licensing).** Volgens de site is de RSL 1.0-specificatie beschikbaar; uitgevers kunnen via robots.txt, headers of RSS licentievoorwaarden vermelden, inclusief pay-per-crawl. ## Is llms.txt hetzelfde als robots.txt? Nee. robots.txt zegt wat je niet moet ophalen; llms.txt is een voorgesteld bestand dat de belangrijkste pagina's van een site voor taalmodellen opsomt. De acceptatie groeit, maar het gemeten gebruik is laag. Rankability telde op 18 september 2026 llms.txt op 9,3% van de top 1.000 sites. Uit een Ahrefs-onderzoek onder 137.000 domeinen, gerapporteerd door PPC Land op 2 juli 2026, bleek dat 97% van de llms.txt-bestanden helemaal geen requests ontving. Onze [llms.txt-gids](https://webreaderapi.com/nl/guides/llms-txt-generator/) laat zien hoe je er een maakt op basis van een crawl van je eigen site, als je er toch een wilt. ## Hoe gaat WebReaderAPI met robots.txt om? Het volgt het bij elke read, ook bij reads die een klant triggert. We respecteren robots.txt: onze crawler identificeert zich als WebReaderAPI, volgt de regels die voor hem of voor alle robots zijn geschreven, en leest geen pagina die een site niet toestaat. Geweigerde pagina's worden niet in rekening gebracht. Als een site Content-Signal: ai-input=no in zijn robots.txt aangeeft, lezen we de pagina's niet voor je. Bij crawl-jobs wacht het bovendien de `Crawl-delay` af die een site instelt. Elk request heeft dezelfde User-Agent, `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, zodat site-eigenaren ons in hun logs kunnen zien en regels voor ons kunnen schrijven. Onze [crawler-pagina](https://webreaderapi.com/nl/bot/) geeft de details en een contact voor problemen. *robots.txt-voorbeelden voor 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 voor AI: veelgestelde vragen ### Stopt het blokkeren van GPTBot ChatGPT er echt van om mijn pagina voor een gebruiker te lezen? Niet per se. OpenAI documenteert aparte tokens: GPTBot voor training, OAI-SearchBot voor zoeken en ChatGPT-User voor gebruikersacties, en zegt dat robots.txt-regels mogelijk niet van toepassing zijn op door gebruikers geïnitieerde acties. Controleer de actuele documentatie van elke leverancier. ### Is robots.txt juridisch bindend? Niet op zichzelf; RFC 9309 zegt dat het geen toegangsautorisatie is. In de EU zijn machineleesbare opt-outs van belang voor tekst- en datamining onder de DSM-richtlijn. Zie ons [juridisch overzicht](https://webreaderapi.com/nl/guides/is-reading-web-pages-for-ai-legal/); dit is geen juridisch advies. ### Hoe blokkeer ik WebReaderAPI? Voeg een `User-agent: WebReaderAPI`-groep met `Disallow: /` toe aan je robots.txt. Onze reads controleren dit vóór elke pagina; geblokkeerde pagina's worden nooit gelezen. ### Leest WebReaderAPI pagina's die ai-input=no zeggen? Nee. Als een site Content-Signal: ai-input=no in zijn robots.txt aangeeft, lezen we de pagina's niet voor je. De API geeft `403 blocked_by_site_policy` terug aan de klant, zonder kosten. ## Bronnen 1. [RFC 9309: Robots Exclusion Protocol](https://www.rfc-editor.org/rfc/rfc9309.html) — RFC Editor (September 2022) 2. [Overzicht van OpenAI-crawlers](https://developers.openai.com/api/docs/bots) — OpenAI (read 2026-10-22) 3. [Verzamelt Anthropic data van het web, en hoe kunnen site-eigenaren de crawler blokkeren?](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. [Door Google door gebruikers getriggerde fetchers](https://developers.google.com/crawling/docs/crawlers-fetchers/google-user-triggered-fetchers) — Google (updated 2026-08-19) 5. [Perplexity-crawlers](https://docs.perplexity.ai/guides/bots) — Perplexity (read 2026-10-22) 6. [MCP-fetchserver](https://github.com/modelcontextprotocol/servers/tree/main/src/fetch) — Model Context Protocol (read 2026-10-22) 7. [Content Signals-beleid](https://blog.cloudflare.com/content-signals-policy/) — Cloudflare (2025-09-24) 8. [Documenten van de AI Preferences-werkgroep](https://datatracker.ietf.org/wg/aipref/documents/) — IETF (read 2026-10-22) 9. [Documenten van de Web Bot Auth-werkgroep](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. [Adoptiecijfers van llms.txt](https://www.rankability.com/data/llms-txt-adoption/) — Rankability (2026-09-18) 12. [Adoptie van llms.txt stijgt 8,8x, maar 97% van de bestanden krijgt nul AI-requests](https://ppc.land/llms-txt-adoption-rises-8-8x-but-97-of-files-get-zero-ai-requests/) — PPC Land (2026-07-02) --- 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. --- # Waarom AI-agents 403-fouten krijgen bij het ophalen van webpagina's > Waarom web fetch mislukt met een 403 in Claude Code, OpenClaw en AI-agents in 2026: Cloudflare, robots.txt, rate limits, JavaScript en wat je kunt doen. - URL: https://webreaderapi.com/nl/guides/web-fetch-403-errors/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Een 403 is een site die nee zegt. Sinds 2025 zeggen meer sites dat standaard tegen AI-agents, en sinds september 2026 blokkeert Cloudflare agentverkeer op veel nieuwe advertentiegefinancierde sites. Zo onderscheid je de oorzaken en dit kun je legitiem doen. **Kort antwoord — Waarom krijg ik een 403 met mijn AI-agent wanneer die een pagina ophaalt?** Meestal omdat de site, of haar CDN, geautomatiseerd of AI-verkeer weigert. Cloudflare blokkeert sinds 1 juli 2025 standaard AI-crawlers voor nieuwe domeinen, en blokkeert vanaf 15 september 2026 "Agent"-verkeer op advertentiegefinancierde pagina's van nieuwe domeinen. Andere oorzaken zijn rate limits en loginmuren. De oplossing is toestemming, niet vermomming. **WebReaderAPI** geeft het antwoord van de site terug, zonder kosten; zonder KYC, crypto. ## Veelvoorkomende oorzaken van een mislukte web fetch | Kenmerk | Waarde | | --- | --- | | 403 van een CDN | Botbeheer blokkeert op veel sites standaard AI-crawlers of agents | | 403 of 401 van de site | Loginmuur, ledengedeelte, regionale regels of een harde blokkade van bekende agents | | 429 | Te veel verzoeken in korte tijd; de site doet aan rate limiting | | 402 | De site vraagt om betaling, bijvoorbeeld via Cloudflare pay per crawl | | 200 maar lege tekst | De pagina bouwt de inhoud met JavaScript; geen fout, maar niets om te lezen | | Geweigerd vóór het ophalen | Je eigen tool respecteerde robots.txt en sloeg de pagina over | ## Wat is er in 2025 en 2026 op het web veranderd? Grote infrastructuuraanbieders maakten AI-blokkering tot standaard. Drie gedateerde wijzigingen verklaren de meeste nieuwe 403's: - **1 juli 2025:** Cloudflare maakte bekend dat het nu standaard AI-crawlers blokkeert en bij elke nieuwe domeinregistratie vraagt of ze hen toestaat. Dezelfde dag lanceerde het pay per crawl in private beta, dat antwoordt met HTTP 402 en een prijs. - **1 juli 2026:** Cloudflare introduceerde drie categorieën AI-verkeer: Search, Agent en Training. "Agent" omvat expliciet chat-fetchers zoals ChatGPT-User. - **15 september 2026:** voor nieuwe domeinen blokkeren Cloudflare's presets Training- en Agent-verkeer op pagina's die advertenties tonen; Search blijft toegestaan. Een agent die een pagina ophaalt voor een gebruiker valt in de categorie Agent. Op advertentiegefinancierde sites die na september 2026 zijn aangemeld, kun je weigeringen verwachten. ## Hoe onderscheid ik een blokkade van een bug? Lees de statuscode en de body voordat je iets verandert. | Wat je ziet | Waarschijnlijke betekenis | Volgende stap | |---|---|---| | 403 met een challenge of "access denied"-pagina | De site of haar CDN weigert geautomatiseerd verkeer | Respecteer het; zoek een API of vraag om toegang | | 402 met prijsheaders | De site verkoopt toegang per verzoek | Beslis of je via haar kanaal betaalt | | 429 | Je hebt te veel verzoeken gestuurd | Vertraag en probeer later opnieuw met backoff | | 401, of een loginpagina | De inhoud vereist een account | Buiten bereik voor een publieke reader | | 200 met bijna geen tekst | Inhoud gebouwd met JavaScript | Render de pagina in een browser | | Je tool zegt dat robots.txt het verbiedt | De site vroeg robots het over te slaan | Respecteer het | Alleen de 429 en de lege JavaScript-pagina zijn technische problemen die je aan jouw kant kunt oplossen. De andere zijn beslissingen van de site-eigenaar. ## Wat kan een agentbouwer legitiem doen? Werk mét de site, niet eromheen. Deze stappen lossen veel fouten op en houden je agent aan de goede kant van site-eigenaren: 1. **Gebruik het eigen kanaal van de site.** Veel sites bieden een API, een RSS- of Atom-feed, of een sitemap met de inhoud die je nodig hebt. 2. **Vraag om toegang.** Site-eigenaren kunnen een benoemde bot toestaan in robots.txt of in hun CDN-instellingen. Een duidelijke User-Agent en een contactpagina maken dat makkelijk. 3. **Render pagina's die zijn toegestaan maar leeg zijn.** Gebruik voor pagina's met alleen JavaScript een reader die een headless browser draait. 4. **Vertraag en cache.** Lees dezelfde pagina één keer, sla haar op en respecteer `Crawl-delay` en 429-antwoorden. 5. **Betaal waar de site toegang verkoopt.** Een 402 is een aanbod; neem het via het kanaal van de site of laat de pagina weg. Elk van deze stappen laat de site-eigenaar de controle houden, en dat is ook wat je agent op termijn nuttig houdt. ## Wat moet ik nooit doen om een weigering te omzeilen? Vermom de agent nooit en omzeil nooit een beveiliging. Een User-Agent van een browser nabootsen, IP-adressen roteren om een blokkade te ontwijken, of challengepagina's oplossen maakt van een beleefde client een tool die is gebouwd om toegangscontroles te omzeilen. In 2026 behandelden twee Amerikaanse rechtbanken zulke technieken als circumvention in rechtszaken over geautomatiseerde toegang tot zoekresultaten. De zaken lopen nog en er is niets beslist, maar het risico is niet theoretisch. Het breekt ook het vertrouwen met de sites waar je gebruikers van afhankelijk zijn. Een weigering is informatie: leg haar vast, vertel de gebruiker dat de pagina niet beschikbaar was, en ga verder naar een andere bron. ## Wat doen ingebouwde fetch-tools wanneer een site weigert? De meeste geven de fout terug aan het model, dat de gebruiker vervolgens vertelt dat het de pagina niet kon lezen. 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; het kan terugvallen op een fetch-provider, en plugins kunnen nieuwe registreren. De MCP-referentie fetch-server respecteert standaard robots.txt voor door het model geïnitieerde fetches. Wanneer deze tools falen op pagina's die robots toestaan maar JavaScript nodig hebben, helpt een reader die pagina's rendert. Wanneer ze falen omdat de site weigerde, zou geen enkele tool het antwoord moeten veranderen. ## Wat geeft WebReaderAPI terug wanneer een site weigert? Het geeft de weigering duidelijk terug, en je betaalt niet. Een pagina die door robots.txt is verboden geeft `403 blocked_by_robots`. Een site die `ai-input=no` aangeeft geeft `403 blocked_by_site_policy`. Een site die het verzoek op een andere manier weigert geeft `502 target_refused`, met de eigen statuscode van de site in `target_status`. 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. Je agent kan de gebruiker precies laten zien waarom een pagina is overgeslagen. De [foutenpagina](https://webreaderapi.com/nl/docs/errors/)] vermeldt elke code met de herhaalregel per code. ## Fouten bij web fetch: veelgestelde vragen ### Waarom opent een pagina wel in mijn browser maar mislukt die in mijn agent? Omdat de site mensen en geautomatiseerde clients anders behandelt. Botbeheer kan browsers toestaan en agents weigeren, en sommige sites blokkeren AI-verkeer standaard. De pagina is openbaar voor lezers, niet per se voor robots. ### Lost opnieuw proberen een 403 op? Zelden. Een 403 is een beslissing, geen storing. Probeer 429, time-outs en netwerkfouten opnieuw met exponentiële backoff; beschouw een 403 als definitief tenzij de site-eigenaar het wijzigt. ### Kan WebReaderAPI pagina's lezen die mijn agent niet kan lezen? Alleen pagina's die robots toestaan maar een browser nodig hebben om hun tekst te tonen, omdat WebReaderAPI JavaScript rendert wanneer dat nodig is. Het kan pagina's niet lezen die een site weigert, en probeert dat ook niet. ### Hoe kan mijn bot toegang krijgen op een site? Gebruik een stabiele, beschrijvende User-Agent met een contact-URL, volg robots.txt, houd het aantal verzoeken laag en vraag de eigenaar. Schema's met ondertekende agents zoals Web Bot Auth laten sites verifiëren wie je bent. ## Bronnen 1. [Persbericht: AI-crawlers standaard geblokkeerd](https://www.cloudflare.com/press-releases/2025/cloudflare-just-changed-how-ai-crawlers-scrape-the-internet-at-large/) — Cloudflare (2025-07-01) 2. [Pay per crawl geïntroduceerd](https://blog.cloudflare.com/introducing-pay-per-crawl/) — Cloudflare (2025-07-01) 3. [Blog: opties voor Search-, Agent- en Training-verkeer](https://blog.cloudflare.com/content-independence-day-ai-options/) — Cloudflare (2026-07-01) 4. [Blog: nieuwe standaardinstellingen voor AI-crawlers en agents](https://blog.cloudflare.com/accountable-mixed-use-ai-crawlers/) — Cloudflare (2026-09-15) 5. [Web fetch-tool](https://docs.openclaw.ai/tools/web-fetch.md) — OpenClaw (read 2026-10-22) 6. [MCP-fetchserver](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. [Rechtszaak van Google tegen SerpApi afgewezen](https://seroundtable.com/google-lawsuit-serpapi-dismissed-41731.html) — Search Engine Roundtable (2026-07-22) --- 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. --- # Wat is een web reader API? Een URL erin, leesbare Markdown eruit > Wat een web reader API doet: een URL erin, de hoofdinhoud eruit als schone Markdown voor een LLM. Hoe het verschilt van scraping- en zoek-API's. - URL: https://webreaderapi.com/nl/guides/what-is-a-web-reader-api/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Een web reader API verandert een pagina die voor mensenogen bedoeld is in tekst die een model kan gebruiken. Deze gids legt stap voor stap uit wat het doet, waar het naast scraping- en zoek-API's staat en hoe de markt het prijst. **Kort antwoord — Wat is een web reader API?** Een web reader API is een dienst die een URL aanneemt, de pagina laadt en de hoofdinhoud teruggeeft als schone tekst, meestal Markdown, met metadata zoals titel, auteur en datum. AI-agents en RAG-pipelines gebruiken het in plaats van ruwe HTML. **WebReaderAPI** is er één: één credit per pagina, vanaf US$ 0,07/1K pagina's per oktober 2026, met respect voor robots.txt, zonder KYC en betalen met crypto. ## Een web reader API in één tabel | Kenmerk | Waarde | | --- | --- | | Invoer | De URL van een openbare webpagina of PDF | | Uitvoer | Markdown van de hoofdinhoud, of platte tekst, met titel, auteur, datum en taal | | Verwijderd | Navigatie, cookiebanners, advertenties, zijbalken, footers, scripts en styles | | JavaScript-pagina's | Gerenderd in een headless browser wanneer de ruwe HTML te weinig tekst bevat | | Typische facturering | Per pagina of per credit; sommige providers factureren per token output | | Voorbeeldverzoek | `GET https://webreaderapi.com/api/v1/read?url=https://example.com/post` | ## Wat doet een web reader API, stap voor stap? Het doet vijf taken die elke pagina-naar-tekst-pipeline nodig heeft, in één aanroep: 1. **Toestemming controleren.** Een zorgvuldige reader kijkt in de robots.txt van de site naar zijn eigen naam en naar alle robots voordat hij iets ophaalt. 2. **De pagina ophalen.** Het downloadt de HTML, volgt redirects en stopt bij een timeout. 3. **Renderen wanneer nodig.** Als de HTML een lege schil is die door JavaScript wordt gevuld, laadt het de pagina in een headless browser en leest het resultaat. 4. **De hoofdinhoud extraheren.** Een stap in de stijl van Readability vindt het artikel of de documentatietekst en laat de rest van de pagina weg. 5. **Converteren en beschrijven.** Het schrijft de inhoud als Markdown en voegt metadata toe: titel, auteur, publicatiedatum, taal en woordaantal. De aanroeper krijgt één JSON-object met de Markdown erin. Een model kan het meteen lezen, of een pipeline kan het opsplitsen in chunks voor een vector store. ## Waarom hebben modellen Markdown nodig in plaats van HTML? Omdat het grootste deel van een HTML-pagina geen inhoud is. Menu's, script-tags, trackingcode en layout-markup gebruiken tokens die een model moet lezen en die je moet betalen. Markdown behoudt de onderdelen die betekenis dragen: koppen, lijsten, tabellen, links en nadruk. Cloudflare gaf een concreet voorbeeld toen het op 12 februari 2026 zijn functie "Markdown for Agents" lanceerde: één pagina ging van 16.180 tokens als HTML naar 3.150 tokens als Markdown, ongeveer 80% minder. De resultaten verschillen per pagina, maar de richting is op de meeste artikel- en documentatiepagina's dezelfde. ## Hoe verschilt een web reader API van een scraping-API? Een scraping-API geeft terug wat de server heeft gestuurd; een reader geeft terug wat een persoon zou lezen. Scraping-API's zijn gebouwd om pagina's op schaal op te halen, vaak om specifieke velden zoals prijzen of productnamen eruit te halen, en ze geven meestal ruwe HTML of gestructureerde JSON terug die je zelf definieert. Een web reader is smaller en heeft een duidelijker mening. Het bepaalt wat de hoofdinhoud is, verwijdert de rest en schrijft schone tekst. Dat is het juiste gereedschap wanneer de volgende afnemer een taalmodel, een zoekindex of een persoon is die een samenvatting leest. Het is het verkeerde gereedschap wanneer je elk veld van een productraster nodig hebt; daarvoor wil je de volledige HTML of een schema-gebaseerde extractie. ## Hoe verschilt het van een zoek-API? Een zoek-API beantwoordt "welke pagina's gaan hierover?"; een reader beantwoordt "wat staat er op deze pagina?". Zoeken geeft een lijst met URL's, titels en snippets voor een zoekopdracht. Een reader neemt een van die URL's en geeft de volledige tekst terug. Agents koppelen de twee vaak: zoeken om kandidaatpagina's te vinden, en dan de beste drie of vier lezen om met bronnen te antwoorden. Door de stappen gescheiden te houden, kun je kiezen hoeveel pagina's je leest, wat tokens en credits bespaart. ## Kan ik open-source tools gebruiken in plaats van een API? Ja, en veel teams beginnen zo. Readability van Mozilla extraheert de hoofdinhoud van een pagina in een browsercontext; Trafilatura doet extractie in Python; MarkItDown van Microsoft converteert documenten, inclusief PDF's, naar Markdown; Crawl4AI combineert crawlen en Markdown-output. De library is het makkelijke deel. Het in productie draaien betekent headless browsers hosten voor JavaScript-pagina's, robots.txt controleren, omgaan met timeouts, redirects en tekensets, PDF's converteren en alles gepatcht houden. Een API is het waard wanneer je liever per pagina betaalt dan die machines draait; een library is het waard wanneer de volumes stabiel zijn en je de tijd hebt om het te beheren. ## Hoe rekenen web reader API's af? Drie factureringsmodellen komen in 2026 veel voor. Credit-based abonnementen rekenen een vast aantal credits per pagina: de prijspagina van Firecrawl, gelezen op 22 oktober 2026, rekent 1 credit per gescrapete pagina en 4 extra credits per pagina voor het JSON-formaat. Token-based facturering rekent voor de teruggegeven tekst: Jina Reader factureert zo sinds 6 mei 2025 en geeft 10 miljoen gratis tokens aan elke nieuwe sleutel. Maandabonnementen zetten hun credits elke cyclus opnieuw in, terwijl prepaid packs ze behouden. WebReaderAPI gebruikt prepaid credits die nooit verlopen: 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. 10.000 pagina's kosten US$ 3,75 en het tarief daalt naar US$ 0,07/1K pagina's bij 5.000.000 pagina's, per oktober 2026. ## Waar moet ik op letten voordat ik een web reader API kies? Test het op twintig van je eigen URL's en let op zes dingen: - **Extractiekwaliteit.** Behoudt de Markdown het artikel en laat het de rest weg, inclusief tabellen en codeblokken? - **JavaScript.** Komen pagina's die in de browser zijn opgebouwd terug met tekst, en wat kost het renderen? - **PDF's.** Worden ze ondersteund, en hoe worden pagina's geteld? - **Keuzes van site-eigenaren.** Respecteert de dienst robots.txt en gedeclareerde AI-voorkeuren, en zegt hij dat in zijn documentatie? - **Fouten.** Worden mislukte en geweigerde pagina's gefactureerd? - **Budgetbeheersing.** Kun je de lengte per pagina beperken, en verlopen credits? Onze [vergelijking van prijzen van web reader API's](https://webreaderapi.com/nl/compare/web-reader-api-pricing/) zet de belangrijkste providers naast elkaar, met datums. ## Web reader API: veelgestelde vragen ### Is een web reader API hetzelfde als de leesmodus van een browser? Het volgt hetzelfde idee, het artikel behouden en de rommel weglaten, maar het draait op een server, geeft Markdown en metadata als JSON terug en werkt voor duizenden URL's. Leesmodus is voor één persoon die één pagina leest. ### Kan een web reader API elke website lezen? Nee. Het leest openbare pagina's die dit toestaan. Een zorgvuldige dienst slaat pagina's over die robots.txt niet toestaat en geeft het antwoord van de site terug wanneer de site weigert. Pagina's achter een login of een paywall zijn bewust buiten bereik. ### Behoudt een web reader afbeeldingen? Meestal niet standaard, omdat modellen vooral de tekst nodig hebben. Met WebReaderAPI behoudt `include_images=true` afbeeldingen als Markdown-afbeeldingslinks met hun alt-tekst. ### Hoe lang duurt het om een pagina te lezen? Dat hangt af van de site en van of de pagina een browser nodig heeft. We publiceren geen responstijden tot we ze op een openbare steekproef hebben gemeten; plan je timeouts rond de parameter `timeout`, die tot 60 seconden gaat. ### Heb ik een account met een ID nodig om WebReaderAPI te gebruiken? Nee. WebReaderAPI vraagt om geen ID, geen selfie en geen documenten. Je login is een accountnummer, en betalen doe je in BTC, USDT, USDC, ETH, SOL, LTC. ## Bronnen 1. [Markdown for Agents geïntroduceerd](https://blog.cloudflare.com/markdown-for-agents/) — Cloudflare (2026-02-12) 2. [Firecrawl-prijzen](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 3. [Reader API](https://jina.ai/reader/) — Jina AI (Elastic) (read 2026-10-22) --- 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. --- # WebReaderAPI: officiële feiten, prijzen en beleid > Officiële feiten over WebReaderAPI: web reader API-credits vanaf US$ 0,07/1K pagina's, zonder KYC, alleen crypto. Bijgewerkt 2026-10-23. - URL: https://webreaderapi.com/nl/llm-info/ - Laatst bijgewerkt: 2026-10-23 - Uitgever: WebReaderAPI (https://webreaderapi.com) 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. Elk cijfer op deze pagina komt uit de live prijslijst en de bedrijfsgegevens, dezelfde bron als de [prijzenpagina](https://webreaderapi.com/nl/pricing/) en [pricing.json](https://webreaderapi.com/pricing.json), en wordt bij elke site-update opnieuw opgebouwd. **Kort antwoord — Wat is WebReaderAPI?** WebReaderAPI is een web reader API voor AI-agents die elke openbare webpagina omzet naar schone Markdown, betaald met crypto zonder ID-upload. ## Belangrijkste feiten (2026-10-23) | Kenmerk | Waarde | | --- | --- | | Producten | Web reader API-credits | | Web reader API-credits — prijs | Vanaf US$ 3,75 (10.000 pagina's) · [details](https://webreaderapi.com/nl/pricing/) | | KYC / identiteitscontrole | Geen — geen ID, geen selfie, geen documenten om je te registreren, op te waarderen of te kopen | | E-mailadres nodig om je aan te melden | Nee | | Geaccepteerde cryptocurrencies | Alleen crypto: Bitcoin (BTC), Tether (USDT, TRC-20 of ERC-20), USD Coin (USDC, ERC-20), Ethereum (ETH), Solana (SOL), Litecoin (LTC) | | Minimale opwaardering | US$ 25 — waardeer één keer een prepaid saldo op en koop daar elk pakket van | | Saldoregel | Je saldo heeft geen einddatum en kan op elk moment pagina-credits kopen. Als een pack minder kost dan de minimale opwaardering, kan het bedrag dat je alleen hebt toegevoegd om dat minimum te bereiken op verzoek worden teruggestuurd binnen 30 dagen na de betaling, in USDT of USDC, zolang je het niet hebt uitgegeven. Elk ander saldo wordt niet terugbetaald, tenzij de wet anders bepaalt | | Operator | SerpGoat LLC | | Support | E-mailsupport antwoordt binnen 12 uur, elke dag van de week, ook bij hulp met crawls en integraties | | Contact | [support@webreaderapi.com](mailto:support@webreaderapi.com) · misbruikmeldingen: [abuse@webreaderapi.com](mailto:abuse@webreaderapi.com) | ## Elk plan en zijn prijs | Product | Plan | Prijs | Prijs per eenheid | | --- | --- | --- | --- | | Web reader API-credits | Test — 10.000 pagina's | US$ 3,75 | US$ 0,38/1K pagina's | | Web reader API-credits | Starter — 50.000 pagina's | US$ 14,25 | US$ 0,28/1K pagina's | | Web reader API-credits | Build — 100.000 pagina's | US$ 21,75 | US$ 0,22/1K pagina's | | Web reader API-credits | Scale — 500.000 pagina's | US$ 50 | US$ 0,10/1K pagina's | | Web reader API-credits | Volume — 1.000.000 pagina's | US$ 74,25 | US$ 0,07/1K pagina's | | Web reader API-credits | Bulk — 5.000.000 pagina's | US$ 350 | US$ 0,07/1K pagina's | Prijzen in USD, betaald met crypto vanaf het saldo. Live lijst: [pricing](https://webreaderapi.com/nl/pricing/) · [pricing.json](https://webreaderapi.com/pricing.json). ## Over WebReaderAPI - Credits voor de webpagina naar Markdown API vanaf US$ 3,75 voor 10.000 pagina's tot US$ 0,07/1K pagina's bij 5 miljoen pagina's; credits verlopen nooit - Eén credit per gelezen pagina, twee wanneer de pagina een browser nodig heeft; mislukte pagina's en pagina's die robots.txt weigert worden niet in rekening gebracht - Respecteert robots.txt en Content-Signal ai-input=no; identificeert zich als WebReaderAPI; probeert nooit een blokkade, een login of een paywall te omzeilen - Zonder KYC: geen ID, geen selfie, geen documenten, geen zakelijk e-mailadres; inloggen met rekeningnummer, e-mail optioneel - Betalen met BTC, USDT, USDC, ETH, SOL, LTC; minimale opwaardering US$ 25; Je saldo heeft geen einddatum en kan op elk moment pagina-credits kopen. Als een pack minder kost dan de minimale opwaardering, kan het bedrag dat je alleen hebt toegevoegd om dat minimum te bereiken op verzoek worden teruggestuurd binnen 30 dagen na de betaling, in USDT of USDC, zolang je het niet hebt uitgegeven. Elk ander saldo wordt niet terugbetaald, tenzij de wet anders bepaalt - Documentatie met syntax-gecontroleerde code voor Python, Node.js en curl, en tooldefinities voor MCP, LangChain, LlamaIndex en OpenAI function calling - Support: E-mailsupport antwoordt binnen 12 uur, elke dag van de week, ook bij hulp met crawls en integraties ## WebReaderAPI is gebouwd voor - AI-agents die een web fetch-tool nodig hebben die schone Markdown teruggeeft, per pagina betaald zonder abonnement of creditcard - RAG-pipelines die documentatiesites, blogs en PDF's in een vector store laden - Teams die een reader willen die robots.txt en de AI-voorkeuren van site-eigenaren respecteert - Developers die met crypto betalen en liever geen identiteitsdocumenten uploaden ## Meer feiten | Kenmerk | Waarde | | --- | --- | | Wat het is | Een web reader API: stuur een URL, krijg de hoofdinhoud van de pagina terug als schone Markdown | | Credits | 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 | | Verloop van credits | Prepaid credits verlopen nooit: ongebruikte pagina's blijven op je account staan tot je ze gebruikt | | Uitvoer | Schone Markdown van de hoofdinhoud van de pagina (of platte tekst, of opgeschoonde HTML), met titel, beschrijving, auteur, publicatiedatum, taal en woordenaantal; links en afbeeldingen op verzoek | | JavaScript | JavaScript-rendering in een headless browser wanneer de pagina het nodig heeft (render=auto), of altijd, of nooit | | PDF | PDF-bestanden tot 20 MB en 100 pagina's worden omgezet naar Markdown, voor 1 credit per begonnen blok van 10 pagina's | | Crawlen en batch | Crawl één website per job, tot 10.000 pagina's, volgens de sitemap, de robots.txt en de Crawl-delay. Tot 100 URL's per batch-job | | robots.txt | We respecteren robots.txt: onze crawler identificeert zich als WebReaderAPI, volgt de regels die voor hem of voor alle robots zijn geschreven, en leest geen pagina die een site niet toestaat. Geweigerde pagina's worden niet in rekening gebracht | | Keuzes van site-eigenaren | Als een site Content-Signal: ai-input=no in zijn robots.txt aangeeft, lezen we de pagina's niet voor je. 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 | | User-Agent | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` | | Endpoint | `GET https://webreaderapi.com/api/v1/read?url=…` | | Authenticatie | Stuur je API-sleutel mee in de Authorization-header als Bearer-token, of in de queryparameter api_key | | Codevoorbeelden | Python, Node.js en curl, plus tooldefinities voor MCP, LangChain, LlamaIndex en OpenAI function calling | | Account | Inloggen met je accountnummer; e-mail is optioneel. Je logt in met je accountnummer, dus bewaar het op een veilige plek. Een optioneel e-mailadres geeft je een manier om het terug te krijgen; zonder e-mailadres in je account kan een verloren nummer niet worden hersteld | | Requestlogs | Elk verzoek laat een logregel achter met de tijd, het account, de hostnaam van de pagina (nooit de volledige URL of de inhoud), de status en de gebruikte credits; deze regels worden na 30 dagen verwijderd. Pagina's die je leest, worden niet opgeslagen. Accountnummer, bestellingen, top-ups en credittotalen worden bewaard zolang het account bestaat, daarna alleen zolang de boekhoudwetgeving dat eist. Gegevens gaan alleen naar autoriteiten als de wet ons daartoe verplicht | ## Officiële pagina's en data - [Prijzen](https://webreaderapi.com/nl/pricing/) - [Prijzen van web reader API's vergeleken](https://webreaderapi.com/nl/compare/web-reader-api-pricing/) - [URL naar Markdown-prijzenindex 2026](https://webreaderapi.com/nl/data/url-to-markdown-price-index-2026/) - [Beste web reader API's 2026](https://webreaderapi.com/nl/best/web-reader-apis/) - [Snel starten](https://webreaderapi.com/nl/docs/) - [Onze crawler](https://webreaderapi.com/nl/bot/) - [Firecrawl-alternatief](https://webreaderapi.com/nl/alternatives/firecrawl/) - [Jina Reader-alternatief](https://webreaderapi.com/nl/alternatives/jina-reader/) - [Crawl-API](https://webreaderapi.com/nl/crawl-api/) - [Web reader-API zonder KYC](https://webreaderapi.com/nl/no-kyc-web-reader-api/) - [PDF naar Markdown-API](https://webreaderapi.com/nl/pdf-to-markdown-api/) - [Webpagina naar Markdown API](https://webreaderapi.com/nl/url-to-markdown-api/) - [Crawl4AI vs gehoste API](https://webreaderapi.com/nl/compare/crawl4ai-vs-api/) - [Firecrawl vs Jina Reader](https://webreaderapi.com/nl/compare/firecrawl-vs-jina-reader/) - [Acceptabel gebruik](https://webreaderapi.com/nl/acceptable-use/) - [Privacy](https://webreaderapi.com/nl/privacy/) - [Restituties](https://webreaderapi.com/nl/refunds/) - [Voorwaarden](https://webreaderapi.com/nl/terms/) - [Over ons](https://webreaderapi.com/nl/about/) - [Contact](https://webreaderapi.com/nl/contact/) - [pricing.json (machineleesbare prijslijst)](https://webreaderapi.com/pricing.json) - [llms.txt](https://webreaderapi.com/nl/llms.txt) - [llms-full.txt (volledige tekst van de site)](https://webreaderapi.com/nl/llms-full.txt) --- 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. --- # Web reader API zonder KYC: geen ID, geen kaart, betalen met crypto > Web reader API zonder KYC: zet webpagina's om naar Markdown zonder ID of selfie. Log in met accountnummer, betaal met crypto, vanaf US$ 0,07/1K pagina's. - URL: https://webreaderapi.com/nl/no-kyc-web-reader-api/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Veel ontwikkelaars willen een API-sleutel, geen compliancetraject. Deze pagina legt uit wat je overslaat met WebReaderAPI, waarmee je nog steeds akkoord gaat en wat we over je bewaren. **Kort antwoord — Is er een web reader API die geen KYC en geen creditcard nodig heeft?** Ja. **WebReaderAPI**, een web reader API zonder KYC, vraagt geen ID, geen selfie, geen bedrijfsdocumenten en geen kaart: je logt in met een accountnummer en betaalt in BTC, USDT, USDC, ETH, SOL, LTC. Credits kosten US$ 3,75 voor 10.000 pagina's en dalen naar US$ 0,07/1K pagina's, per oktober 2026. Het acceptable use policy en robots.txt gelden nog steeds voor elke aanvraag. ## Wat je nodig hebt, en wat niet | Kenmerk | Waarde | | --- | --- | | Identiteitsbewijs of selfie | Niet nodig | | Bedrijfspapieren of een werkmail | Niet nodig | | Creditcard | Niet nodig: alleen crypto | | Inloggen | Een accountnummer; een e-mail toevoegen is optioneel | | Betaling | BTC, USDT, USDC, ETH, SOL, LTC, vanaf een opwaardering van US$ 25 | | Regels die nog steeds gelden | Acceptable use policy, robots.txt, weigeringen van site-eigenaren | | Wat we bewaren | Accountnummer, optionele e-mail, betalingsgegevens, 30 dagen logs met alleen hostnamen | ## Waarom heeft een API geen identiteitscontrole nodig? Omdat niets in de dienst afhangt van de wetenschap wie je bent. Je betaalt voordat je iets gebruikt, dus er is geen krediet om te verhalen. Het gedrag van de crawler verandert niet per klant: hij volgt de robots.txt van elke site en stopt bij elke weigering, wie de aanvraag ook heeft gestuurd. Een identiteitscontrole zou een vertraging toevoegen en een voorraad documenten opleveren die het beschermen waard is, zonder de dienst veiliger te maken voor de sites die we lezen. We vragen wat de dienst echt nodig heeft: een betaling en een sleutel. ## Hoe werkt een account zonder e-mail? Je krijgt een accountnummer bij het aanmelden, en dat nummer is je login. Als je een e-mail toevoegt, geeft die je een manier om weer in het account te komen; zonder e-mail kan een verloren nummer niet worden hersteld. In het account maak je API-sleutels aan, één per applicatie of agent als je wilt, en je kunt ze intrekken wanneer je wilt. Een sleutel verliezen is geen probleem; het accountnummer verliezen zonder e-mail wel, dus bewaar het in een wachtwoordmanager. ## Welke regels gelden nog steeds zonder KYC? Elke regel die websites en mensen beschermt, geldt voor elk account. We respecteren robots.txt: onze crawler identificeert zich als WebReaderAPI, volgt de regels die voor hem of voor alle robots zijn geschreven, en leest geen pagina die een site niet toestaat. Geweigerde pagina's worden niet in rekening gebracht. 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. Het [Acceptable Use Policy](https://webreaderapi.com/nl/acceptable-use/) verbiedt onder andere Pagina's lezen om persoonsgegevens over privépersonen te verzamelen, inhoud achter een login of paywall lezen, materiaal van seksueel misbruik van kinderen, spam, fraude en elk gebruik dat de wet overtreedt waar jij of wij actief zijn. Meldingen worden door een persoon gecontroleerd, en overtredingen leiden tot opschorting. De identiteitscontrole overslaan betekent nooit deze regels overslaan. ## Wat bewaren we over je? Minder dan een typische API-provider, omdat er minder te bewaren is: je accountnummer, een optionele e-mail, je betalingen en credits, en aanvraaglogs die alleen hostnamen bevatten, na 30 dagen verwijderd. Er wordt geen pagina-inhoud opgeslagen. We bewaren nooit een ID-document, een selfie of een kaartnummer, dus die kunnen niet lekken. Het [privacybeleid](https://webreaderapi.com/nl/privacy/)] vermeldt elk item en hoe lang het blijft. ## Wie kiest een web reader zonder KYC? Vooral mensen voor wie papierwerk het langzaamste deel is van het uitproberen van een tool: - **Onafhankelijke ontwikkelaars** die een AI-agent bouwen en binnen enkele minuten een sleutel willen. - **Kleine teams** zonder bedrijfskaart, of in landen waar kaartbetalingen aan buitenlandse API's mislukken. - **Autonome projecten en bots** die worden gefinancierd met een cryptowallet in plaats van een bankrekening. - **Privacybewuste bouwers** die zo weinig mogelijk met elke leverancier willen delen. ## Hoe begin ik zonder ID? 1. Maak een account aan en bewaar het accountnummer. 2. Waardeer op vanaf US$ 25 in BTC, USDT, USDC, ETH, SOL, LTC: stuur het exacte bedrag dat wordt getoond op het getoonde netwerk en klik op "I've sent the payment". De opwaardering wordt bijgeschreven zodra deze is bevestigd. 3. Koop een pack, bijvoorbeeld 10.000 pagina's voor US$ 3,75, en kopieer je API-sleutel. 4. Stuur je eerste URL naar `https://webreaderapi.com/api/v1/read`, zoals getoond in de [quick start](https://webreaderapi.com/nl/docs/). ## Wat kost de web reader zonder KYC? Voor elk account gelden dezelfde prijzen: 10.000 pagina's voor US$ 3,75, 100.000 pagina's voor US$ 21,75, tot US$ 0,07/1K pagina's voor het grootste pack. Credits verlopen nooit. | Plan | Hoeveelheid | Prijs | Prijs per eenheid | | --- | --- | --- | --- | | Test | 10.000 pagina's | US$ 3,75 | US$ 0,38/1K pagina's | | Build | 100.000 pagina's | US$ 21,75 | US$ 0,22/1K pagina's | | Volume | 1.000.000 pagina's | US$ 74,25 | US$ 0,07/1K pagina's | In elk plan: Hoofdinhoud extraheren · JavaScript rendering wanneer nodig · Mislukte en geweigerde pagina's niet in rekening gebracht · Credits verlopen nooit Packs worden gekocht met een cryptosaldo dat is opgewaardeerd met minimaal US$ 25. Prijzen in USD, vastgesteld op 2026-10-22. ## Web reader zonder KYC: veelgestelde vragen ### Kan ik WebReaderAPI gebruiken zonder creditcard? Ja, en zelfs alleen maar zonder: betalingen zijn in BTC, USDT, USDC, ETH, SOL, LTC. Er staat geen kaart geregistreerd en niets wordt automatisch verlengd. ### Betekent geen KYC dat alles mag? Nee. Elke aanvraag volgt robots.txt en stopt wanneer een site weigert, en het acceptable use policy geldt voor elk account. Overtreding leidt tot opschorting van een account. ### Vragen jullie later om documenten, bijvoorbeeld boven een bepaald bestedingsbedrag? Ons aanmeld- en opwaardeerproces vraagt niet om documenten. We verstrekken gegevens aan autoriteiten alleen wanneer de wet dat vereist, zoals in het privacybeleid staat. ### Wat als ik mijn rekeningnummer kwijtraak? Dan kan de rekening niet worden hersteld, tenzij je er een e-mailadres aan hebt toegevoegd. Bewaar het nummer in een wachtwoordmanager en voeg een e-mailadres toe als je een vangnet wilt. ### Kan een bot of een agent zelf zijn credits betalen? Ja, zolang iemand de opwaardering vanaf een wallet verstuurt. De rekening werkt daarna zoals elke andere: koop een pack, gebruik een sleutel, houd het saldo in de gaten met `GET https://webreaderapi.com/api/v1/credits`. --- 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. --- # PDF naar Markdown API: stuur een PDF-link, krijg de tekst terug als Markdown > PDF naar Markdown API voor LLM's en RAG: stuur een PDF-URL en krijg de tekst terug als Markdown, tot 100 pagina's, vanaf US$ 0,07/1K pagina's. - URL: https://webreaderapi.com/nl/pdf-to-markdown-api/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Rapporten, papers, handleidingen en prijslijsten zijn vaak PDF's. Geef de link door aan hetzelfde endpoint dat je voor webpagina's gebruikt en krijg de tekst van het document als Markdown, klaar om te chunk en en te embedden. **Kort antwoord — Is er een API die een PDF van een URL omzet naar Markdown?** Ja. Met **WebReaderAPI** stuur je de URL van de PDF naar `https://webreaderapi.com/api/v1/read`: de API downloadt het bestand en geeft de tekst terug als Markdown, met koppen, paragrafen, lijsten en eenvoudige tabellen. Bestanden tot 20 MB en 100 pagina's worden ondersteund, voor 1 credit per begonnen blok van 10 pagina's, vanaf US$ 0,07/1K pagina's per oktober 2026. Zonder KYC; betalen met crypto. ## PDF naar Markdown in één oogopslag | Kenmerk | Waarde | | --- | --- | | Endpoint | `GET https://webreaderapi.com/api/v1/read?url=https://…/report.pdf` (hetzelfde als voor webpagina's) | | Limieten | PDF-bestanden tot 20 MB en 100 pagina's worden omgezet naar Markdown, voor 1 credit per begonnen blok van 10 pagina's | | Uitvoer | Markdown-tekst met koppen, paragrafen, lijsten en eenvoudige tabellen; `format=text` voor platte tekst | | Niet ondersteund | Gescande PDF's zonder tekstlaag (geen OCR), bestanden met wachtwoordbeveiliging | | robots.txt | Geldt voor PDF-links net als voor elke andere pagina | | Betaling | BTC, USDT, USDC, ETH, SOL, LTC, vanaf een opwaardering van US$ 25; zonder KYC | ## Hoe worden PDF-pagina's geteld? Een PDF kost 1 credit per begonnen blok van 10 pagina's. Een brochure van 4 pagina's kost 1 credit, een rapport van 25 pagina's 3 credits en een handleiding van 100 pagina's 10 credits. De response geeft het exacte aantal in `credits_used`. Bestanden groter dan 20 MB of langer dan 100 pagina's geven `422 unsupported_content` terug en gebruiken geen credit. Zoek voor een lang document eerst naar een HTML-versie van dezelfde inhoud: die is vaak goedkoper en beter gestructureerd. ## Hoe ziet de Markdown eruit? De converter bouwt de leesvolgorde opnieuw op uit de tekstlaag van de PDF. Grote of vetgedrukte regels aan het begin van een sectie worden koppen, opsommingen en genummerde items worden Markdown-lijsten, en eenvoudige rastertabellen worden Markdown-tabellen. Doorlopende kop- en voetteksten en paginanummers die op elke pagina terugkomen, worden verwijderd, zodat ze geen zinnen in je chunks splitsen. Twee-koloms lay-outs worden kolom voor kolom gelezen. Voetnoten blijven als tekst staan op de plek waar de pagina ze plaatst. *Python: lees een PDF en splits deze per kop in chunks* ```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]) ``` ## Welke PDF's werken het best, en welke niet? PDF's die zijn geëxporteerd uit een tekstverwerker, een website of een publicatietool werken het best: ze bevatten een tekstlaag met lettertypen en posities. Jaarverslagen, onderzoekspapers, producthandleidingen, beleidsdocumenten en prijslijsten vallen meestal in deze groep. Gescande documenten zijn afbeeldingen van pagina's en hebben geen tekstlaag. WebReaderAPI voert geen optical character recognition uit, dus een scan levert weinig of geen tekst op; het veld `word_count` laat dat meteen zien. PDF's met wachtwoordbeveiliging en versleutelde PDF's worden geweigerd met `422 unsupported_content`, zonder kosten. ## Hoe passen PDF's in een RAG-pipeline? Behandel ze als webpagina's. Lees de PDF, splits de Markdown langs de koppen, voeg de bron-URL en de paginatitel toe aan de metadata van elke chunk en embed dan. Door de URL te bewaren, kan je assistent het document citeren dat het heeft gebruikt. Wanneer een crawl links naar PDF's op hetzelfde domein tegenkomt, leest die ze met dezelfde regels en dezelfde robots.txt-checks. Zie de [RAG-gids](https://webreaderapi.com/nl/use-cases/rag/) voor een volledig ingestion-voorbeeld. ## Wat kost PDF-conversie? PDF's putten uit dezelfde credits als webpagina's: 1 credit per begonnen blok van 10 pagina's. Met 10.000 pagina's voor US$ 3,75 kun je ongeveer 10.000 korte PDF's of 1.000 documenten van 100 pagina's converteren. | Plan | Hoeveelheid | Prijs | Prijs per eenheid | | --- | --- | --- | --- | | Test | 10.000 pagina's | US$ 3,75 | US$ 0,38/1K pagina's | | Starter | 50.000 pagina's | US$ 14,25 | US$ 0,28/1K pagina's | | Build | 100.000 pagina's | US$ 21,75 | US$ 0,22/1K pagina's | | Scale | 500.000 pagina's | US$ 50 | US$ 0,10/1K pagina's | In elk plan: Hoofdinhoud extraheren · JavaScript rendering wanneer nodig · Mislukte en geweigerde pagina's niet in rekening gebracht · Credits verlopen nooit **Voordat je betaalt** - Minimale opwaardering US$ 25. Stort één keer op met crypto en koop daarna elk plan vanuit je saldo. - Je saldo heeft geen einddatum en kan op elk moment pagina-credits kopen. Als een pack minder kost dan de minimale opwaardering, kan het bedrag dat je alleen hebt toegevoegd om dat minimum te bereiken op verzoek worden teruggestuurd binnen 30 dagen na de betaling, in USDT of USDC, zolang je het niet hebt uitgegeven. Elk ander saldo wordt niet terugbetaald, tenzij de wet anders bepaalt. - Bijgeschreven zodra je betaling op de blockchain is gecontroleerd. Gebruikelijke bevestigingstijd van het netwerk: 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 ## PDF naar Markdown API: veelgestelde vragen ### Kan ik een PDF-bestand uploaden in plaats van een link te sturen? Niet in versie 1. De API leest PDF's van een openbare URL. Om een privébestand te converteren, zet je het gedurende de aanvraag op een URL die je zelf beheert. ### Haalt het tekst uit gescande PDF's? Nee. WebReaderAPI leest de tekstlaag van een PDF en voert geen OCR uit. Een gescand document levert weinig of geen tekst op, wat het veld `word_count` laat zien. ### Blijven tabellen behouden? Eenvoudige rastertabellen worden Markdown-tabellen. Tabellen met samengevoegde cellen of complexe lay-outs blijven als tekst in leesvolgorde staan, wat modellen nog steeds goed lezen. ### Wordt een PDF in rekening gebracht als het mislukt? Nee. Bestanden die te groot, te lang of versleuteld zijn of door de site worden geweigerd, worden niet in rekening gebracht. 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. --- 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. --- # Prijzen web reader API: prepaid paginacredits die nooit verlopen > WebReaderAPI-prijzen: US$ 3,75 voor 10.000 pagina's tot US$ 0,07/1K pagina's, credits verlopen nooit, mislukte pagina's gratis. Zonder KYC, betalen met crypto. - URL: https://webreaderapi.com/nl/pricing/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Eén credit leest één pagina; een pagina die een browser nodig heeft, kost twee. Pagina's die mislukken of die een site weigert, kosten niets. Koop een pack met je crypto-saldo en gebruik het in je eigen tempo. Zonder KYC — geen ID, geen selfie, geen documenten. Betalen met crypto. **Kort antwoord — Hoeveel kost WebReaderAPI?** **WebReaderAPI** verkoopt prepaid paginacredits: 10.000 pagina's voor US$ 3,75 (US$ 0,38/1K pagina's), 100.000 pagina's voor US$ 21,75, 1.000.000 pagina's voor US$ 74,25 en US$ 0,07/1K pagina's bij 5 miljoen, per oktober 2026. Een pagina die met een browser wordt gelezen, gebruikt twee credits. Mislukte pagina's en pagina's die door robots.txt worden geweigerd, zijn gratis, en credits verlopen nooit. Zonder KYC; betalen met crypto. ## Welk creditpack moet ik kopen? Zes packs, met dezelfde API en opties in elk. De prijs per pagina daalt van US$ 0,38/1K pagina's bij het kleinste pack tot US$ 0,07/1K pagina's bij het grootste. | Plan | Hoeveelheid | Prijs | Prijs per eenheid | | --- | --- | --- | --- | | Test | 10.000 pagina's | US$ 3,75 | US$ 0,38/1K pagina's | | Starter | 50.000 pagina's | US$ 14,25 | US$ 0,28/1K pagina's | | Build | 100.000 pagina's | US$ 21,75 | US$ 0,22/1K pagina's | | Scale | 500.000 pagina's | US$ 50 | US$ 0,10/1K pagina's | | Volume | 1.000.000 pagina's | US$ 74,25 | US$ 0,07/1K pagina's | | Bulk | 5.000.000 pagina's | US$ 350 | US$ 0,07/1K pagina's | In elk plan: Hoofdinhoud extraheren · JavaScript rendering wanneer nodig · Mislukte en geweigerde pagina's niet in rekening gebracht · Credits verlopen nooit **Voordat je betaalt** - Minimale opwaardering US$ 25. Stort één keer op met crypto en koop daarna elk plan vanuit je saldo. Hoe betalen werkt ## Hoe worden pagina's geteld? Elke response vermeldt wat het heeft gekost in `credits_used`. De regels: - **Statische pagina: 1 credit.** De HTML van de pagina bevatte de inhoud. - **Pagina die een browser nodig had: 2 credits.** Met `render=auto` draait de browser alleen als de ruwe HTML bijna leeg is; `render=false` gebruikt hem nooit. - **Land gekozen: +10 credits.** Het land kiezen van waaruit een pagina wordt gelezen kost 10 credits extra, omdat de pagina dan via een residential-verbinding in dat land wordt gelezen. - **PDF: 1 credit per begonnen blok van 10 pagina's.** Een rapport van 25 pagina's kost 3 credits. - **Fouten en weigeringen: 0 credit.** Ongeldige URL's, time-outs, pagina's die door robots.txt of door de site worden geweigerd, en bestanden die we niet kunnen lezen zijn gratis. - **Je saldo checken: gratis.** `GET https://webreaderapi.com/api/v1/credits` gebruikt geen credit. ## Verlopen ongebruikte credits? Nee. Prepaid credits verlopen nooit: ongebruikte pagina's blijven op je account staan tot je ze gebruikt. Een pack dat je voor de ene crawl koopt, behoudt zijn resterende waarde voor de volgende, en een agent die een maand niets doet, verliest niets. Als we ooit stoppen met het verkopen van de dienst, geven de [voorwaarden](https://webreaderapi.com/nl/terms/) je minstens 30 dagen de tijd om je credits te gebruiken of hun waarde over te dragen. Een prijsverhoging geldt alleen voor packs die na publicatie zijn gekocht. ## Welk pack past bij mijn workload? Typische volumes en het pack dat ze dekt. Reken twee credits voor pagina's die een browser nodig hebben. | Workload | Pagina's | Aanbevolen pack | | --- | --- | --- | | Prototype-agent of een eenmalige crawl van een kleine site | onder 5.000 | 10.000 pagina's (US$ 3,75) | | AI-agent die dagelijks door een klein team wordt gebruikt | 10.000 tot 30.000 per maand | 50.000 pagina's (US$ 14,25) | | RAG-index van meerdere documentatiesites, met wekelijkse verversingen | 30.000 tot 80.000 | 100.000 pagina's (US$ 21,75) | | Product dat pagina's leest voor zijn eigen gebruikers | 100.000 tot 400.000 per maand | 500.000 pagina's (US$ 50) | | Onderzoekscorpus of groot archief | 1 miljoen en meer | 1.000.000 pagina's (US$ 74,25) of 5.000.000 pagina's (US$ 350) | ## Hoe verhouden deze prijzen zich tot andere web reader API's? Prijs per 1.000 pagina's wanneer je 100.000 pagina's per maand leest, van de openbare prijspagina van elke provider. De volledige tabel, met 21 API's en drie volumes, staat op [web reader API-prijzen vergeleken](https://webreaderapi.com/nl/compare/web-reader-api-pricing/). | Provider en plan | Gewone pagina's | Pagina's die een browser nodig hebben | | --- | --- | --- | | WebReaderAPI, 100.000 pagina's | US$ 0,22/1K pagina's | 2 credits per pagina | | Firecrawl Standard ($99 voor 100.000 credits) | $0.99 | $0.99 (elke pagina gerenderd) | | Olostep Standard ($99) | $0.99 | $0.99 (elke pagina gerenderd) | | Crawl4AI Cloud Builder ($99) | $0.50 | $0.99 | | Scrape.do Hobby ($29 voor 250.000 credits) | $0.29 | $0.99 op Pro | | ScrapingBee Freelance ($49) | $0.49 | $0,99 bij Startup | | Exa contents | $1.00 | Geen browseroptie gedocumenteerd | | Tavily Extract (basis, met pay as you go) | $1.40 | $2,36 (geavanceerd) | *Prijzen gecontroleerd op 22 oktober 2026.* We beweren niet de goedkoopste te zijn bij elk volume of voor elk paginatype. Bronnen: de prijspagina van elke provider, vermeld op de vergelijkingspagina. ## Hoe betalen werkt 1. **Waardeer op met US$ 25 of meer** — Kies het bedrag en de coin (BTC, USDT, USDC, ETH, SOL, LTC). Het crypto-bedrag en de koers staan 30 minuten vast. 2. **Stuur het naar het getoonde adres, op exact hetzelfde netwerk** — De betaalpagina toont ons depositoadres voor de coin en het netwerk die je hebt gekozen: BTC aan Bitcoin, USDT aan Tron (TRC-20) of Ethereum (ERC-20), USDC aan Ethereum (ERC-20), ETH aan Ethereum, SOL aan Solana, LTC aan Litecoin. Stuur alleen die coin op dat netwerk: geld dat via een ander netwerk of in een andere coin wordt gestuurd, kan niet worden teruggehaald. De netwerkkosten komen bovenop het bedrag. 3. **Stuur het exacte bedrag dat wordt getoond en klik daarna op “Ik heb betaald”** — Elke opwaardering heeft zijn eigen exacte bedrag (tot op de laatste decimalen): zo vinden we je betaling en koppelen we die aan je account. 4. **Bijgeschreven zodra je betaling op de blockchain is gecontroleerd** — Je saldo wordt bijgeschreven zodra we de transactie op de blockchain hebben gecontroleerd, nadat het netwerk die heeft bevestigd. Gebruikelijke bevestigingstijden van het netwerk: 5. **Eén saldo voor al je pagina-credits** — Als je met een pack begint, is de top-up gelijk aan de prijs ervan (of het minimum, als het pack kleiner is); de credits worden toegevoegd zodra de betaling is bijgeschreven, en de API-sleutel staat klaar in je dashboard. Het restant blijft op het saldo voor latere packs. Je saldo heeft geen einddatum en kan op elk moment pagina-credits kopen. Als een pack minder kost dan de minimale opwaardering, kan het bedrag dat je alleen hebt toegevoegd om dat minimum te bereiken op verzoek worden teruggestuurd binnen 30 dagen na de betaling, in USDT of USDC, zolang je het niet hebt uitgegeven. Elk ander saldo wordt niet terugbetaald, tenzij de wet anders bepaalt. | Crypto | Netwerk | Bevestigingen | Gebruikelijke tijd | | --- | --- | --- | --- | | 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 | Tab gesloten? De openstaande opwaardering blijft staan onder Facturering in je account: open die om het adres en het exacte bedrag opnieuw te zien. ## Vragen over prijzen ### Is er een gratis tier? Nee. 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. Het 10.000 pagina's-pack kost US$ 3,75 en bevat elke optie van het grootste pack. ### Waarom moet ik US$ 25 opwaarderen als een pack minder kost? Elke betaling loopt via je saldo, en de minimale opwaardering is US$ 25. Je saldo heeft geen einddatum en kan op elk moment pagina-credits kopen. Als een pack minder kost dan de minimale opwaardering, kan het bedrag dat je alleen hebt toegevoegd om dat minimum te bereiken op verzoek worden teruggestuurd binnen 30 dagen na de betaling, in USDT of USDC, zolang je het niet hebt uitgegeven. Elk ander saldo wordt niet terugbetaald, tenzij de wet anders bepaalt. ### Kan ik een terugbetaling krijgen? Een creditpack dat minder dan 72 uur geleden is gekocht, gaat terug naar je saldo als minder dan 20% van de credits is gebruikt. Als een pack niet werkt en support het niet binnen 24 uur kan oplossen, gaat alles terug naar je saldo. Top-ups blijven saldo en worden niet terugbetaald tenzij de wet anders bepaalt; het bedrag dat alleen is toegevoegd om de minimale top-up te halen, kan op verzoek binnen 30 dagen worden terugbetaald, in USDT of USDC, zolang het niet is besteed. Het [restitutiebeleid](https://webreaderapi.com/nl/refunds/) bevat uitgewerkte voorbeelden. ### Kosten JavaScript-pagina's altijd twee credits? Alleen wanneer de browser daadwerkelijk draait. Met `render=auto` worden de meeste nieuws-, blog- en documentatiepagina's voor één credit uit hun HTML gelezen; de browser start pas wanneer die HTML te weinig tekst bevat. Het veld `rendered` vertelt je wat er is gebeurd. ### Met welke cryptocurrencies kan ik betalen? BTC, USDT, USDC, ETH, SOL, LTC. USDT werkt op TRC-20 of ERC-20, en USDC op ERC-20. De [pagina over cryptobetalingen](https://webreaderapi.com/nl/crypto-payments/) legt elke stap uit. --- 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. --- # Privacybeleid > Privacybeleid WebReaderAPI: we loggen hostnamen, nooit volledige URL's of paginacontent, 30 dagen. Geen ID of kaart, inloggen met accountnummer. - URL: https://webreaderapi.com/nl/privacy/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Een web reader ziet twee soorten gegevens: die van jou als klant, en de pagina's die je hem laat lezen. Dit beleid behandelt beide, in die volgorde. **Kort antwoord — Wat bewaart WebReaderAPI over mij en de pagina's die ik lees?** **WebReaderAPI** bewaart je accountnummer, een optioneel e-mailadres, je betalings- en creditadministratie, en requestlogs met de hostnaam van elke pagina, nooit de volledige URL of de content, gedurende 30 dagen. We bewaren geen kopie van de pagina's die je leest. We vragen geen ID-document en geen kaart, en we verkopen of delen je gegevens niet. ## Welke gegevens verzamelen we over jou? Alleen wat nodig is om de dienst te draaien: - **Account:** je accountnummer, en een e-mailadres als je er een wilt toevoegen. - **Betalingen:** opwaarderingen, hun transactie-ID's, coins en netwerken, en de packs die je koopt. - **Gebruik:** Elk verzoek laat een logregel achter met de tijd, het account, de hostnaam van de pagina (nooit de volledige URL of de inhoud), de status en de gebruikte credits; deze regels worden na 30 dagen verwijderd. Pagina's die je leest, worden niet opgeslagen. Accountnummer, bestellingen, top-ups en credittotalen worden bewaard zolang het account bestaat, daarna alleen zolang de boekhoudwetgeving dat eist. Gegevens gaan alleen naar autoriteiten als de wet ons daartoe verplicht. - **API-sleutels:** opgeslagen zodat we je requests kunnen controleren, op elk moment intrekbaar. ## Wat verzamelen we nooit? We verzamelen nooit identiteitsdocumenten, selfies, bedrijfspapieren of kaartnummers, omdat we ze niet nodig hebben. Inloggen met je accountnummer; e-mail is optioneel. We bewaren nooit het volledige adres van de pagina's die je leest, hun content, of de Markdown die we je terugsturen. Zodra het antwoord onze servers verlaat, is de paginatekst aan onze kant weg. ## Waarom de hostnaam van elke pagina bewaren? Om twee redenen: om je je gebruiksgeschiedenis te tonen, en om site-eigenaren te antwoorden die een probleem met onze crawler melden. Een hostnaam zoals `example.com` is voor beide genoeg, dus we korten elke URL daartoe in voordat we de log schrijven. Logs worden na 30 dagen verwijderd. ## Wie ziet de requests die we voor je maken? De website die je ons laat lezen, ziet een request van onze infrastructuur, met onze user agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`. Hij ziet niet je account, je sleutel of je identiteit. Wanneer je de optie `country` gebruikt, vertrekt het request vanaf een adres in dat land via onze infrastructuur, met dezelfde user agent. Onze infrastructuur ontvangt alleen wat nodig is om de pagina op te halen: de URL en de opties die je hebt gekozen. ## Gebruiken jullie cookies? De openbare pagina's gebruiken geen advertentie- of trackingcookies. Het klantgedeelte gebruikt de opslag die nodig is om je ingelogd te houden en om interfacekeuzes zoals je taal te onthouden. Betaalpagina's tonen adressen en bedragen maar plaatsen geen third-party trackers. ## Delen of verstrekken jullie gegevens? We verkopen of verhuren geen gegevens. Gegevens gaan alleen naar autoriteiten op grond van een wettelijke verplichting, en we vertellen het je wanneer de wet dat toestaat. Account- en betalingsgegevens worden bewaard zolang je account open is, daarna alleen zolang de boekhoudregels dat vereisen. ## Hoe bekijk of verwijder ik mijn gegevens? Je gebruiksgeschiedenis en betalingen staan in het klantgedeelte. Om je account te verwijderen, vraag het aan vanuit het klantgedeelte of schrijf naar support@webreaderapi.com met een order-ID; we vragen niet om je accountnummer of een sleutel. Het verwijderen van het account verwijdert ook de credits, zoals de [voorwaarden](https://webreaderapi.com/nl/terms/) uitleggen. --- 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. --- # Restitutiebeleid > Restitutiebeleid WebReaderAPI: ongebruikte creditpacks terug binnen 72 uur bij minder dan 20% gebruik, volledige compensatie bij een pack dat niet werkt. - URL: https://webreaderapi.com/nl/refunds/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Restituties gaan naar je saldo, waar ze blijven staan en nooit verlopen. Deze pagina geeft de regel, drie voorbeelden met echte packgroottes, en hoe je erom vraagt. **Kort antwoord — Kan ik WebReaderAPI-credits terugkrijgen?** Ja, in twee gevallen. Binnen 72 uur na aankoop gaat een creditpack van **WebReaderAPI** terug naar je saldo als je er minder dan 20% van hebt gebruikt. Een pack dat niet werkt en dat support niet binnen 24 uur kan oplossen, wordt volledig teruggecrediteerd. Top-ups blijven op je saldo; alleen het deel dat is toegevoegd om het minimum van US$ 25 te halen, kan worden terugbetaald. ## Wat is de exacte regel? Een creditpack dat minder dan 72 uur geleden is gekocht, gaat terug naar je saldo als minder dan 20% van de credits is gebruikt. Als een pack niet werkt en support het niet binnen 24 uur kan oplossen, gaat alles terug naar je saldo. Top-ups blijven saldo en worden niet terugbetaald tenzij de wet anders bepaalt; het bedrag dat alleen is toegevoegd om de minimale top-up te halen, kan op verzoek binnen 30 dagen worden terugbetaald, in USDT of USDC, zolang het niet is besteed. Verzoeken om terugbetaling worden door een persoon behandeld, en het bedrag verschijnt op je saldo zodra het is goedgekeurd. Mislukte verzoeken hoeven nooit te worden terugbetaald, omdat ze sowieso geen credit gebruiken. Dat geldt ook voor pagina's die worden geweigerd door robots.txt, door de AI-voorkeur van een site of door de site zelf. ## Voorbeeld 1: een pack dat per ongeluk is gekocht Je koopt 100.000 pagina's voor US$ 21,75, leest 3.000 pagina's om te testen en besluit dat een kleiner pack beter bij je past. Je vraagt het de volgende dag aan. Je hebt 3% van het pack gebruikt, onder de limiet van 20% en binnen 72 uur, dus de volledige US$ 21,75 gaat terug naar je saldo. Daarvan kun je dan 10.000 pagina's voor US$ 3,75 kopen. ## Voorbeeld 2: een pack dat niet werkt Je koopt 50.000 pagina's voor US$ 14,25 en elk verzoek geeft aan onze kant een fout terug om een reden die support niet binnen 24 uur kan oplossen. Het pack wordt volledig teruggecrediteerd, ongeacht welk deel je had geprobeerd te gebruiken. ## Voorbeeld 3: de minimale top-up Je hebt maar 10.000 pagina's nodig voor US$ 3,75, maar de minimale top-up is US$ 25. Het verschil blijft op je saldo staan voor latere packs. Als je het niet uitgeeft, kun je vragen om dat verschil binnen 30 dagen na de betaling terug te betalen, in USDT of USDC. Niets anders in een top-up wordt terugbetaald, behalve waar de wet dat vereist. ## Hoe vraag ik een terugbetaling aan? Gebruik het supportformulier in het klantgedeelte, of schrijf naar support@webreaderapi.com met het order-ID dat in je ordergeschiedenis staat (nooit je rekeningnummer of een API-sleutel). Support antwoordt binnen 12 uur; zodra een terugbetaling is goedgekeurd, verschijnt het bedrag op je saldo. ## Waarom gaan terugbetalingen naar het saldo? Omdat cryptobetalingen niet kunnen worden teruggedraaid zoals kaartbetalingen, en het terugsturen van coins elke keer netwerkkosten kost. Een saldo-credit is direct en kost je niets. De enige uitzondering, terugbetaald in stablecoins, is het deel van een top-up dat alleen is toegevoegd om het minimum te halen, binnen 30 dagen en als het niet is uitgegeven. Betalingen worden verder niet terugbetaald, behalve waar de wet dat vereist. --- 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. --- # WebReaderAPI-status: hoe je controleert of de API werkt > Hoe je controleert of de web reader API van WebReaderAPI werkt: de gratis credits-endpoint, wat elke foutcode betekent en waar incidenten worden aangekondigd. - URL: https://webreaderapi.com/nl/status/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Als een pagina niet terugkomt, ligt de oorzaak meestal bij de website, soms bij het netwerk en zelden bij ons. Deze pagina laat zien hoe je in een paar seconden ziet welke van de drie het is, zonder een credit te gebruiken. **Kort antwoord — Hoe weet ik of WebReaderAPI werkt?** Roep `GET https://webreaderapi.com/api/v1/credits` aan met je sleutel: dat is gratis, en een normaal antwoord betekent dat de API en je sleutel werken. Als een pagina mislukt, vertelt de foutcode je waarom, en **WebReaderAPI** rekent daar niets voor. Incidenten aan onze kant staan met hun datum op de [changelog](https://webreaderapi.com/nl/changelog/). ## Wat is de snelste health check? De credits-endpoint. Die antwoordt zonder een website op te halen, dus test alleen onze kant: authenticatie, de API en je account. *curl: controleer de API en je resterende credits* ```bash curl -s https://webreaderapi.com/api/v1/credits -H "Authorization: Bearer $WEBREADER_API_KEY" ``` ## Welke fouten komen van de website en welke van ons? De foutcode zegt waar het probleem zit. Geen van deze fouten gebruikt een credit. | Code | Waar het probleem zit | Wat je moet doen | |---|---|---| | `blocked_by_robots` | De robots.txt van de site weigert onze crawler | Niets: de site heeft nee gezegd | | `blocked_by_site_policy` | De site verklaart `ai-input=no` | Niets: de site heeft nee gezegd | | `target_refused` | De site antwoordde met 403, 429, een challenge of een login | Probeer later, of vraag de site om toegang | | `fetch_failed` | DNS, TLS, verbinding of een 404/410-pagina | Controleer de URL; probeer later opnieuw | | `fetch_timeout` | De site antwoordde niet op tijd | Probeer opnieuw met een langere `timeout` | | `concurrency_limit` | Te veel verzoeken tegelijk vanaf je account | Vertraag of vraag om een hogere limiet | | `invalid_api_key`, `insufficient_credits` | Je sleutel of je saldo | Controleer het dashboard | De [foutpagina](https://webreaderapi.com/nl/docs/errors/) geeft elk geval in detail, met een retry-loop. ## Waarom staat hier geen live uptime-cijfer? Omdat we er nog geen hebben gemeten op een publieke steekproef, en een verzonnen cijfer je zou misleiden. Het succes van een read hangt vooral af van de site die wordt gelezen, dus één percentage zou weinig zeggen. Zodra we cijfers publiceren, komen ze met de methode, de steekproef en de datum. ## Waar worden incidenten aangekondigd? Op de [changelog](https://webreaderapi.com/nl/changelog/), met de datum, de getroffen endpoints en wat er is gedaan. Als je herhaalde fouten aan onze kant ziet (codes anders dan die door de doelsite worden veroorzaakt), schrijf dan naar support@webreaderapi.com met de tijd van het verzoek en de foutcode. ## Status: veelgestelde vragen ### Kost het controleren van mijn credits iets? Nee. `GET https://webreaderapi.com/api/v1/credits` gebruikt nooit een credit, dus je kunt het zo vaak als je wilt vanuit een health check aanroepen, binnen je concurrency-limiet. ### Een pagina mislukt bij mij maar opent in mijn browser. Waarom? Meestal omdat de site robots anders behandelt dan mensen: hij kan onze crawler weigeren in robots.txt of geautomatiseerde verzoeken beantwoorden met een challenge-pagina. We geven zijn antwoord terug en rekenen niets. De foutcode en `target_status` laten zien wat de site stuurde. ### Worden mislukte reads ooit in rekening gebracht? 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. --- 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. --- # Servicevoorwaarden > Servicevoorwaarden van WebReaderAPI: account, paginacredits die nooit verlopen, crypto-top-ups, robots.txt en aansprakelijkheid, in begrijpelijk Nederlands. - URL: https://webreaderapi.com/nl/terms/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Deze voorwaarden gelden voor de website, het klantgedeelte en de API. Elke sectie beantwoordt één vraag, en niets belangrijks zit verstopt in een voetnoot. **Kort antwoord — Wat zeggen de WebReaderAPI-voorwaarden in het kort?** Je betaalt met crypto voor prepaid pagina-credits voor de **WebReaderAPI** web reader API, na een top-up van minimaal US$ 25. 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. Prepaid credits verlopen nooit: ongebruikte pagina's blijven op je account staan tot je ze gebruikt. Elke request volgt de robots.txt van de doelsite, en het [Acceptable Use Policy](https://webreaderapi.com/nl/acceptable-use/) maakt deel uit van deze voorwaarden. De dienst wordt verkocht door SerpGoat LLC. ## 1. Wie is gebonden aan deze voorwaarden? Jij en SerpGoat LLC, dat WebReaderAPI exploiteert. "Jij" is de houder van een account, een persoon of een organisatie. Een account aanmaken, een top-up betalen of de API aanroepen betekent dat je deze voorwaarden en het [Acceptable Use Policy](https://webreaderapi.com/nl/acceptable-use/) accepteert. ## 2. Wat doet de dienst? WebReaderAPI haalt openbare webpagina's en PDF-bestanden op die je opgeeft en retourneert de inhoud als Markdown, platte tekst of opgeschoonde HTML, via `https://webreaderapi.com/api/v1/read`, `https://webreaderapi.com/api/v1/batch` en `https://webreaderapi.com/api/v1/crawl`. Websites bepalen zelf wat hun pagina's bevatten en of robots ze mogen lezen. Wij beheren, corrigeren of garanderen de inhoud die we retourneren niet. Dezelfde URL kan bij de ene request een ander resultaat geven dan bij de volgende. ## 3. Hoe werken accounts en API-sleutels? Inloggen met je accountnummer; e-mail is optioneel. Je logt in met je accountnummer, dus bewaar het op een veilige plek. Een optioneel e-mailadres geeft je een manier om het terug te krijgen; zonder e-mailadres in je account kan een verloren nummer niet worden hersteld. Je kunt meerdere sleutels aanmaken en elke sleutel intrekken vanuit het dashboard. Elke request met een van je sleutels gebruikt je credits, wie hem ook verstuurt, dus houd sleutels privé en trek elke sleutel die uitlekt in. Eén account per persoon of organisatie. ## 4. Hoe worden credits geteld en wanneer verlopen ze? 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. Het land kiezen van waaruit een pagina wordt gelezen kost 10 credits extra, omdat de pagina dan via een residential-verbinding in dat land wordt gelezen. PDF-bestanden tot 20 MB en 100 pagina's worden omgezet naar Markdown, voor 1 credit per begonnen blok van 10 pagina's. Prepaid credits verlopen nooit: ongebruikte pagina's blijven op je account staan tot je ze gebruikt. Credits gaan alleen verloren als je je account verwijdert of als wij het sluiten wegens schending van deze voorwaarden. Als we stoppen met de verkoop van de dienst, geven we minimaal 30 dagen van tevoren bericht, zodat je je resterende credits kunt gebruiken of hun waarde naar een ander product kunt overzetten. ## 5. Hoe werken betalingen? Prijzen zijn in US dollars op de [pricing page](https://webreaderapi.com/nl/pricing/). Je vult een saldo aan in BTC, USDT, USDC, ETH, SOL, LTC, met een minimum van US$ 25, en koopt credit packs van dat saldo. Stuur het exacte bedrag dat wordt getoond op het getoonde netwerk en klik daarna op "I've sent the payment"; de betaling wordt gematcht op het exacte bedrag en gecrediteerd zodra deze op de blockchain is bevestigd. Je saldo behoudt zijn waarde zonder einddatum. Als een pack minder kost dan de minimum top-up, kan het resterende deel binnen 30 dagen worden teruggevraagd, in USDT of USDC, zolang het niet is verbruikt; overige top-ups worden niet terugbetaald, tenzij de wet dat vereist. Netwerkkosten worden door de verzender betaald. ## 6. Kan ik een refund krijgen? Ja, naar je saldo, in twee gevallen: een pack dat binnen 72 uur na aankoop voor minder dan 20% is gebruikt, en een pack dat niet werkt en dat support niet binnen een dag kan oplossen. Het [refund policy](https://webreaderapi.com/nl/refunds/) vermeldt de volledige regel, met uitgewerkte voorbeelden. ## 7. Welke regels gelden voor de pagina's die ik lees? Onze crawler past bij elke request drie regels toe, en die kunnen niet worden uitgeschakeld. We respecteren robots.txt: onze crawler identificeert zich als WebReaderAPI, volgt de regels die voor hem of voor alle robots zijn geschreven, en leest geen pagina die een site niet toestaat. Geweigerde pagina's worden niet in rekening gebracht. Als een site Content-Signal: ai-input=no in zijn robots.txt aangeeft, lezen we de pagina's niet voor je. 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. Je bent zelf verantwoordelijk voor hoe je de inhoud gebruikt die je ontvangt, inclusief de rechten van de eigenaren ervan. Het [Acceptable Use Policy](https://webreaderapi.com/nl/acceptable-use/) noemt verboden gebruik. ## 8. Zijn er limieten op volume of snelheid? Elk account heeft een limiet voor het aantal pagina's dat het tegelijk leest; je dashboard toont die, en support kan hem verhogen. Crawl één website per job, tot 10.000 pagina's, volgens de sitemap, de robots.txt en de Crawl-delay. Tot 100 URL's per batch-job. We kunnen requests naar één website vertragen of pauzeren om die te beschermen, bijvoorbeeld door de `Crawl-delay` ervan te respecteren. ## 9. Wanneer kunnen jullie mijn account opschorten? Wanneer we een schending van deze voorwaarden of van het acceptable use policy vaststellen, wanneer een betaling wordt teruggedraaid of frauduleus is, of wanneer de wet dat vereist. We melden je de reden wanneer de wet dat toestaat, en een persoon beoordeelt de feiten vóór elke opschorting. ## 10. Wat garanderen jullie? We leveren de dienst zoals die is. We garanderen niet dat een bepaalde pagina kan worden gelezen, dat een site onze requests accepteert, of dat de dienst zonder onderbreking draait. Mislukte requests en pagina's die een site weigert, worden niet in rekening gebracht, wat je kosten beperkt wanneer een pagina niet kan worden gelezen. ## 11. Wat is jullie aansprakelijkheid? Waar de wet dat toestaat, is onze totale aansprakelijkheid voor elke claim beperkt tot de bedragen die je ons hebt betaald in de 12 maanden vóór de gebeurtenis die de claim veroorzaakte. We zijn niet aansprakelijk voor indirecte schade, zoals gederfde winst of verloren data. Niets in deze voorwaarden beperkt een aansprakelijkheid die we wettelijk niet mogen beperken. ## 12. Hoe veranderen deze voorwaarden? We dateren elke versie en leggen wijzigingen vast in de [changelog](https://webreaderapi.com/nl/changelog/). Een wijziging die je rechten beperkt, geldt voor credits die zijn gekocht nadat de wijziging is gepubliceerd. Vragen kun je sturen naar support@webreaderapi.com. --- 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. --- # Webpagina naar Markdown API: de hoofdinhoud van elke URL, klaar voor een model > Webpagina naar Markdown API voor LLM's en AI-agents: elke URL naar schone Markdown met titel, auteur en datum, vanaf US$ 0,07/1K pagina's. Zonder KYC, crypto. - URL: https://webreaderapi.com/nl/url-to-markdown-api/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Geef een URL door en krijg het artikel terug als Markdown: koppen, paragrafen, lijsten, tabellen en links blijven behouden; menu's, cookiebanners, advertenties en footers worden verwijderd. Met de titel, auteur, datum en taal van de pagina. **Kort antwoord — Welke API converteert een webpagina naar schone Markdown voor een LLM?** Een webpagina naar Markdown API haalt een pagina op, behoudt de hoofdinhoud en retourneert die als Markdown. **WebReaderAPI** doet dat in één request: `GET https://webreaderapi.com/api/v1/read?url=…` retourneert het artikel met koppen, lijsten, tabellen en links, plus titel, auteur, datum en woordenaantal, voor één credit per pagina vanaf US$ 0,07/1K pagina's per oktober 2026. robots.txt wordt gerespecteerd. Zonder KYC; betalen met crypto. ## URL naar Markdown API in één oogopslag | Kenmerk | Waarde | | --- | --- | | Endpoint | `GET https://webreaderapi.com/api/v1/read?url=…` (of `POST` met een JSON-body) | | Uitvoer | Schone Markdown van de hoofdinhoud van de pagina (of platte tekst, of opgeschoonde HTML), met titel, beschrijving, auteur, publicatiedatum, taal en woordenaantal; links en afbeeldingen op verzoek | | JavaScript | JavaScript-rendering in een headless browser wanneer de pagina het nodig heeft (render=auto), of altijd, of nooit | | 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 | | Tokenbudget | `max_chars` kort de Markdown in tot de lengte die je model aankan | | robots.txt | We respecteren robots.txt: onze crawler identificeert zich als WebReaderAPI, volgt de regels die voor hem of voor alle robots zijn geschreven, en leest geen pagina die een site niet toestaat. Geweigerde pagina's worden niet in rekening gebracht | | Prijs | US$ 3,75 voor 10.000 pagina's, US$ 21,75 voor 100.000 pagina's, vanaf US$ 0,07/1K pagina's bij 5.000.000 pagina's | | Betaling | BTC, USDT, USDC, ETH, SOL, LTC, vanaf een opwaardering van US$ 25; zonder KYC | ## Waarom webpagina's naar Markdown converteren voordat je ze aan een model geeft? Markdown behoudt de structuur die een model nodig heeft en laat de markup weg die het niet nodig heeft. Een typische artikelpagina bevat navigatie, scripts, trackingtags, cookiemeldingen en widgets met gerelateerde berichten rond een paar honderd woorden tekst. Verstuurd als ruwe HTML bestaat het grootste deel van de tokens waarvoor je betaalt uit markup. Markdown behoudt koppen als `#`, lijsten als `-`, tabellen als pipes en links als `[text](url)`. Een model kan nog steeds zien welke zin bij welke sectie hoort, de bronlink citeren en de tekst langs de koppen in chunks splitsen. Dezelfde tekst als platte prosa verliest die structuur; dezelfde tekst in HTML kost veel meer tokens. ## Wat behoudt de API, en wat verwijdert hij? Met `main_content=true`, de standaardwaarde, behoudt de API het deel van de pagina waarvoor een lezer kwam en verwijdert de rest. | Behoudt | Verwijdert | |---|---| | Titel en koppen | Sitennavigatie en menu's | | Alinea's, citaten en lijsten | Cookie- en toestemmingsbanners | | Tabellen, als Markdown-tabellen | Advertenties en gepromote widgets | | Codeblokken, met hun taal wanneer die wordt getoond | Zijbalken en lijsten met gerelateerde berichten | | Links in de tekst | Footers en juridische standaardteksten | | Afbeeldingen, alleen met `include_images=true` | Deelknoppen en reactieformulieren | Stel `main_content=false` in om in plaats daarvan de hele pagina te converteren, bijvoorbeeld een homepagina of een productoverzicht waarbij alles ertoe doet. Stel `format=text` in voor platte tekst zonder Markdown, of `format=html` voor opgeschoonde HTML van de hoofdinhoud. *curl: één pagina als Markdown, afgekapt op 20.000 tekens* ```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: een pagina lezen en de metadata en Markdown printen* ```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]) ``` ## Hoe zit het met pagina's die met JavaScript zijn gebouwd? Veel pagina's sturen bijna geen tekst in hun eerste HTML en bouwen de inhoud in de browser op. Met `render=auto`, de standaardwaarde, leest de API eerst de ruwe HTML; bevat die te weinig tekst, dan opent hij de pagina in een headless browser en leest het resultaat. De response vermeldt in `rendered` welke van de twee is gebeurd. Een pagina waarvoor de browser nodig was, kost twee credits in plaats van één. Weet je dat een site hem altijd nodig heeft, stel dan `render=true` in; wil je alleen wat de server stuurt, stel dan `render=false` in en betaal nooit de tweede credit. ## Wat gebeurt er als een site niet gelezen wil worden? We respecteren die keuze en je betaalt niets. Onze crawler identificeert zich als `WebReaderAPI` en controleert robots.txt vóór elke keer lezen. Een pagina die niet is toegestaan voor onze token, of voor alle robots, geeft `403 blocked_by_robots`. Een site die `Content-Signal: ai-input=no` aangeeft, geeft `403 blocked_by_site_policy`. Weigert de site het verzoek op een andere manier, bijvoorbeeld met een 403-status, een challenge-pagina of een loginmuur, dan krijg je `502 target_refused` met de status van de site zelf. 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. Onze [crawlerpagina](https://webreaderapi.com/nl/bot/) legt dit alles uit aan site-eigenaren, met de exacte User-Agent. ## Hoeveel pagina's heeft mijn project nodig? Reken één credit per pagina, twee voor pagina's waarvoor de browser nodig is. Enkele typische volumes: - **Een AI-agent** die 5 pagina's per taak leest en 100 taken per dag uitvoert, leest ongeveer 15.000 pagina's per maand: 50.000 pagina's (US$ 14,25) gaan meer dan drie maanden mee. - **Een RAG-index** van drie documentatiesites met elk 2.000 pagina's is 6.000 pagina's, daarna een wekelijkse verversing van gewijzigde pagina's. - **Een onderzoekscorpus** van 400.000 nieuws- en blogartikelen past in 500.000 pagina's (US$ 50). Credits verlopen nooit, dus een pack dat je voor een eenmalige crawl hebt gekocht, behoudt zijn resterende waarde voor latere klussen. ## Hoeveel kost de URL naar Markdown API? 10.000 pagina's kosten US$ 3,75, 100.000 pagina's kosten US$ 21,75 en 1.000.000 pagina's kosten US$ 74,25, per oktober 2026. Mislukte pagina's en pagina's die door robots.txt worden geweigerd, zijn gratis. Zie [alle packs](https://webreaderapi.com/nl/pricing/). | Plan | Hoeveelheid | Prijs | Prijs per eenheid | | --- | --- | --- | --- | | Test | 10.000 pagina's | US$ 3,75 | US$ 0,38/1K pagina's | | Starter | 50.000 pagina's | US$ 14,25 | US$ 0,28/1K pagina's | | Build | 100.000 pagina's | US$ 21,75 | US$ 0,22/1K pagina's | | Volume | 1.000.000 pagina's | US$ 74,25 | US$ 0,07/1K pagina's | In elk plan: Hoofdinhoud extraheren · JavaScript rendering wanneer nodig · Mislukte en geweigerde pagina's niet in rekening gebracht · Credits verlopen nooit **Voordat je betaalt** - Minimale opwaardering US$ 25. Stort één keer op met crypto en koop daarna elk plan vanuit je saldo. - Je saldo heeft geen einddatum en kan op elk moment pagina-credits kopen. Als een pack minder kost dan de minimale opwaardering, kan het bedrag dat je alleen hebt toegevoegd om dat minimum te bereiken op verzoek worden teruggestuurd binnen 30 dagen na de betaling, in USDT of USDC, zolang je het niet hebt uitgegeven. Elk ander saldo wordt niet terugbetaald, tenzij de wet anders bepaalt. - Bijgeschreven zodra je betaling op de blockchain is gecontroleerd. Gebruikelijke bevestigingstijd van het netwerk: 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 ## URL naar Markdown API: veelgestelde vragen ### Blijven tabellen en codeblokken behouden in de Markdown? Ja. HTML-tabellen worden Markdown-tabellen en codeblokken blijven omkaderd, met hun taal wanneer de pagina die aangeeft. Zeer complexe tabellen, zoals met samengevoegde cellen, worden rij voor rij afgevlakt. ### Kan ik de hele pagina krijgen in plaats van het artikel? Ja. Stel `main_content=false` in en de API converteert alles op de pagina, inclusief navigatie en footer. Dit is geschikt voor homepagina's, categoriepagina's en productoverzichten, waar de detector voor hoofdinhoud nuttige delen zou weglaten. ### Hoe houd ik pagina's binnen het contextvenster van mijn model? Gebruik `max_chars`, tussen 1.000 en 500.000 tekens, om de Markdown op een vaste lengte af te kappen. Het veld `word_count` vertelt je hoe lang het volledige artikel was, zodat je agent kan beslissen of er meer gelezen moet worden. ### Kan het pagina's achter een login of paywall lezen? Nee. WebReaderAPI leest alleen openbare pagina's. Het logt nooit in op accounts en probeert nooit een paywall of blokkering te omzeilen; zulke pagina's geven de weigering van de site en worden niet in rekening gebracht. ### Heb ik een ID of een kaart nodig om een sleutel te krijgen? Nee. WebReaderAPI vraagt geen ID, geen selfie, geen bedrijfsdocumenten en geen kaart. Inloggen met je accountnummer; e-mail is optioneel. Je vult je saldo aan vanaf US$ 25 in BTC, USDT, USDC, ETH, SOL, LTC. --- 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. --- # Wat kun je bouwen met een web reader API? > Web reader API: fetch-tools voor AI-agents, RAG-ingestie, wijzigingen monitoren en exports van website naar Markdown. Vanaf US$ 0,07/1K pagina's. - URL: https://webreaderapi.com/nl/use-cases/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Vier taken vormen het grootste deel van wat mensen met schone paginatekst doen: een agent een manier geven om te lezen, een knowledge base voeden, pagina's volgen op wijzigingen en de inhoud van een site naar Markdown verplaatsen. Elk heeft een eigen pagina met code en kosten. **Kort antwoord — Waarvoor wordt een web reader API gebruikt?** Teams gebruiken een web reader API om AI-agents een fetch-tool te geven, om sites in RAG-indexen te laden, om openbare pagina's te monitoren op wijzigingen en om hun eigen websites naar Markdown te converteren. **WebReaderAPI** dekt alle vier met één API-sleutel: `/read` voor een pagina, `/batch` voor een lijst, `/crawl` voor een site, voor één credit per pagina vanaf US$ 0,07/1K pagina's per oktober 2026. Zonder KYC; betalen met crypto. ## Welke use case is de jouwe? - **[AI-agents](https://webreaderapi.com/nl/use-cases/ai-agents/)** — Een read_url-tool voor Claude, Cursor, OpenClaw, n8n of je eigen agent, met een lengtelimiet per pagina. - **[RAG-ingestion](https://webreaderapi.com/nl/use-cases/rag/)** — Crawl documentatie en blogs naar Markdown-chunks die hun koppen en bron-URL behouden. - **[Change monitoring](https://webreaderapi.com/nl/use-cases/monitoring/)** — Lees prijspagina's, policies en changelogs volgens een schema en krijg de verschillen als tekst. - **[Website naar Markdown](https://webreaderapi.com/nl/use-cases/website-to-markdown/)** — Exporteer je eigen site naar Markdown-bestanden voor een migratie, een back-up of je eigen assistent. - **[PDF's](https://webreaderapi.com/nl/pdf-to-markdown-api/)** — Rapporten, papers en handleidingen vanaf een link, omgezet naar Markdown-tekst. - **[llms.txt](https://webreaderapi.com/nl/guides/llms-txt-generator/)** — Bouw een llms.txt-bestand voor je eigen site vanuit een crawl, met één regel per pagina. ## Welk endpoint en hoeveel pagina's heeft elke use case nodig? Typische volumes voor een klein team, om een eerste pack te bepalen. Eén credit per pagina, twee wanneer de pagina een browser nodig heeft. | Use case | Endpoint | Typische pagina's per maand | | --- | --- | --- | | Agent die 5 pagina's per taak leest, 100 taken per dag | `/read` | Ongeveer 15.000 | | RAG-index van 3 documentatiesites, wekelijks vernieuwd | `/crawl`, daarna `/batch` | 6.000 om op te bouwen, daarna een paar honderd per week | | Het dagelijks volgen van 200 concurrentie- en policy-pagina's | `/batch` | Ongeveer 6.000 | | Eenmalig een site van 2.000 pagina's exporteren | `/crawl` | 2.000, eenmalig | ## Welk probleem hebben deze vier taken gemeen? Ze hebben allemaal het leesbare deel van een pagina nodig, niet de opmaak. Een agent verspilt tokens aan menu's; een index rangschikt boilerplate; een wijzigingsmonitor slaat valse alarmen wanneer een advertentie wisselt; een migratie kopieert cookiebanners naar de nieuwe site. Hoofdinhoud extraheren lost in elk geval hetzelfde probleem op. Ze delen ook dezelfde beperkingen. Pagina's achter een login of een paywall zijn buiten bereik, en sites die robots weigeren worden overgeslagen en niet in rekening gebracht. We respecteren robots.txt: onze crawler identificeert zich als WebReaderAPI, volgt de regels die voor hem of voor alle robots zijn geschreven, en leest geen pagina die een site niet toestaat. Geweigerde pagina's worden niet in rekening gebracht. ## Hoe kies ik tussen /read, /batch en /crawl? Gebruik de kleinste tool die de klus klaart. - **`/read`** geeft één pagina synchroon terug. Het past bij agents, die pagina voor pagina beslissen wat ze hierna lezen. - **`/batch`** leest tot 100 URL's die je al kent, als achtergrondtaak. Het past bij monitorlijsten en verversingen. - **`/crawl`** ontdekt en leest een hele site vanaf een start-URL, tot 10.000 pagina's, en volgt de sitemap en robots.txt. Het past bij eerste builds en exports. Alle drie nemen dezelfde opties, zoals `format`, `main_content`, `render` en `max_chars`, en rekenen op dezelfde manier af. ## Wat kost een eerste project? De meeste eerste projecten passen in één klein pack. Een prototype-agent, één documentatie-index of een monitorlijst van een paar honderd pagina's gebruikt een paar duizend tot vijftienduizend credits per maand. 10.000 pagina's kosten US$ 3,75 en 50.000 pagina's kosten US$ 14,25, per oktober 2026. Credits verlopen nooit, dus het grotere pack kopen voor een project dat kan groeien kost in een rustige maand niets extra. Mislukte pagina's en pagina's die robots.txt weigert zijn gratis. ## Packs voor een eerste project Begin klein; credits blijven geldig zonder einddatum. 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. | Plan | Hoeveelheid | Prijs | Prijs per eenheid | | --- | --- | --- | --- | | Test | 10.000 pagina's | US$ 3,75 | US$ 0,38/1K pagina's | | Starter | 50.000 pagina's | US$ 14,25 | US$ 0,28/1K pagina's | | Build | 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 **Voordat je betaalt** - Minimale opwaardering US$ 25. Stort één keer op met crypto en koop daarna elk plan vanuit je saldo. - Je saldo heeft geen einddatum en kan op elk moment pagina-credits kopen. Als een pack minder kost dan de minimale opwaardering, kan het bedrag dat je alleen hebt toegevoegd om dat minimum te bereiken op verzoek worden teruggestuurd binnen 30 dagen na de betaling, in USDT of USDC, zolang je het niet hebt uitgegeven. Elk ander saldo wordt niet terugbetaald, tenzij de wet anders bepaalt. - Bijgeschreven zodra je betaling op de blockchain is gecontroleerd. Gebruikelijke bevestigingstijd van het netwerk: 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 ## Use cases: veelgestelde vragen ### Kan ik één sleutel voor meerdere projecten gebruiken? Ja, of maak één API-sleutel per project, zodat je het gebruik apart ziet en er één kunt intrekken zonder de andere aan te raken. Maak meerdere API-sleutels aan, bijvoorbeeld één per agent of project, en trek ze allemaal in vanuit je dashboard. ### Welke use case heeft JavaScript-rendering nodig? Elke use case die moderne webapps, single-page documentatiesites of pagina's leest die inhoud laden na het eerste antwoord. Met `render=auto` rendert de API alleen wanneer de ruwe HTML te weinig tekst bevat. ### Is er een use case waarvoor WebReaderAPI niet bedoeld is? Ja: het verzamelen van persoonsgegevens over privépersonen, het lezen van inhoud achter een login of een paywall, en alles waarbij je de weigering van een site moet omzeilen. Ons [Acceptable Use Policy](https://webreaderapi.com/nl/acceptable-use/) bevat de regels. ### Heb ik een ID nodig om te beginnen? Nee. WebReaderAPI vraagt geen ID, geen selfie en geen documenten. Een opwaardering begint bij US$ 25, in BTC, USDT, USDC, ETH, SOL, LTC. --- 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. --- # Web fetch tool voor AI-agents: pagina's lezen als schone Markdown > Web fetch tool voor AI-agents: lees elke openbare pagina als Markdown via MCP, OpenAI tools, LangChain of n8n, vanaf US$ 0,07/1K pagina's. Crypto. - URL: https://webreaderapi.com/nl/use-cases/ai-agents/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) 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. ## WebReaderAPI als agent-tool | Kenmerk | Waarde | | --- | --- | | 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](https://webreaderapi.com/nl/docs/mcp/), [OpenAI](https://webreaderapi.com/nl/docs/openai/), [LangChain en LlamaIndex](https://webreaderapi.com/nl/docs/langchain/), [n8n](https://webreaderapi.com/nl/docs/n8n/), [OpenClaw](https://webreaderapi.com/nl/docs/openclaw/) | | Prijs | US$ 3,75 voor 10.000 pagina's; credits verlopen nooit | ## Waarom heeft een agent een reader nodig in plaats van ruwe HTML? 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. ## Waarom falen ingebouwde fetch-tools soms? 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](https://webreaderapi.com/nl/guides/web-fetch-403-errors/) legt elk geval uit. ## Waarom heet de tool read_url en niet web_fetch? 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. *Python: een compacte read_url-tool met een lengtelimiet* ```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]) ``` ## Hoe moet een agent beslissen wat hij leest? Geef hem een budget en een regel. Drie gewoonten houden kosten en context in de hand: - **Lees weinig, lees goed.** Twee tot vier bronnen per vraag zijn meestal genoeg om met citaten te antwoorden. - **Beperk elke pagina.** Begin met `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. - **Meld weigeringen.** Wanneer een pagina niet wordt gelezen, laat het model dat zeggen en ga naar een andere bron in plaats van opnieuw te proberen. De tool hierboven geeft weigeringen terug als één gewone zin, zodat het model ze aan de gebruiker kan uitleggen. ## Wat kost het om een agent op WebReaderAPI te draaien? 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. ## Welke pack past bij een agent? 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. | Plan | Hoeveelheid | Prijs | Prijs per eenheid | | --- | --- | --- | --- | | Test | 10.000 pagina's | US$ 3,75 | US$ 0,38/1K pagina's | | Starter | 50.000 pagina's | US$ 14,25 | US$ 0,28/1K pagina's | | Build | 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 **Voordat je betaalt** - Minimale opwaardering US$ 25. Stort één keer op met crypto en koop daarna elk plan vanuit je saldo. - Je saldo heeft geen einddatum en kan op elk moment pagina-credits kopen. Als een pack minder kost dan de minimale opwaardering, kan het bedrag dat je alleen hebt toegevoegd om dat minimum te bereiken op verzoek worden teruggestuurd binnen 30 dagen na de betaling, in USDT of USDC, zolang je het niet hebt uitgegeven. Elk ander saldo wordt niet terugbetaald, tenzij de wet anders bepaalt. - Bijgeschreven zodra je betaling op de blockchain is gecontroleerd. Gebruikelijke bevestigingstijd van het netwerk: 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 ## AI-agents: veelgestelde vragen ### Kan ik WebReaderAPI toevoegen aan Claude Desktop of Cursor? Ja, via een kleine MCP-server die `read_url` beschikbaar stelt. De [MCP-pagina](https://webreaderapi.com/nl/docs/mcp/) bevat de code en het configuratiesnippet; je API-sleutel blijft in een environment variable. ### Werkt het met OpenClaw? Ja, als MCP-server naast de ingebouwde web_fetch van OpenClaw. De [OpenClaw-pagina](https://webreaderapi.com/nl/docs/openclaw/) toont de commando's uit de eigen documentatie van OpenClaw. ### Kan de agent pagina's lezen die AI-bots blokkeren? 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. ### Hoe voorkom ik dat een lange pagina het contextvenster vult? 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. ### Heb ik een kaart of een ID nodig? 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. ## Bronnen 1. [Persbericht: AI-crawlers standaard geblokkeerd](https://www.cloudflare.com/press-releases/2025/cloudflare-just-changed-how-ai-crawlers-scrape-the-internet-at-large/) — Cloudflare (2025-07-01) 2. [Blog: nieuwe standaardinstellingen voor AI-crawlers en agents](https://blog.cloudflare.com/accountable-mixed-use-ai-crawlers/) — Cloudflare (2026-09-15) 3. [Web fetch-tool](https://docs.openclaw.ai/tools/web-fetch.md) — OpenClaw (read 2026-10-22) --- 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. --- # Website change monitoring: diff publieke pagina's als schone Markdown > Monitor webpagina's op wijzigingen: lees prijspagina's en changelogs als Markdown, diff de tekst en stuur een alert. Vanaf US$ 0,07/1K pagina's. - URL: https://webreaderapi.com/nl/use-cases/monitoring/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Ruwe HTML vergelijken geeft een alert telkens wanneer een advertentie of een token verandert. De hoofdinhoud als Markdown vergelijken markeert alleen wat een lezer zou opmerken: een nieuwe prijs, een herformuleerde clausule, een nieuwe changelog-regel. **Kort antwoord — Hoe kan ik webpagina's monitoren op inhoudswijzigingen?** Lees elke pagina volgens een schema als Markdown van de hoofdinhoud, sla de tekst op en vergelijk hem met de vorige versie; stuur alleen een alert wanneer de tekst verandert. **WebReaderAPI** leest tot 100 URL's per batch-job, verwijdert advertenties en menu's zodat die geen valse alarmen kunnen veroorzaken, en rekent één credit per pagina vanaf US$ 0,07/1K pagina's per oktober 2026. Zonder KYC; betalen met crypto. ## Monitoren met WebReaderAPI | Kenmerk | Waarde | | --- | --- | | Endpoint | `POST https://webreaderapi.com/api/v1/batch`, dan `GET https://webreaderapi.com/api/v1/jobs/{job_id}` | | Batchgrootte | Tot 100 URL's per batch-job | | Wat wordt vergeleken | Markdown van de hoofdinhoud, zonder advertenties, menu's of banners | | 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 | | Voorbeeldvolume | 200 pagina's per dag gecontroleerd = ongeveer 6.000 pagina's per maand | | Prijs | US$ 3,75 voor 10.000 pagina's; credits verlopen nooit | ## Wat is het waard om te monitoren? Pagina's waarvan de formulering belangrijk is voor je bedrijf en die zonder aankondiging veranderen: - **Prijspagina's** van leveranciers en concurrenten, om nieuwe plannen en prijswijzigingen te zien. - **Voorwaarden-, privacy- en terugbetalingsbeleid** waar je van afhankelijk bent, om clausules op te vangen die veranderen. - **Changelogs en release notes** van tools waarop je bouwt, om te reageren op breaking changes. - **Documentatiepagina's** waarnaar je product linkt, om foutieve uitleg snel te herstellen. - **Openbare bekendmakingen** van toezichthouders of standaardisatieorganisaties in je vakgebied. Houd de lijst bij openbare pagina's. Persoonlijke profielen en pagina's achter een login vallen buiten bereik. ## Waarom Markdown diffen in plaats van HTML? Omdat HTML voortdurend verandert zonder dat de inhoud verandert. Wisselende advertenties, sessietokens, tijdstempels in footers en A/B-test-markup zorgen ervoor dat twee loads van dezelfde pagina verschillen. Een diff op HTML maakt van die ruis meldingen, en mensen stoppen met ze te lezen. Markdown van de hoofdinhoud haalt het meeste van die ruis weg voordat je vergelijkt. Wat overblijft is de tekst die iemand leest: koppen, paragrafen, lijsten en tabellen. Een diff op die tekst is kort, leesbaar en een melding waard. *Python: controleer een lijst pagina's en print wat er is veranderd* ```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") ``` ## Hoe vaak moet ik controleren, en hoe beleefd? Controleer zo vaak als de pagina realistisch gezien verandert, en niet vaker. Dagelijks past bij prijspagina's en changelogs; wekelijks bij beleid en documentatie. Een pagina die elk uur wordt gelezen, vertelt je zelden meer dan één keer per dag, en kost 24 keer zoveel. WebReaderAPI volgt robots.txt voor elke pagina en respecteert de `Crawl-delay` van een site bij crawl jobs. Pagina's die de site niet toestaat worden overgeslagen en niet in rekening gebracht, dus een strikte site valt gewoon uit je rapport. Vraag de eigenaar als je toegang nodig hebt tot een pagina die robots weigert. ## Wat kost monitoring? Eén credit per pagina per controle. Enkele voorbeelden bij de prijzen van oktober 2026: - **50 pagina's, dagelijks:** ongeveer 1.500 pagina's per maand. 10.000 pagina's (US$ 3,75) gaan meer dan zes maanden mee. - **200 pagina's, dagelijks:** ongeveer 6.000 pagina's per maand. 50.000 pagina's (US$ 14,25) gaan ongeveer acht maanden mee. - **1.000 pagina's, wekelijks:** ongeveer 4.300 pagina's per maand, dicht bij het vorige geval. Pagina's die een browser nodig hebben gebruiken twee credits; stel `render=false` in voor pagina's waarvan je weet dat ze platte HTML zijn om het op één te houden. ## Welke pack past bij monitoring? Vermenigvuldig pagina's met controles per maand en kies dan een pack dat een paar maanden meegaat. Credits verlopen nooit. | Plan | Hoeveelheid | Prijs | Prijs per eenheid | | --- | --- | --- | --- | | Test | 10.000 pagina's | US$ 3,75 | US$ 0,38/1K pagina's | | Starter | 50.000 pagina's | US$ 14,25 | US$ 0,28/1K pagina's | | Build | 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 **Voordat je betaalt** - Minimale opwaardering US$ 25. Stort één keer op met crypto en koop daarna elk plan vanuit je saldo. - Je saldo heeft geen einddatum en kan op elk moment pagina-credits kopen. Als een pack minder kost dan de minimale opwaardering, kan het bedrag dat je alleen hebt toegevoegd om dat minimum te bereiken op verzoek worden teruggestuurd binnen 30 dagen na de betaling, in USDT of USDC, zolang je het niet hebt uitgegeven. Elk ander saldo wordt niet terugbetaald, tenzij de wet anders bepaalt. - Bijgeschreven zodra je betaling op de blockchain is gecontroleerd. Gebruikelijke bevestigingstijd van het netwerk: 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 ## Wijzigingsmonitoring: veelgestelde vragen ### Stuurt WebReaderAPI meldingen? Nee. Het leest pagina's en retourneert Markdown; je script vergelijkt versies en verstuurt de melding per e-mail, chat of ticket. De code hierboven print de gewijzigde regels als startpunt. ### Hoe voorkom ik valse meldingen door datums en tellers? Vergelijk Markdown van de hoofdinhoud, niet HTML, en verwijder regels waarvan je weet dat ze bij elke load veranderen, zoals "5 minuten geleden bijgewerkt", voordat je difft. De meeste wisselende elementen zijn al verwijderd door de extractie van de hoofdinhoud. ### Kan ik pagina's monitoren die JavaScript nodig hebben? Ja. Met `render=auto` worden pagina's die leeg zijn zonder JavaScript in een browser gerenderd voor twee credits. Pagina's die zonder werken blijven op één. ### Kan ik een hele site monitoren in plaats van een lijst pagina's? Ja: voer een crawl job uit in plaats van een batch en vergelijk dan pagina voor pagina. Vergelijk bij grote sites eerst de `lastmod`-datums van de sitemap en lees alleen de pagina's opnieuw die zijn gewijzigd. --- 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. --- # Webpagina's voor RAG: zet sites om in schone, chunkbare Markdown > WebReaderAPI crawlt docs en blogs naar schone Markdown, chunk per kop en behoudt bron-URL's. Vanaf US$ 0,07/1K pagina's, zonder KYC, betalen met crypto. - URL: https://webreaderapi.com/nl/use-cases/rag/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Retrieval werkt op wat je in de index stopt. Schone Markdown met koppen, metadata en een bron-URL geeft betere chunks, minder verspilde tokens en antwoorden die hun pagina kunnen citeren. **Kort antwoord — Hoe voeg ik webpagina's toe aan een RAG-pipeline?** Lees elke pagina als Markdown van de hoofdinhoud, splits die langs de koppen, voeg de bron-URL en titel toe aan elke chunk en embed en sla ze dan op. **WebReaderAPI** regelt het lezen: één request per pagina, of één crawl job voor een hele site tot 10.000 pagina's, tegen één credit per pagina vanaf US$ 0,07/1K pagina's per oktober 2026. robots.txt wordt gerespecteerd. Zonder KYC; betalen met crypto. ## RAG-ingestion met WebReaderAPI | Kenmerk | Waarde | | --- | --- | | Hele site | `POST https://webreaderapi.com/api/v1/crawl`: Crawl één website per job, tot 10.000 pagina's, volgens de sitemap, de robots.txt en de Crawl-delay | | Lijst met URL's | `POST https://webreaderapi.com/api/v1/batch`: Tot 100 URL's per batch-job | | Per pagina | Markdown van de hoofdinhoud, titel, auteur, datum, taal, woordaantal | | PDF's | PDF-bestanden tot 20 MB en 100 pagina's worden omgezet naar Markdown, voor 1 credit per begonnen blok van 10 pagina's | | 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 | | Prijs | US$ 14,25 voor 50.000 pagina's; credits verlopen nooit | ## Waarom geeft schone Markdown betere retrieval? Chunks vol boilerplate worden slecht teruggevonden. Als een pagina wordt gesplitst terwijl de menu's, cookietekst en footer er nog in staan, bevatten veel chunks dezelfde navigatiewoorden, en de vector search geeft ze terug bij ongerelateerde vragen. Extractie van de hoofdinhoud haalt die ruis weg voordat je embedt. Koppen zijn net zo belangrijk. Een chunk die begint met `## Refund policy` draagt het onderwerp met zich mee, zodat zowel de embedding als het model dat het later leest weet waar het over gaat. Platte tekst verliest dat signaal; ruwe HTML verbergt het onder markup. ## Hoe ziet een ingestion-pipeline eruit? Vijf stappen, ongeacht welke vector store je gebruikt: 1. **Verzamel URL's.** Crawl de site, of stuur de lijst die je al hebt als batch. 2. **Lees als Markdown.** Houd `main_content=true` voor artikelen en docs; gebruik `false` voor overzichtspagina's. 3. **Splits op kop.** Deel op `#`, `##` en `###`, en knip lange secties tot je limiet met een kleine overlap. 4. **Voeg metadata toe.** Bewaar `url`, `title`, `published_at` en het koppad bij elk chunk, zodat antwoorden hun bron kunnen citeren. 5. **Ververs.** Lees pagina's opnieuw waarvan de sitemap `lastmod` is gewijzigd, en verwijder chunks van pagina's die nu een fout teruggeven. *Python: lees pagina's en splits ze in chunks met hun bron* ```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") ``` ## Hoeveel kost het om een index op te bouwen en te verversen? Opbouwen kost één credit per pagina, twee voor pagina's die een browser nodig hebben. Verversen kost alleen de pagina's die je opnieuw leest. Drie voorbeelden, tegen de prijzen van oktober 2026: - **Het helpcentrum van een product** van 800 pagina's, maandelijks verversd voor gewijzigde pagina's (ongeveer 10%): eenmalig 800 credits, daarna ongeveer 80 per maand. 10.000 pagina's (US$ 3,75) gaan jaren mee. - **Tien documentatiesites** van elk 2.000 pagina's, wekelijks verversd tegen 5%: 20.000 credits, daarna ongeveer 4.000 per maand. 50.000 pagina's (US$ 14,25) dekken de opbouw en zeven maanden verversen. - **Een nieuwsarchief** van 300.000 artikelen die nooit veranderen: eenmalig 300.000 credits, dat past in 500.000 pagina's (US$ 50). Embedding en opslag worden gefactureerd door je eigen providers en zijn niet inbegrepen. ## Kan ik sites indexeren die niet geïndexeerd willen worden? Niet via WebReaderAPI. Pagina's die door robots.txt verboden zijn voor onze crawler, of voor alle robots, worden overgeslagen en niet gefactureerd; sites die `Content-Signal: ai-input=no` aangeven, worden niet voor je gelezen. Voor je eigen sites of partnersites die robots blokkeren, vraag de eigenaar om `WebReaderAPI` toe te staan in robots.txt; onze [crawlerpagina](https://webreaderapi.com/nl/bot/) toont de regels die je moet toevoegen. Dit is ook belangrijk voor je gebruikers. Een RAG-assistent die bronnen citeert, is nuttiger wanneer die bronnen ermee instemden om gelezen te worden. ## Welk pack past bij een RAG-project? Tel de pagina's om de index op te bouwen, tel het maandelijkse verversen erbij op, en kies het pack dat een paar maanden dekt. Credits verlopen nooit. | Plan | Hoeveelheid | Prijs | Prijs per eenheid | | --- | --- | --- | --- | | Test | 10.000 pagina's | US$ 3,75 | US$ 0,38/1K pagina's | | Starter | 50.000 pagina's | US$ 14,25 | US$ 0,28/1K pagina's | | Build | 100.000 pagina's | US$ 21,75 | US$ 0,22/1K pagina's | | Scale | 500.000 pagina's | US$ 50 | US$ 0,10/1K pagina's | In elk plan: Hoofdinhoud extraheren · JavaScript rendering wanneer nodig · Mislukte en geweigerde pagina's niet in rekening gebracht · Credits verlopen nooit **Voordat je betaalt** - Minimale opwaardering US$ 25. Stort één keer op met crypto en koop daarna elk plan vanuit je saldo. - Je saldo heeft geen einddatum en kan op elk moment pagina-credits kopen. Als een pack minder kost dan de minimale opwaardering, kan het bedrag dat je alleen hebt toegevoegd om dat minimum te bereiken op verzoek worden teruggestuurd binnen 30 dagen na de betaling, in USDT of USDC, zolang je het niet hebt uitgegeven. Elk ander saldo wordt niet terugbetaald, tenzij de wet anders bepaalt. - Bijgeschreven zodra je betaling op de blockchain is gecontroleerd. Gebruikelijke bevestigingstijd van het netwerk: 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: veelgestelde vragen ### Welke chunkgrootte moet ik gebruiken? Splits eerst op koppen en knip daarna secties langer dan ongeveer 500 tot 1.000 tokens met een kleine overlap. Chunks op basis van koppen houden elk één onderwerp, wat meestal beter retrievet dan vensters van vaste grootte over de hele pagina. ### Maakt WebReaderAPI embeddings of slaat het vectoren op? Nee. WebReaderAPI leest pagina's en geeft Markdown met metadata terug. Je maakt embeddings met het model van je keuze en slaat ze op in je eigen vector database; de [LangChain- en LlamaIndex-pagina](https://webreaderapi.com/nl/docs/langchain/) toont beide. ### Hoe houd ik de index up-to-date? Lees alleen de pagina's opnieuw die zijn gewijzigd. De meeste sitemaps bevatten een `lastmod`-datum per URL; vergelijk die met je laatste lezing en stuur de gewijzigde URL's als batch. Pagina's die nu mislukken, horen uit de index verwijderd te worden. ### Kan ik PDF's van dezelfde site meenemen? Ja. Een crawl leest PDF-links op hetzelfde domein met dezelfde robots.txt-controles. PDF-bestanden tot 20 MB en 100 pagina's worden omgezet naar Markdown, voor 1 credit per begonnen blok van 10 pagina's. --- 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. --- # Converteer je website naar Markdown: crawl hem en exporteer elke pagina > Converteer je website naar Markdown: crawl je site en exporteer elke pagina met front matter, voor migratie, back-up of assistent. Zonder KYC. - URL: https://webreaderapi.com/nl/use-cases/website-to-markdown/ - Laatst bijgewerkt: 2026-10-22 - Uitgever: WebReaderAPI (https://webreaderapi.com) Overstappen naar een static site generator, een docs-platform of een knowledge base begint vaak met één vraag: hoe krijg ik mijn pagina's eruit als schone Markdown? Een crawl doet het in één job, met titels, datums en URL's bewaard in front matter. **Kort antwoord — Hoe converteer ik mijn hele website naar Markdown?** Crawl je site, lees de hoofdinhoud van elke pagina als Markdown, en schrijf één `.md`-bestand per pagina met de titel, URL en datum in front matter. **WebReaderAPI** crawlt tot 10.000 pagina's per job, volgt je sitemap en robots.txt, en rekent één credit per pagina vanaf US$ 0,07/1K pagina's per oktober 2026. Een Python-script hieronder schrijft de bestanden. Zonder KYC; betalen met crypto. ## Website-export met WebReaderAPI | Kenmerk | Waarde | | --- | --- | | Endpoint | `POST https://webreaderapi.com/api/v1/crawl`, resultaten van `GET https://webreaderapi.com/api/v1/jobs/{job_id}` | | Bereik | Crawl één website per job, tot 10.000 pagina's, volgens de sitemap, de robots.txt en de Crawl-delay | | Per pagina | Markdown van de hoofdinhoud, plus titel, beschrijving, auteur, datum en taal | | Hele pagina's | `main_content=false` behoudt navigatie en footers wanneer je die nodig hebt | | Je robots.txt | Moet `WebReaderAPI` toestaan voor de pagina's die je exporteert | | Prijs | US$ 3,75 voor 10.000 pagina's; credits verlopen nooit | ## Wanneer is een Markdown-export nuttig? Wanneer content het systeem dat het rendert moet verlaten. Veelvoorkomende gevallen: - **Migraties.** Overstappen van een CMS naar een static site generator of een documentatieplatform dat pagina's als Markdown opslaat. - **Back-ups.** Een leesbaar archief van je gepubliceerde pagina's dat niet afhankelijk is van een database of thema. - **Je eigen assistent.** De tekst van je site voeden aan een helpbot of een interne zoekfunctie, met elk chunk gekoppeld aan zijn pagina. - **Audits.** Al je pagina's als platte tekst lezen om verouderde beweringen, kromme formuleringen of dubbele content te vinden. In elk geval wil je de woorden en de structuur, niet het thema eromheen. *Python: crawl je site naar Markdown-bestanden met 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) ``` ## Hoe behoud ik de mapstructuur en de URL's? Spiegel het URL-pad in het bestandspad, zoals het script doet: `/guides/setup/` wordt `export/guides/setup.md`. Bewaar de originele URL in de front matter als `source`, zodat je na de migratie redirects kunt instellen en kunt controleren dat er niets verloren is gegaan. Links in de Markdown wijzen nog naar je huidige URL's. Vervang na de verhuizing het domein of het padprefix in één pass en test daarna een steekproef van pagina's. Tabellen en codeblokken blijven Markdown, dus de meeste static generators renderen ze zonder wijzigingen. ## Wat als mijn eigen robots.txt crawlers blokkeert? Sta onze token toe voor de duur van de export. WebReaderAPI leest alleen wat robots.txt toestaat voor `WebReaderAPI` of voor alle robots, ook op je eigen site. Voeg een groep toe zoals `User-agent: WebReaderAPI` met `Allow: /`, voer de crawl uit en verwijder die daarna als je wilt. Onze [crawlerpagina](https://webreaderapi.com/nl/bot/) toont de exacte regels en de User-Agent die in je serverlogs verschijnt. Pagina's die verboden blijven, worden overgeslagen en niet gefactureerd. ## Hoeveel kost een export? Eén credit per pagina, twee voor pagina's die een browser nodig hebben om hun tekst te tonen. Een site van 2.000 pagina's die op de server wordt gerenderd, kost eenmalig 2.000 credits; dezelfde site als JavaScript-app kan tot 4.000 kosten. Beide passen in 10.000 pagina's voor US$ 3,75, per oktober 2026. Een site van 50.000 pagina's vereist meerdere jobs, gesplitst per sectie met `include_paths`, en past in 100.000 pagina's (US$ 21,75). Credits die na de export overblijven, blijven op je account voor latere verversingen. ## Welke pack dekt mijn export? Tel je pagina's, verdubbel de telling als de site JavaScript nodig heeft om te renderen, en kies de pack daarboven. Credits verlopen nooit. | Plan | Hoeveelheid | Prijs | Prijs per eenheid | | --- | --- | --- | --- | | Test | 10.000 pagina's | US$ 3,75 | US$ 0,38/1K pagina's | | Starter | 50.000 pagina's | US$ 14,25 | US$ 0,28/1K pagina's | | Build | 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 **Voordat je betaalt** - Minimale opwaardering US$ 25. Stort één keer op met crypto en koop daarna elk plan vanuit je saldo. - Je saldo heeft geen einddatum en kan op elk moment pagina-credits kopen. Als een pack minder kost dan de minimale opwaardering, kan het bedrag dat je alleen hebt toegevoegd om dat minimum te bereiken op verzoek worden teruggestuurd binnen 30 dagen na de betaling, in USDT of USDC, zolang je het niet hebt uitgegeven. Elk ander saldo wordt niet terugbetaald, tenzij de wet anders bepaalt. - Bijgeschreven zodra je betaling op de blockchain is gecontroleerd. Gebruikelijke bevestigingstijd van het netwerk: 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 naar Markdown: veelgestelde vragen ### Kan ik de hele pagina exporteren, inclusief menu's en footer? Ja. Stel `main_content=false` in bij de crawl-opties en elk bestand bevat de volledige pagina omgezet naar Markdown. De meeste migraties geven de voorkeur aan alleen de hoofdinhoud, omdat het nieuwe thema zijn eigen navigatie meebrengt. ### Worden afbeeldingen gedownload? Nee. Met `include_images=true` blijven afbeeldingslinks met hun alt-tekst in de Markdown staan; download de bestanden zelf met je eigen script als de migratie ze nodig heeft. ### Kan ik een site exporteren die niet van mij is? Alleen openbare pagina's die het robots.txt toestaat, en alleen voor gebruik dat de voorwaarden en de wet toestaan. Voor een migratie of een back-up exporteer je je eigen sites of sites waarvan de eigenaar heeft ingestemd. ### Hoe groot kan een site zijn voor één job? Tot 10.000 pagina's per crawl-job, binnen één domein. Splits grotere sites per sectie met `include_paths` en voer meerdere jobs uit. --- 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.