Cloudflare /crawl-Endpoint: Eén API-Call om Elke Website te Crawlen
Cloudflare lanceerde zojuist een nieuw /crawl-endpoint voor zijn Browser Rendering-service. Je stuurt één POST-request met één URL, en Cloudflare crawlt de site en levert HTML, Markdown of gestructureerde JSON die AI heeft geëxtraheerd. Het endpoint is sinds 10 maart 2026 in open bèta en beschikbaar op zowel gratis als betaalde Workers-plannen.
Voor AI agent readiness is dit relevant, omdat iedereen met een Cloudflare-account nu met weinig code een crawler voor hele sites kan bouwen. Zo is de machine-leesbaarheid van je site makkelijker te testen.
Hoe het /crawl-Endpoint Werkt
Het endpoint is asynchroon. Je dient een start-URL in, krijgt een job-ID terug en pollt voor resultaten terwijl pagina's klaar zijn. Cloudflare ontwierp het voor volledige site-crawls, niet voor het ophalen van losse pagina's.
# 1. Start een crawl
curl -X POST \
https://api.cloudflare.com/client/v4/accounts/{account_id}/browser-rendering/crawl \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com", "limit": 100, "formats": ["markdown"]}'
# Response: {"success": true, "result": "c7f8s2d9-a8e7-..." }
# 2. Poll voor resultaten
curl https://api.cloudflare.com/client/v4/accounts/{account_id}/browser-rendering/crawl/{job_id}
De belangrijkste cijfers:
Drie Outputformaten en Waarom Markdown Ertoe Doet
Het /crawl-endpoint ondersteunt drie outputformaten, elk voor een ander doel:
HTML
Ruwe pagina-HTML inclusief alle markup. Gebruik dit voor traditioneel scrapen, archiveren of als je de volledige DOM-structuur nodig hebt.
Markdown
Schone content zonder navigatie, headers en boilerplate. Dit past bij AI-agents en LLM-contextvensters en bespaart tot 80% aan tokens.
JSON (AI-geëxtraheerd)
Gestructureerde data die Workers AI extraheert met een custom prompt. Jij definieert het schema en het model extraheert de velden die je opgeeft.
De Markdown-optie is het belangrijkst voor AI agent readiness. Als een agent je site crawlt met formats: ["markdown"], krijgt hij schone content die in het contextvenster van een LLM past. Sites met semantische HTML, een goede heading-hiërarchie en zinvolle contentstructuur leveren waarschijnlijk betere markdown op dan sites die bestaan uit JavaScript-gerenderde widgets en geneste divs.
Het JSON-formaat gebruikt Workers AI om gestructureerde data te extraheren met een custom prompt en schema. Het is in feite gestructureerde data-extractie op crawlschaal:
{
"url": "https://example.com/products",
"limit": 500,
"formats": ["json"],
"jsonOptions": {
"prompt": "Extract product name, price, and availability",
"response_format": {
"type": "json_schema",
"json_schema": {
"name": "product",
"properties": {
"name": "string",
"price": "number",
"inStock": "boolean"
}
}
}
}
}
Crawlbereik en Discovery
Je bepaalt welke pagina's het endpoint crawlt en hoe het URL's ontdekt:
| Parameter | Standaard | Doel |
|---|---|---|
limit |
10 | Max pagina's om te crawlen (tot 100.000) |
depth |
100.000 | Max linkdiepte vanaf start-URL |
source |
all | Ontdekkingsmethode: sitemaps, links of all |
render |
true | JavaScript uitvoeren (false = snelle statische HTML-fetch) |
includePatterns |
Geen | Wildcardpatronen om mee te nemen (bijv. /blog/**) |
excludePatterns |
Geen | Patronen om over te slaan (heeft voorrang op includes) |
De source-parameter laat zien hoe de discovery werkt. Instellen op
sitemaps
betekent dat de crawler pagina's alleen via je XML-sitemaps vindt, zoals zoekmachinecrawlers doen. Een site met een volledige, actuele sitemap wordt vollediger gecrawld. Een site zonder sitemap valt terug op linkdiscovery, en die kan verweesde pagina's missen.
De render-toggle bepaalt wat de crawler ziet. render: false
instellen slaat de headless browser over en fetcht statische HTML. Dat is sneller en goedkoper, maar JavaScript-gerenderde content is dan onzichtbaar. Een site die de hoofdcontent op de client rendert, levert lege pagina's in statische modus. Een site die op de server rendert, levert de volledige content.
robots.txt Bepaalt Waar de Crawler bij Kan
Het /crawl-endpoint respecteert robots.txt volledig, inclusief crawl-delay-richtlijnen. URL's geblokkeerd door robots.txt verschijnen in resultaten met "status": "disallowed". In de praktijk:
- Als je AI-crawlers blokkeert, benadert het /crawl-endpoint die pagina's niet
- Als je robots.txt verkeerd geconfigureerd is, blokkeer je mogelijk legitieme agenttoegang zonder het te weten. Sommige sites blokkeren alle bots om trainingsdata-scraping te stoppen en verliezen daardoor ook agenttoegang
- Als je crawl-delay instelt, volgt het endpoint die instelling, zodat je het aantal requests kunt beperken
Het endpoint werkt als gesigneerde bot. Het identificeert zichzelf als geautomatiseerd en kan botdetectie, CAPTCHA's of Cloudflare-bescherming niet omzeilen. Dit is het soort crawler waarvoor robots.txt is ontworpen.
Wat Dit Betekent voor AI Agent Readiness
Cloudflare's /crawl-endpoint is infrastructuur, geen agent. Het verlaagt de moeite die nodig is om agentsystemen te bouwen die hele websites lezen. Daar volgen vier punten uit:
Makkelijker crawlen
Iedereen met een Cloudflare-account kan tot 100.000 pagina's crawlen met één API-call. Dat levert de invoer voor een RAG-pipeline, kennisbank of concurrentieanalysetool. Je site kan op deze manier gecrawld worden.
Markdown-output
De markdown-outputoptie laat zien dat Cloudflare verwacht dat AI-afnemers schone, gestructureerde content willen. Sites met goede semantische HTML leveren waarschijnlijk betere markdown op.
Gestructureerde data-extractie
Bij AI-gedreven JSON-extractie beïnvloedt de structuur van je content welke data het endpoint kan extraheren. Schema.org-markup, duidelijke koppen en consistente patronen maken extractie waarschijnlijk nauwkeuriger.
Conform by design
Anders dan scraping-libraries respecteert deze bot robots.txt en crawl-delay. De signalen die je instelt (crawlerrichtlijnen, rate limiting, toegangsbeleid) gelden dus ook voor hem.
Agent Readiness Checklist voor het /crawl-Tijdperk
Omdat deze crawling-infrastructuur zo makkelijk te gebruiken is, begin je met deze stappen:
- Audit je robots.txt. Controleer dat je conforme AI-crawlers niet per ongeluk blokkeert. Je kunt trainingsbots blokkeren en toch agenttoegang openhouden
-
Onderhoud je sitemap. De
source: "sitemaps"-optie maakt je sitemap de input die bepaalt hoe volledig de crawler je site dekt -
Gebruik server-side rendering. De
render: false-optie is sneller en goedkoper. Een site die zonder JavaScript werkt, wordt efficiënter gecrawld - Verbeter semantische HTML. Een schone heading-hiërarchie, juiste landmarks en beschrijvende linktekst leiden allemaal tot betere markdown-output als de crawler je site bezoekt
- Voeg gestructureerde data toe. JSON-LD en Schema.org-types kunnen zowel de HTML-naar-markdown-conversie als de AI-gedreven JSON-extractie helpen nauwkeurige resultaten te geven
- Serveer llms.txt. Het /crawl-endpoint gebruikt sitemaps en links voor discovery, maar agents die de gecrawlde content gebruiken, kunnen beginnen met llms.txt om te zien wat een site biedt
Waar /crawl in Past
Cloudflare biedt al MCP-integratie via zijn Workers AI-platform, en ondersteunt Playwright MCP voor browserautomatisering. Het /crawl-endpoint voegt schaalbare, conforme, volledige site-crawling toe, met outputformaten die op AI-gebruik zijn gericht.
Crawlers scrapeten vroeger HTML voor zoekindexen. Nu crawlen agents ook om kennisbanken, RAG-pipelines en gestructureerde datasets te bouwen. Sites die al machine-leesbaar zijn, zouden met deze tools betere resultaten moeten geven.
De praktische vraag is of de output van een AI-gedreven crawl weergeeft wat je site te bieden heeft.
Bronnen
- Cloudflare Changelog: Browser Rendering /crawl Endpoint (Open Beta) (officiële aankondiging, 10 maart 2026)
- Cloudflare Docs: /crawl Endpoint Technische Documentatie (volledige API-referentie met configuratieopties)
- Cloudflare Browser Rendering Overzicht (productoverzicht en use cases)
- IsAgentReady: AI-Crawlers Negeren llms.txt, Maar AI-Agents Niet (waarom het onderscheid crawler vs agent ertoe doet)