{"slug":"cloudflare-os-browser","verification":{"valid":false,"broken_at":6,"reason":"hash mismatch"},"count":21,"sources":[{"id":"s1","type":"specification","url":"https://developers.cloudflare.com/browser-run/quick-actions/","title":"Browser Run Quick Actions overview","quote":"Quick Actions are a set of REST API endpoints that provide common browser automation tasks.","summary":"Defines the bounded REST actions and their shared invocation model.","publisher":"Cloudflare","claim_ids":["c1","c2"],"accessed_at":"2026-07-26T06:04:24.487Z","prev":"genesis","hash":"725ff9e04ab41debdc28c599ca39a92fa85e263a72a8adc7dd97227f41ded669"},{"id":"s2","type":"specification","url":"https://developers.cloudflare.com/browser-run/quick-actions/markdown-endpoint/","title":"/markdown — Extract Markdown from a webpage","quote":"The `/markdown` endpoint retrieves a webpage's content and converts it into Markdown format.","summary":"Defines the Markdown transform, REST and binding paths, authentication, and load controls.","publisher":"Cloudflare","claim_ids":["c1","c2","c5"],"accessed_at":"2026-07-26T06:04:24.487Z","prev":"725ff9e04ab41debdc28c599ca39a92fa85e263a72a8adc7dd97227f41ded669","hash":"f7dc86dfdfc41dd66259884e3c349a5fc20b2aa4d9c40fe9d367527d418ac989"},{"id":"s3","type":"specification","url":"https://developers.cloudflare.com/browser-run/quick-actions/snapshot/","title":"/snapshot — Capture multiple page formats","quote":"The `/snapshot` endpoint combines multiple formats into a single request, so you do not need to call each endpoint separately.","summary":"Defines the multi-representation capture and its content, screenshot, Markdown and accessibility-tree formats.","publisher":"Cloudflare","claim_ids":["c2","c3"],"accessed_at":"2026-07-26T06:04:24.487Z","prev":"f7dc86dfdfc41dd66259884e3c349a5fc20b2aa4d9c40fe9d367527d418ac989","hash":"1129cd0e1a335038dce2960a43fd04f51c15f0b2b9eb1e02261c15698b40b89c"},{"id":"s4","type":"specification","url":"https://developers.cloudflare.com/browser-run/quick-actions/content-endpoint/","title":"/content — Fetch rendered HTML","quote":"For JavaScript-heavy pages or Single Page Applications (SPAs), the default page load behavior may return empty or incomplete results.","summary":"Defines rendered HTML output and warns that default page completion can precede application completion.","publisher":"Cloudflare","claim_ids":["c1","c2","c4"],"accessed_at":"2026-07-26T06:04:24.487Z","prev":"1129cd0e1a335038dce2960a43fd04f51c15f0b2b9eb1e02261c15698b40b89c","hash":"cba55c6918973a38623571b4cfda5890e44a6beef7e98816edb3a1de92381b4c"},{"id":"s5","type":"specification","url":"https://developers.cloudflare.com/browser-run/quick-actions/accessibility-tree-endpoint/","title":"/accessibilityTree — Capture the accessibility tree","quote":"For faster responses, advanced users can use `waitForSelector` to wait for a specific element instead of waiting for all network activity to stop.","summary":"Defines semantic roles, names and states and documents selector-based completion.","publisher":"Cloudflare","claim_ids":["c2","c4"],"accessed_at":"2026-07-26T06:04:24.487Z","prev":"cba55c6918973a38623571b4cfda5890e44a6beef7e98816edb3a1de92381b4c","hash":"11bb07e110eb5e28bbb7e4d3542ded72578e0e01bb7c3d9f1fbf6b4c9f2e4986"},{"id":"s6","type":"specification","url":"https://developers.cloudflare.com/browser-run/quick-actions/scrape-endpoint/","title":"/scrape — Scrape HTML elements","quote":"The `userAgent` parameter does not bypass bot protection. Requests from Browser Run will always be identified as a bot.","summary":"Defines selector extraction and the explicit non-bypass boundary.","publisher":"Cloudflare","claim_ids":["c2","c9"],"accessed_at":"2026-07-26T06:04:24.487Z","prev":"11bb07e110eb5e28bbb7e4d3542ded72578e0e01bb7c3d9f1fbf6b4c9f2e4986","hash":"d2691dc8bafa42e7397a8b2b29f12a8ef0f8a4bb6f4670af0e35219cdbe277bc"},{"id":"s7","type":"specification","url":"https://developers.cloudflare.com/browser-run/quick-actions/json-endpoint/","title":"/json — Capture structured data using AI","quote":"In this example, Browser Run first calls Anthropic's Claude Sonnet 4 model.","summary":"Documents model-assisted schema extraction, model selection and fallback behavior.","publisher":"Cloudflare","claim_ids":["c12","c2"],"accessed_at":"2026-07-26T06:04:24.487Z","prev":"d2691dc8bafa42e7397a8b2b29f12a8ef0f8a4bb6f4670af0e35219cdbe277bc","hash":"c65b363de36c579502b8a832564cf973d1a6597b824721c5eb334976131ba201"},{"id":"s8","type":"specification","url":"https://developers.cloudflare.com/browser-run/quick-actions/crawl-endpoint/","title":"/crawl — Crawl web content","quote":"Crawl jobs have a maximum run time of seven days. If a job does not finish within this time, it will be cancelled due to timeout.","summary":"Defines asynchronous jobs, polling, seven-day runtime, fourteen-day result retention and browser parameters.","publisher":"Cloudflare","claim_ids":["c13","c16","c2"],"accessed_at":"2026-07-26T06:04:24.487Z","prev":"c65b363de36c579502b8a832564cf973d1a6597b824721c5eb334976131ba201","hash":"04bb639fec43fa8ffac73dece9d04ef9dd7bc315a43fb952c6b4caffe1b7a46b"},{"id":"s9","type":"specification","url":"https://developers.cloudflare.com/browser-run/pricing/","title":"Browser Run pricing","quote":"The `X-Browser-Ms-Used` header, which is returned in every Quick Actions response, reports browser time used for the request (in milliseconds).","summary":"Defines browser-hour and session-concurrency billing and the per-request usage header.","publisher":"Cloudflare","date":"2026-04-21","claim_ids":["c5","c6","c7"],"accessed_at":"2026-07-26T06:04:24.487Z","prev":"04bb639fec43fa8ffac73dece9d04ef9dd7bc315a43fb952c6b4caffe1b7a46b","hash":"b2c69ef86d280bebec8939fa7870e1c7172efe5d3ee6c8937321cbd1987dc976"},{"id":"s10","type":"specification","url":"https://developers.cloudflare.com/browser-run/limits/","title":"Browser Run limits","quote":"Crawl jobs per day | 5 per day","summary":"Current Free and Paid browser-time, request, session and crawl limits.","publisher":"Cloudflare","date":"2026-05-20","claim_ids":["c14","c7","c8"],"accessed_at":"2026-07-26T06:04:24.487Z","prev":"b2c69ef86d280bebec8939fa7870e1c7172efe5d3ee6c8937321cbd1987dc976","hash":"09c2a46981a3e476b35cde1d261ead1604e2237bdd76cff643d3e9fdd271364f"},{"id":"s11","type":"specification","url":"https://developers.cloudflare.com/browser-run/puppeteer/","title":"Puppeteer on Browser Run","quote":"The `keep_alive` option sets the time in milliseconds to keep the browser open after the last activity.","summary":"Defines direct session control, binding use, session reuse and inactivity lifecycle.","publisher":"Cloudflare","claim_ids":["c8"],"accessed_at":"2026-07-26T06:04:24.487Z","prev":"09c2a46981a3e476b35cde1d261ead1604e2237bdd76cff643d3e9fdd271364f","hash":"b104215e61be7637f3530e951d33ab796375a003c99c7ce2e0ad8a3dbd499983"},{"id":"s12","type":"specification","url":"https://developers.cloudflare.com/browser-run/quick-actions/screenshot-endpoint/","title":"/screenshot — Capture a screenshot","quote":"Provide valid session cookies to access pages that require login:","summary":"Documents cookies, HTTP credentials, custom headers, viewport and load controls carried by a browser request.","publisher":"Cloudflare","claim_ids":["c16"],"accessed_at":"2026-07-26T06:04:24.487Z","prev":"b104215e61be7637f3530e951d33ab796375a003c99c7ce2e0ad8a3dbd499983","hash":"1577cc754137b5a3d5c9498d06d17c22c0bcb9691da6dcb313c4dfe4bba21cce"},{"id":"s13","type":"repository","url":"https://github.com/massoumicyrus/miscsubjects-architecture","title":"miscsubjects architecture","quote":"Tooling as data. The capability catalogue is rows in SQL, not tool schemas in a prompt.","summary":"Public architecture repository for the canonical catalogue and its projected client surfaces.","publisher":"GitHub","author":"Cyrus Massoumi","claim_ids":["c18"],"accessed_at":"2026-07-26T06:04:24.487Z","prev":"1577cc754137b5a3d5c9498d06d17c22c0bcb9691da6dcb313c4dfe4bba21cce","hash":"a925dac44bf6852a4883ce56d4d0c37430aba78b02f2fa06119aced26e33c3b2"},{"id":"p1","type":"hn","url":"https://hn.algolia.com/api/v1/items/47332926","title":"Cloudflare crawl endpoint","quote":"[0] seems to suggest even paid plans are effectively limited to 500 web pages per day, right?","summary":"Reads the Browser Rendering limits page and works out that 5 crawl jobs/day × 100 pages/crawl caps paid plans at roughly 500 pages per day. Negative — the throughput ceiling for anyone hoping to scrape at volume.","author":"gingerlime","publisher":"Hacker News","date":"2026-03-11","claim_ids":["c14"],"accessed_at":"2026-07-26T06:04:24.487Z","prev":"a925dac44bf6852a4883ce56d4d0c37430aba78b02f2fa06119aced26e33c3b2","hash":"0ceaa1753185bfc24ab01edd4b6523ea5bc0c85efebc18f467d7daa77fbc6566"},{"id":"p2","type":"github","url":"https://github.com/cloudflare/workers-sdk/issues/9945","title":"BUG: browser rendering browser.close() hangs","quote":"Like it says, `browser.close()` hangs in dev, in both vite and wrangler. It works fine in production, but this is a blocker for dev.","summary":"Minimal repro where browser.close() never returns under both vite and wrangler dev, though production is fine — filed by a Cloudflare engineer. Negative on Browser Rendering's local reliability.","author":"threepointone","publisher":"GitHub — cloudflare/workers-sdk","date":"2025-07-13","claim_ids":["c8"],"accessed_at":"2026-07-26T06:04:24.487Z","prev":"0ceaa1753185bfc24ab01edd4b6523ea5bc0c85efebc18f467d7daa77fbc6566","hash":"18171a364782f28328220549bed5ca7ae08010d75a0f477ce19359277489b820"},{"id":"p3","type":"github","url":"https://github.com/cloudflare/workers-sdk/issues/10864","title":"Cloudflare Browser Rendering API (Code 7003/7000) Failure in Worker","quote":"Despite verified API token permissions and Account ID, the API consistently returns a 400 error.","summary":"A content-fetcher Worker calling the Browser Rendering REST endpoint gets consistent 400s with error codes 7003/7000 despite verified token permissions and account ID. Second filing of the same problem by the same user after an earlier issue. Negative.","author":"face2611","publisher":"GitHub — cloudflare/workers-sdk","date":"2025-10-03","claim_ids":["c17"],"accessed_at":"2026-07-26T06:04:24.487Z","prev":"18171a364782f28328220549bed5ca7ae08010d75a0f477ce19359277489b820","hash":"ee7496ac46caa6ca8444345a7244c2162cb1ca1c675228e3fcdea342608d00e7"},{"id":"p4","type":"github","url":"https://github.com/cloudflare/workers-sdk/issues/13406","title":"Browser Rendering /crawl API: Markdown converter incorrectly resolves root-relative image URLs","quote":"The `/crawl` endpoint's HTML-to-markdown converter incorrectly resolves root-relative image paths (paths starting with `/`) as page-relative paths, producing broken image URLs in the markdown output.","summary":"Crawled real sites with /crawl and found every root-relative image URL silently mangled in the markdown output while the html output is correct. The same converter bug was re-filed months later by another user as #14488. Negative — output correctness, not just uptime.","author":"matthew-sessions","publisher":"GitHub — cloudflare/workers-sdk","date":"2026-04-10","claim_ids":["c11"],"accessed_at":"2026-07-26T06:04:24.487Z","prev":"ee7496ac46caa6ca8444345a7244c2162cb1ca1c675228e3fcdea342608d00e7","hash":"6ef0088fc002300120fe35201aca2cba6f41dc685d70b20c58c28a97f43d8bff"},{"id":"p5","type":"hn","url":"https://hn.algolia.com/api/v1/items/44788890","title":"Perplexity is using stealth, undeclared crawlers to evade no-crawl directives","quote":"PS: perplexity is using cloudflare browser rendering to scrape websites","summary":"First-hand observation that Perplexity itself uses Cloudflare Browser Rendering for scraping — evidence the product is used at commercial scale for exactly the fetch-what-plain-HTTP-cannot-reach job. Neutral-positive.","author":"dhanushreddy29","publisher":"Hacker News","date":"2025-08-04","claim_ids":["c10"],"accessed_at":"2026-07-26T06:04:24.487Z","prev":"6ef0088fc002300120fe35201aca2cba6f41dc685d70b20c58c28a97f43d8bff","hash":"acec405989ca4077ce5b79f08d8997e85f53714239ac3c8e6286d564dbbd764e"},{"id":"p6","type":"hn","url":"https://hn.algolia.com/api/v1/items/47348398","title":"Cloudflare crawl endpoint","quote":"I built a CLI wrapper for the Browser Rendering REST API — covers all 9 endpoints including /crawl. Two Bun scripts, zero dependencies","summary":"Built and published a zero-dependency CLI covering all nine Browser Rendering REST endpoints (render, screenshot, PDF, scrape, AI extraction, multi-page crawl). Positive — someone exercising the full API surface in practice.","author":"nathanhouse","publisher":"Hacker News","date":"2026-03-12","claim_ids":["c15"],"accessed_at":"2026-07-26T06:04:24.487Z","prev":"acec405989ca4077ce5b79f08d8997e85f53714239ac3c8e6286d564dbbd764e","hash":"96077df1855503ba78fd9049a5b3f0dc5e9fe1802376806150454e8f396530d3"},{"id":"p7","type":"hn","url":"https://hn.algolia.com/api/v1/items/47572417","title":"ChatGPT won't let you type until Cloudflare reads your React state","quote":"hence i am just using cloudflare remote browser rendering.","summary":"Moving to a 'no browser' model where content is distilled to markdown pulled from Cloudflare's browser rendering rather than fetched directly, precisely because bot-protection makes plain fetch unworkable. Positive on the use case, sour on why it is necessary.","author":"lukewarm707","publisher":"Hacker News","date":"2026-03-30","claim_ids":["c10"],"accessed_at":"2026-07-26T06:04:24.487Z","prev":"96077df1855503ba78fd9049a5b3f0dc5e9fe1802376806150454e8f396530d3","hash":"1bd4eb78e77d33b30a9206c01e90e57f6626420177ad71635357bcaa65067442"},{"id":"r1","type":"runtime_receipt","url":"https://miscsubjects.com/api/articles/cloudflare-os-browser","title":"Fresh first-party Browser Run /markdown receipt","quote":"Status 200; X-Browser-Ms-Used 207.706 ms; client elapsed 1418 ms.","summary":"Authenticated production Browser Run request against example.com; credential omitted; returned Markdown contained the expected heading.","publisher":"miscsubjects.com","date":"2026-07-26","claim_ids":["c5"],"accessed_at":"2026-07-26T06:04:24.487Z","prev":"1bd4eb78e77d33b30a9206c01e90e57f6626420177ad71635357bcaa65067442","hash":"25b8ab523560bac4a08d7679c206a53179161d014df90ebaad22d133508e63e0"}]}