| [ Web Proxy ] |
| Viewing: https://www.cloudflare.com/products/browser-rendering/ | [Back] [Original] |
Browser Run
Scale to thousands of browsers
Instant access to a global pool of browsers with low cold-start time ideal for screenshotting, extracting structured data, or automation at scale.
Global by Default
Runs on Cloudflare's global network, opening browser sessions close to users for better speed and availability.
Easy to Integrate
REST APIs for common actions, and works with Playwright and Puppeteer, the best-in-class browser automation libraries
Deployed on Cloudflare's network. Enables faster cold starts and lower latency across use cases.
Browser Rendering offers easy, fast setup for tasks like screenshotting, extracting content, generating PDFs, snapshotting and capturing structured data with JSON or markdown for AI.
Playwright & Puppeteer support. Gives developers full control when needed with standard automation tools.
Identifies itself as a bot using cryptographic signatures. Ensures compliant, ethical scraping distinguishes Cloudflare from competitors that bypass bot protections.
[Background Pattern] Browser Run You can use Browser Rendering to:
View docsCreate website thumbnails and social previews using the /screenshot REST API
Generate visual previews for websites and social media sharingPower AI agents that need browser-based automation where APIs don't exist
Enable AI agents to interact with web pages and extract dataGenerate PDFs from webpages and HTML content using the /pdf REST API
Convert web content to PDF format for documents and reportsEliminate the need to manage complex browser infrastructure by running browser-based tasks like screenshots and PDF generation on Cloudflare's global network.
[Background Pattern] curl -X POST 'https://api.cloudflare.com/client/v4/accounts/<accountId>/browser-rendering/screenshot' \ -H 'Authorization: Bearer <apiToken>' \ -H 'Content-Type: application/json' \ -d '{ "html": "Hello World!", "screenshotOptions": { "omitBackground": true } }' \ --output "screenshot.png"import { launch, type BrowserWorker } from '@cloudflare/playwright';
interface Env { MYBROWSER: BrowserWorker;}
export default { async fetch(request: Request, env: Env) { const browser = await launch(env.MYBROWSER); const page = await browser.newPage();
await page.goto('https://demo.playwright.dev/todomvc');
const TODO_ITEMS = [ 'buy some cheese', 'feed the cat', 'book a doctors appointment', ];
const newTodo = page.getByPlaceholder('What needs to be done?'); for (const item of TODO_ITEMS) { await newTodo.fill(item); await newTodo.press('Enter'); }
const img = await page.screenshot(); await browser.close();
return new Response(img, { headers: { 'Content-Type': 'image/png', }, }); },};curl -X 'POST' 'https://api.cloudflare.com/client/v4/accounts/<accountId>/browser-rendering/markdown' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer <apiToken>' \ -d '{ "url": "https://example.com"}'Generate screenshots
Take screenshots of web pages using the REST API or Workers bindings. See docs.Run Playwright for powering agentic workflows
Use Playwright to automate complex browser interactions for AI agents. See docs.Retrieve webpage and generate markdown for AI consumption
Extract content from web pages and convert to markdown format for AI processing. See docs.Lovable
Join thousands of developers who've eliminated infrastructure complexity and deployed globally with Cloudflare. Start building for free no credit card required.
| Web Proxy Viewer | New URL | Original Page |