Changelog
This is a detailed changelog of every update to Browser Rendering. For a higher-level summary of major updates to every Cloudflare product, including Browser Rendering, visit developers.cloudflare.com/changelog.
New REST API endpoint: /crawl (Beta)
- Added the
/crawlendpoint (beta) to the REST API. The/crawlendpoint scrapes content from a starting URL and follows links across the site, up to a configurable depth or page limit. Responses can be returned as HTML, Markdown, or structured JSON (powered by Workers AI).
Increased REST API rate limits
- Increased REST API rate limits for Workers Paid plans from 180 requests per minute (3 per second) to 600 requests per minute (10 per second). No action is needed to benefit from the higher limits.
New tutorial: Generate OG images for Astro sites
- Added a new tutorial on how to generate OG images for Astro sites using Browser Rendering. The tutorial walks through creating an Astro template, using Browser Rendering to screenshot it as a PNG, and serving the generated images.
Documentation updates for robots.txt and sitemaps
- Added robots.txt and sitemaps reference page with guidance on configuring robots.txt and sitemaps for sites accessed by Browser Rendering, including sitemap index files and caching headers.
@cloudflare/playwright v1.1.1 released
- Released version 1.1.1 of
@cloudflare/playwright, which includes a bug fix that resolves a chunking issue that could occur when generating large PDFs. Upgrade to this version to avoid this issue.
@cloudflare/puppeteer v1.0.6 released
- Released version 1.0.6 of
@cloudflare/puppeteer, which includes a fix for rendering large text PDFs.
@cloudflare/puppeteer v1.0.5 released
- Released version 1.0.5 of
@cloudflare/puppeteer, which includes a performance optimization for base64 decoding.
@cloudflare/playwright v1.1.0 released
- Released version 1.1.0 of
@cloudflare/playwright, now upgraded to Playwright v1.57.0.
Bug fixes for JSON endpoint, waitForSelector timeout, and WebSocket rendering
- Updated the
/jsonendpoint fallback model and improved error handling for when plan limits of Workers Free plan users are reached. - REST API requests using
waitForSelectorwill now correctly fail if the specified selector is not found within the time limit. - Fixed an issue where pages using WebSockets were not rendering correctly.
Added guidance on allowlisting Browser Rendering in Bot Management
- Added FAQ guidance on how to create a WAF skip rule to allowlist Browser Rendering requests when using Bot Management on your zone.
Improved AI JSON response parsing and debugging
- Added
rawAiResponsefield to/jsonendpoint error responses, allowing you to inspect the unparsed AI output when JSON parsing fails for easier debugging. - Improved AI response handling to better distinguish between valid JSON objects, arrays, and invalid payloads, increasing type safety and reliability.
Added guidance on REST API timeouts and custom fonts
- Added REST API timeouts page explaining how Browser Rendering uses independent timers (for page load, selectors, and actions) and how to configure them.
- Updated Supported fonts guide with instructions on using your own custom fonts via
addStyleTag()in Playwright or Puppeteer.
Updates to Playwright, new support for Stagehand, and increased limits
- Playwright support in Browser Rendering is now GA. We've upgraded to Playwright v1.55.
- Added support for Stagehand, an open source browser automation framework, powered by Workers AI. Stagehand enables developers to build more reliably and flexibly by combining code with natural-language instructions.
- Increased limits for paid plans on both the REST API and Workers Bindings.
Added `excludeExternalLinks` parameter to `/links` REST endpoint
- Added
excludeExternalLinksparameter when using the/linksendpoint. When set totrue, links pointing to outside the domain of the requested URL are excluded.
Added `X-Browser-Ms-Used` response header
- Each REST API response now includes the
X-Browser-Ms-Usedresponse header, which reports the browser time (in milliseconds) used by the request.
Browser Rendering billing goes live
- Billing for Browser Rendering begins today, August 20th, 2025. See pricing page for full details. You can monitor usage via the Cloudflare dashboard.
Wrangler updates to local dev
- Improved the local development experience by updating the method for downloading the dev mode browser and added support for
/v1/sessionsendpoint, allowing you to list open browser rendering sessions. Upgrade towrangler@4.31.0to get started.
Updates to Playwright, local dev support, and REST API
- Playwright upgraded to Playwright v1.54.1 and Playwright MCP upgraded to be in sync with upstream Playwright MCP v0.0.30.
- Local development with
npx wrangler devnow supports Playwright when using Browser Rendering. Upgrade to the latest version of wrangler to get started. - The
/contentendpoint now returns the page's title, making it easier to identify pages. - The
/jsonendpoint now allows you to specify your own AI model for the extraction, using thecustom_aiparameter. - The default viewport size on the
/screenshotendpoint has been increased from 800x600 to 1920x1080. You can still override the viewport via request options.
@cloudflare/puppeteer 1.0.4 released
- We have released version 1.0.4 of
@cloudflare/puppeteer, now in sync with Puppeteer v22.13.1.
Playwright now supported in local development
- You can now use Playwright with local development. Upgrade to wrangler@4.26.0 to get started.
Pricing update to Browser Rendering
- Billing for Browser Rendering starts on August 20, 2025, with usage beyond the included limits charged according to the new pricing rates.
Local development support
- We added local development support to Browser Rendering, making it simpler than ever to test and iterate before deploying.
New Web Bot Auth headers
- Browser Rendering now supports Web Bot Auth by automatically attaching
Signature-agent,Signature, andSignature-inputheaders to verify that a request originates from Cloudflare Browser Rendering.
Bug fix to debug log noise in Workers
- Fixed an issue where all debug logging was on by default and would flood logs. Debug logs is now off by default but can be re-enabled by setting
process.env.DEBUGwhen needed.
Playwright MCP
- You can now deploy Playwright MCP and use any MCP client to get AI models to interact with Browser Rendering.
Automatic Request Headers
- Clarified Automatic Request headers in Browser Rendering. These headers are unique to Browser Rendering, and are automatically included and cannot be removed or overridden.
Playwright support
- You can now use Playwright's browser automation capabilities from Cloudflare Workers.
New Browser Rendering REST API
- Released a new REST API in open beta. Available to all customers with a Workers Paid Plan.
Increased limits
- Increased the limits on the number of concurrent browsers, and browsers per minute from 2 to 10.
Update puppeteer to 21.1.0
- Rebased the fork on the original implementation up till version 21.1.0
Browser Rendering Available for everyone
- Browser Rendering is now out of beta and available to all customers with Workers Paid Plan. Analytics and logs are available in Cloudflare's dashboard, under "Worker & Pages".