Cloudflare Browser Rendering
name: cloudflare-browser-rendering
by cytwyatt · published 2026-03-22
$ claw add gh:cytwyatt/cytwyatt-cloudflare-browser-rendering-skill---
name: cloudflare-browser-rendering
description: "Use Cloudflare Browser Rendering REST APIs to extract rendered webpage content as Markdown or crawl whole sites asynchronously. Use when normal web_fetch is insufficient because pages are JavaScript-heavy, require render-time extraction, or you need multi-page site crawling for docs, research, monitoring, or RAG preparation. Prefer this skill for: (1) converting a rendered page to Markdown with /markdown, (2) crawling a documentation site or knowledge base with /crawl, (3) controlling render/load behavior via gotoOptions, cookies, auth, userAgent, or request filtering. Do not use it for interactive login/button-click workflows; use browser for those."
metadata:
{
"openclaw":
{
"requires": { "bins": ["python3"], "env": ["CLOUDFLARE_API_TOKEN", "CLOUDFLARE_ACCOUNT_ID"] },
"primaryEnv": "CLOUDFLARE_API_TOKEN",
"homepage": "https://github.com/cytwyatt/cloudflare-browser-rendering-skill",
},
}
---
# Cloudflare Browser Rendering
Overview
Use this skill to bridge the gap between lightweight `web_fetch` and full interactive browser automation.
Routing rule:
Quick decision guide
If uncertain, start with `web_fetch`. Escalate to `/markdown` if the page is incomplete or empty. Escalate to `/crawl` only when multiple pages are needed.
Read `references/decision-guide.md` for routing details and `references/*.md` for endpoint notes.
Prerequisites
Expect these environment variables to be available before running the scripts:
The token needs `Browser Rendering Write` for `/markdown` and crawl creation. Reading crawl results can use `Browser Rendering Read` or `Write`.
Single-page extraction with /markdown
Use `scripts/cf_markdown.py`.
Examples:
python3 scripts/cf_markdown.py --url https://example.com
python3 scripts/cf_markdown.py --url https://example.com --wait-until networkidle0
python3 scripts/cf_markdown.py --url https://example.com --wait-until networkidle0 --timeout-ms 60000
python3 scripts/cf_markdown.py --url https://example.com --cache-ttl 0 --json
python3 scripts/cf_markdown.py --html '<div>Hello</div>'
python3 scripts/cf_markdown.py --url https://example.com --user-agent 'Mozilla/5.0 ...'
python3 scripts/cf_markdown.py --url https://example.com --cookies-json '[{"name":"session","value":"abc","domain":"example.com"}]'
python3 scripts/cf_markdown.py --url https://example.com --authenticate-json '{"username":"u","password":"p"}'
python3 scripts/cf_markdown.py --url https://example.com --reject-request-pattern-json '["/^.*\\\\.(css)$/"]'Guidelines:
Multi-page crawling with /crawl
Use `scripts/cf_crawl.py`.
Examples:
python3 scripts/cf_crawl.py start --url https://developers.cloudflare.com/workers/ --depth 2 --limit 20 --format markdown
python3 scripts/cf_crawl.py wait --job-id <job_id> --poll-seconds 5
python3 scripts/cf_crawl.py results --job-id <job_id> --limit 20 --status completed
python3 scripts/cf_crawl.py run --url https://developers.cloudflare.com/workers/ --depth 2 --limit 20 --format markdown --wait
python3 scripts/cf_crawl.py run --url https://developers.cloudflare.com/workers/ --depth 2 --limit 20 --format markdown --wait --fetch-results --results-status completed --out-json out/crawl.json --out-markdown out/crawl.md
python3 scripts/cf_crawl.py start --url https://example.com --source links --goto-options-json '{"timeout":30000}'Guidelines:
Output handling
For large crawls:
Failure and fallback rules
Resources
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...